/* Generated by Cython 0.29.10 */

#define PY_SSIZE_T_CLEAN
#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 < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
    #error Cython requires Python 2.6+ or Python 3.3+.
#else
#define CYTHON_ABI "0_29_10"
#define CYTHON_HEX_VERSION 0x001D0AF0
#define CYTHON_FUTURE_DIVISION 1
#include <stddef.h>
#ifndef offsetof
  #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
#endif
#if !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 HAVE_LONG_LONG
  #if PY_VERSION_HEX >= 0x02070000
    #define HAVE_LONG_LONG
  #endif
#endif
#ifndef PY_LONG_LONG
  #define PY_LONG_LONG LONG_LONG
#endif
#ifndef Py_HUGE_VAL
  #define Py_HUGE_VAL HUGE_VAL
#endif
#ifdef PYPY_VERSION
  #define CYTHON_COMPILING_IN_PYPY 1
  #define CYTHON_COMPILING_IN_PYSTON 0
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #undef CYTHON_USE_TYPE_SLOTS
  #define CYTHON_USE_TYPE_SLOTS 0
  #undef CYTHON_USE_PYTYPE_LOOKUP
  #define CYTHON_USE_PYTYPE_LOOKUP 0
  #if PY_VERSION_HEX < 0x03050000
    #undef CYTHON_USE_ASYNC_SLOTS
    #define CYTHON_USE_ASYNC_SLOTS 0
  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
    #define CYTHON_USE_ASYNC_SLOTS 1
  #endif
  #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_ASSUME_SAFE_MACROS
  #define CYTHON_ASSUME_SAFE_MACROS 0
  #undef CYTHON_UNPACK_METHODS
  #define CYTHON_UNPACK_METHODS 0
  #undef CYTHON_FAST_THREAD_STATE
  #define CYTHON_FAST_THREAD_STATE 0
  #undef CYTHON_FAST_PYCALL
  #define CYTHON_FAST_PYCALL 0
  #undef CYTHON_PEP489_MULTI_PHASE_INIT
  #define CYTHON_PEP489_MULTI_PHASE_INIT 0
  #undef CYTHON_USE_TP_FINALIZE
  #define CYTHON_USE_TP_FINALIZE 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
#elif defined(PYSTON_VERSION)
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_PYSTON 1
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #ifndef CYTHON_USE_TYPE_SLOTS
    #define CYTHON_USE_TYPE_SLOTS 1
  #endif
  #undef CYTHON_USE_PYTYPE_LOOKUP
  #define CYTHON_USE_PYTYPE_LOOKUP 0
  #undef CYTHON_USE_ASYNC_SLOTS
  #define CYTHON_USE_ASYNC_SLOTS 0
  #undef CYTHON_USE_PYLIST_INTERNALS
  #define CYTHON_USE_PYLIST_INTERNALS 0
  #ifndef CYTHON_USE_UNICODE_INTERNALS
    #define CYTHON_USE_UNICODE_INTERNALS 1
  #endif
  #undef CYTHON_USE_UNICODE_WRITER
  #define CYTHON_USE_UNICODE_WRITER 0
  #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_ASSUME_SAFE_MACROS
    #define CYTHON_ASSUME_SAFE_MACROS 1
  #endif
  #ifndef CYTHON_UNPACK_METHODS
    #define CYTHON_UNPACK_METHODS 1
  #endif
  #undef CYTHON_FAST_THREAD_STATE
  #define CYTHON_FAST_THREAD_STATE 0
  #undef CYTHON_FAST_PYCALL
  #define CYTHON_FAST_PYCALL 0
  #undef CYTHON_PEP489_MULTI_PHASE_INIT
  #define CYTHON_PEP489_MULTI_PHASE_INIT 0
  #undef CYTHON_USE_TP_FINALIZE
  #define CYTHON_USE_TP_FINALIZE 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
#else
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_PYSTON 0
  #define CYTHON_COMPILING_IN_CPYTHON 1
  #ifndef CYTHON_USE_TYPE_SLOTS
    #define CYTHON_USE_TYPE_SLOTS 1
  #endif
  #if PY_VERSION_HEX < 0x02070000
    #undef CYTHON_USE_PYTYPE_LOOKUP
    #define CYTHON_USE_PYTYPE_LOOKUP 0
  #elif !defined(CYTHON_USE_PYTYPE_LOOKUP)
    #define CYTHON_USE_PYTYPE_LOOKUP 1
  #endif
  #if PY_MAJOR_VERSION < 3
    #undef CYTHON_USE_ASYNC_SLOTS
    #define CYTHON_USE_ASYNC_SLOTS 0
  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
    #define CYTHON_USE_ASYNC_SLOTS 1
  #endif
  #if PY_VERSION_HEX < 0x02070000
    #undef CYTHON_USE_PYLONG_INTERNALS
    #define CYTHON_USE_PYLONG_INTERNALS 0
  #elif !defined(CYTHON_USE_PYLONG_INTERNALS)
    #define CYTHON_USE_PYLONG_INTERNALS 1
  #endif
  #ifndef CYTHON_USE_PYLIST_INTERNALS
    #define CYTHON_USE_PYLIST_INTERNALS 1
  #endif
  #ifndef CYTHON_USE_UNICODE_INTERNALS
    #define CYTHON_USE_UNICODE_INTERNALS 1
  #endif
  #if PY_VERSION_HEX < 0x030300F0
    #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
  #ifndef CYTHON_ASSUME_SAFE_MACROS
    #define CYTHON_ASSUME_SAFE_MACROS 1
  #endif
  #ifndef CYTHON_UNPACK_METHODS
    #define CYTHON_UNPACK_METHODS 1
  #endif
  #ifndef CYTHON_FAST_THREAD_STATE
    #define CYTHON_FAST_THREAD_STATE 1
  #endif
  #ifndef CYTHON_FAST_PYCALL
    #define CYTHON_FAST_PYCALL 1
  #endif
  #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
    #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000)
  #endif
  #ifndef CYTHON_USE_TP_FINALIZE
    #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1)
  #endif
  #ifndef CYTHON_USE_DICT_VERSIONS
    #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1)
  #endif
  #ifndef CYTHON_USE_EXC_INFO_STACK
    #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3)
  #endif
#endif
#if !defined(CYTHON_FAST_PYCCALL)
#define CYTHON_FAST_PYCCALL  (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)
#endif
#if CYTHON_USE_PYLONG_INTERNALS
  #include "longintrepr.h"
  #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(__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_MAYBE_UNUSED_VAR
#  if defined(__cplusplus)
     template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { }
#  else
#    define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x)
#  endif
#endif
#ifndef CYTHON_NCP_UNUSED
# if CYTHON_COMPILING_IN_CPYTHON
#  define CYTHON_NCP_UNUSED
# else
#  define CYTHON_NCP_UNUSED CYTHON_UNUSED
# endif
#endif
#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
#ifdef _MSC_VER
    #ifndef _MSC_STDINT_H_
        #if _MSC_VER < 1300
           typedef unsigned char     uint8_t;
           typedef unsigned int      uint32_t;
        #else
           typedef unsigned __int8   uint8_t;
           typedef unsigned __int32  uint32_t;
        #endif
    #endif
#else
   #include <stdint.h>
#endif
#ifndef CYTHON_FALLTHROUGH
  #if defined(__cplusplus) && __cplusplus >= 201103L
    #if __has_cpp_attribute(fallthrough)
      #define CYTHON_FALLTHROUGH [[fallthrough]]
    #elif __has_cpp_attribute(clang::fallthrough)
      #define CYTHON_FALLTHROUGH [[clang::fallthrough]]
    #elif __has_cpp_attribute(gnu::fallthrough)
      #define CYTHON_FALLTHROUGH [[gnu::fallthrough]]
    #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 __cplusplus
  #error "Cython files generated with the C++ option must be compiled with a C++ compiler."
#endif
#ifndef CYTHON_INLINE
  #if defined(__clang__)
    #define CYTHON_INLINE __inline__ __attribute__ ((__unused__))
  #else
    #define CYTHON_INLINE inline
  #endif
#endif
template<typename T>
void __Pyx_call_destructor(T& x) {
    x.~T();
}
template<typename T>
class __Pyx_FakeReference {
  public:
    __Pyx_FakeReference() : ptr(NULL) { }
    __Pyx_FakeReference(const T& ref) : ptr(const_cast<T*>(&ref)) { }
    T *operator->() { return ptr; }
    T *operator&() { return ptr; }
    operator T&() { return *ptr; }
    template<typename U> bool operator ==(U other) { return *ptr == other; }
    template<typename U> bool operator !=(U other) { return *ptr != other; }
  private:
    T *ptr;
};

#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)
  #define Py_OptimizeFlag 0
#endif
#define __PYX_BUILD_PY_SSIZE_T "n"
#define CYTHON_FORMAT_SSIZE_T "z"
#if PY_MAJOR_VERSION < 3
  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
  #define __Pyx_PyCode_New(a, 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)
  #define __Pyx_DefaultClassType PyClass_Type
#else
  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
#if PY_VERSION_HEX < 0x030800A4
  #define __Pyx_PyCode_New(a, 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)
#else
  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
          PyCode_New(a, 0, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
#endif
  #define __Pyx_DefaultClassType PyType_Type
#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 METH_STACKLESS
  #define METH_STACKLESS 0
#endif
#if PY_VERSION_HEX <= 0x030700A3 || !defined(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
  #define __Pyx_PyCFunctionFast _PyCFunctionFast
  #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
#endif
#if CYTHON_FAST_PYCCALL
#define __Pyx_PyFastCFunction_Check(func)\
    ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)))))
#else
#define __Pyx_PyFastCFunction_Check(func) 0
#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_CPYTHON && PY_VERSION_HEX < 0x030400A1
  #define PyMem_RawMalloc(n)           PyMem_Malloc(n)
  #define PyMem_RawRealloc(p, n)       PyMem_Realloc(p, n)
  #define PyMem_RawFree(p)             PyMem_Free(p)
#endif
#if CYTHON_COMPILING_IN_PYSTON
  #define __Pyx_PyCode_HasFreeVars(co)  PyCode_HasFreeVars(co)
  #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_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000
  #define __Pyx_PyThreadState_Current PyThreadState_GET()
#elif PY_VERSION_HEX >= 0x03060000
  #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
#elif PY_VERSION_HEX >= 0x03000000
  #define __Pyx_PyThreadState_Current PyThreadState_GET()
#else
  #define __Pyx_PyThreadState_Current _PyThreadState_Current
#endif
#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT)
#include "pythread.h"
#define Py_tss_NEEDS_INIT 0
typedef int Py_tss_t;
static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) {
  *key = PyThread_create_key();
  return 0;
}
static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) {
  Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t));
  *key = Py_tss_NEEDS_INIT;
  return key;
}
static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) {
  PyObject_Free(key);
}
static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) {
  return *key != Py_tss_NEEDS_INIT;
}
static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) {
  PyThread_delete_key(*key);
  *key = Py_tss_NEEDS_INIT;
}
static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) {
  return PyThread_set_key_value(*key, value);
}
static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
  return PyThread_get_key_value(*key);
}
#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
#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION
  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
#else
  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS
#define __Pyx_PyDict_GetItemStr(dict, name)  _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
#else
#define __Pyx_PyDict_GetItemStr(dict, name)  PyDict_GetItem(dict, name)
#endif
#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
  #define CYTHON_PEP393_ENABLED 1
  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ?\
                                              0 : _PyUnicode_Ready((PyObject *)(op)))
  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
  #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)         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, ch)
  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
#else
  #define CYTHON_PEP393_ENABLED 0
  #define PyUnicode_1BYTE_KIND  1
  #define PyUnicode_2BYTE_KIND  2
  #define PyUnicode_4BYTE_KIND  4
  #define __Pyx_PyUnicode_READY(op)       (0)
  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111)
  #define __Pyx_PyUnicode_KIND(u)         (sizeof(Py_UNICODE))
  #define __Pyx_PyUnicode_DATA(u)         ((void*)PyUnicode_AS_UNICODE(u))
  #define __Pyx_PyUnicode_READ(k, d, i)   ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
  #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  (((void)(k)), ((Py_UNICODE*)d)[i] = ch)
  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_SIZE(u))
#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 && !defined(PyUnicode_Contains)
  #define PyUnicode_Contains(u, s)  PySequence_Contains(u, s)
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check)
  #define PyByteArray_Check(obj)  PyObject_TypeCheck(obj, &PyByteArray_Type)
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format)
  #define PyObject_Format(obj, fmt)  PyObject_CallMethod(obj, "__format__", "O", fmt)
#endif
#define __Pyx_PyString_FormatSafe(a, b)   ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))
#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 PY_MAJOR_VERSION >= 3
  #define __Pyx_PyString_Format(a, b)  PyUnicode_Format(a, b)
#else
  #define __Pyx_PyString_Format(a, b)  PyString_Format(a, b)
#endif
#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII)
  #define PyObject_ASCII(o)            PyObject_Repr(o)
#endif
#if PY_MAJOR_VERSION >= 3
  #define PyBaseString_Type            PyUnicode_Type
  #define PyStringObject               PyUnicodeObject
  #define PyString_Type                PyUnicode_Type
  #define PyString_Check               PyUnicode_Check
  #define PyString_CheckExact          PyUnicode_CheckExact
  #define PyObject_Unicode             PyObject_Str
#endif
#if PY_MAJOR_VERSION >= 3
  #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)
  #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)
#else
  #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj))
  #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj))
#endif
#ifndef PySet_CheckExact
  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
#endif
#if CYTHON_ASSUME_SAFE_MACROS
  #define __Pyx_PySequence_SIZE(seq)  Py_SIZE(seq)
#else
  #define __Pyx_PySequence_SIZE(seq)  PySequence_Size(seq)
#endif
#if PY_MAJOR_VERSION >= 3
  #define PyIntObject                  PyLongObject
  #define PyInt_Type                   PyLong_Type
  #define PyInt_Check(op)              PyLong_Check(op)
  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
  #define PyInt_FromString             PyLong_FromString
  #define PyInt_FromUnicode            PyLong_FromUnicode
  #define PyInt_FromLong               PyLong_FromLong
  #define PyInt_FromSize_t             PyLong_FromSize_t
  #define PyInt_FromSsize_t            PyLong_FromSsize_t
  #define PyInt_AsLong                 PyLong_AsLong
  #define PyInt_AS_LONG                PyLong_AS_LONG
  #define PyInt_AsSsize_t              PyLong_AsSsize_t
  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
  #define PyNumber_Int                 PyNumber_Long
#endif
#if PY_MAJOR_VERSION >= 3
  #define PyBoolObject                 PyLongObject
#endif
#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY
  #ifndef PyUnicode_InternFromString
    #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
  #endif
#endif
#if PY_VERSION_HEX < 0x030200A4
  typedef long Py_hash_t;
  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
#else
  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
#endif
#if PY_MAJOR_VERSION >= 3
  #define __Pyx_PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : (Py_INCREF(func), func))
#else
  #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass)
#endif
#if CYTHON_USE_ASYNC_SLOTS
  #if PY_VERSION_HEX >= 0x030500B1
    #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
    #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async)
  #else
    #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved))
  #endif
#else
  #define __Pyx_PyType_AsAsync(obj) NULL
#endif
#ifndef __Pyx_PyAsyncMethodsStruct
    typedef struct {
        unaryfunc am_await;
        unaryfunc am_aiter;
        unaryfunc am_anext;
    } __Pyx_PyAsyncMethodsStruct;
#endif

#if defined(WIN32) || defined(MS_WINDOWS)
  #define _USE_MATH_DEFINES
#endif
#include <math.h>
#ifdef NAN
#define __PYX_NAN() ((float) NAN)
#else
static CYTHON_INLINE float __PYX_NAN() {
  float value;
  memset(&value, 0xFF, sizeof(value));
  return value;
}
#endif
#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)
#define __Pyx_truncl trunc
#else
#define __Pyx_truncl truncl
#endif


#define __PYX_ERR(f_index, lineno, Ln_error) \
{ \
  __pyx_filename = __pyx_f[f_index]; __pyx_lineno = lineno; __pyx_clineno = __LINE__; goto Ln_error; \
}

#ifndef __PYX_EXTERN_C
  #ifdef __cplusplus
    #define __PYX_EXTERN_C extern "C"
  #else
    #define __PYX_EXTERN_C extern
  #endif
#endif

#define __PYX_HAVE__networkit___NetworKit
#define __PYX_HAVE_API__networkit___NetworKit
/* Early includes */
#include <stdint.h>
#include "ios"
#include "new"
#include "stdexcept"
#include "typeinfo"
#include <vector>
#include <utility>
#include <map>
#include <set>
#include <stack>
#include <string.h>
#include <string>
#include <unordered_set>
#include <unordered_map>
#include <algorithm>
#include <networkit/Globals.hpp>
#include <networkit/auxiliary/Parallel.hpp>
#include "cython_helper.h"
#include <networkit/base/Algorithm.hpp>
#include <networkit/generators/StaticGraphGenerator.hpp>
#include <networkit/auxiliary/Log.hpp>
#include <networkit/auxiliary/Parallelism.hpp>
#include <networkit/auxiliary/Random.hpp>
#include <networkit/viz/Point.hpp>
#include <networkit/graph/Graph.hpp>
#include <networkit/distance/STSP.hpp>
#include <networkit/distance/BidirectionalBFS.hpp>
#include <networkit/distance/BidirectionalDijkstra.hpp>
#include <networkit/distance/AStar.hpp>
#include <networkit/distance/SSSP.hpp>
#include <networkit/distance/DynSSSP.hpp>
#include <networkit/distance/BFS.hpp>
#include <networkit/distance/DynBFS.hpp>
#include <networkit/distance/ReverseBFS.hpp>
#include <networkit/distance/Dijkstra.hpp>
#include <networkit/distance/DynDijkstra.hpp>
#include <networkit/distance/AllSimplePaths.hpp>
#include <networkit/distance/APSP.hpp>
#include <networkit/distance/DynAPSP.hpp>
#include <networkit/graph/SpanningForest.hpp>
#include <networkit/graph/UnionMaximumSpanningForest.hpp>
#include <networkit/graph/RandomMaximumSpanningForest.hpp>
#include <networkit/independentset/Luby.hpp>
#include <networkit/generators/BarabasiAlbertGenerator.hpp>
#include <networkit/generators/PubWebGenerator.hpp>
#include <networkit/generators/ErdosRenyiGenerator.hpp>
#include <networkit/generators/DorogovtsevMendesGenerator.hpp>
#include <networkit/generators/RegularRingLatticeGenerator.hpp>
#include <networkit/generators/WattsStrogatzGenerator.hpp>
#include <networkit/generators/ClusteredRandomGraphGenerator.hpp>
#include <networkit/generators/ChungLuGenerator.hpp>
#include <networkit/generators/HavelHakimiGenerator.hpp>
#include <networkit/generators/EdgeSwitchingMarkovChainGenerator.hpp>
#include <networkit/generators/HyperbolicGenerator.hpp>
#include <networkit/generators/MocnikGenerator.hpp>
#include <networkit/generators/MocnikGeneratorBasic.hpp>
#include <networkit/generators/RmatGenerator.hpp>
#include <networkit/generators/PowerlawDegreeSequence.hpp>
#include <networkit/generators/LFRGenerator.hpp>
#include <networkit/io/GraphReader.hpp>
#include <networkit/io/GraphWriter.hpp>
#include <networkit/io/METISGraphReader.hpp>
#include <networkit/io/NetworkitBinaryReader.hpp>
#include <networkit/io/NetworkitBinaryWriter.hpp>
#include <networkit/io/GraphToolBinaryReader.hpp>
#include <networkit/io/ThrillGraphBinaryReader.hpp>
#include <networkit/io/ThrillGraphBinaryWriter.hpp>
#include <networkit/io/EdgeListReader.hpp>
#include <networkit/io/KONECTGraphReader.hpp>
#include <networkit/io/GMLGraphReader.hpp>
#include <networkit/io/METISGraphWriter.hpp>
#include <networkit/io/GraphToolBinaryWriter.hpp>
#include <networkit/io/DotGraphWriter.hpp>
#include <networkit/io/GMLGraphWriter.hpp>
#include <networkit/io/EdgeListWriter.hpp>
#include <networkit/io/LineFileReader.hpp>
#include <networkit/io/SNAPGraphWriter.hpp>
#include <networkit/io/SNAPGraphReader.hpp>
#include <networkit/io/PartitionReader.hpp>
#include <networkit/io/PartitionWriter.hpp>
#include <networkit/io/BinaryPartitionReader.hpp>
#include <networkit/io/BinaryPartitionWriter.hpp>
#include <networkit/io/EdgeListPartitionReader.hpp>
#include <networkit/io/BinaryEdgeListPartitionReader.hpp>
#include <networkit/io/BinaryEdgeListPartitionWriter.hpp>
#include <networkit/io/SNAPEdgeListPartitionReader.hpp>
#include <networkit/io/CoverReader.hpp>
#include <networkit/io/CoverWriter.hpp>
#include <networkit/io/EdgeListCoverReader.hpp>
#include <networkit/structures/Partition.hpp>
#include <networkit/structures/Cover.hpp>
#include <networkit/community/ClusteringGenerator.hpp>
#include <networkit/community/GraphClusteringTools.hpp>
#include <networkit/graph/BFS.hpp>
#include <networkit/graph/DFS.hpp>
#include <networkit/graph/GraphTools.hpp>
#include <networkit/community/PartitionIntersection.hpp>
#include <networkit/community/Coverage.hpp>
#include <networkit/community/EdgeCut.hpp>
#include <networkit/community/Modularity.hpp>
#include <networkit/community/HubDominance.hpp>
#include <networkit/community/CommunityDetectionAlgorithm.hpp>
#include <networkit/community/PLP.hpp>
#include <networkit/community/LPDegreeOrdered.hpp>
#include <networkit/community/PLM.hpp>
#include <networkit/community/CutClustering.hpp>
#include <networkit/community/NodeStructuralRandMeasure.hpp>
#include <networkit/community/GraphStructuralRandMeasure.hpp>
#include <networkit/community/JaccardMeasure.hpp>
#include <networkit/community/NMIDistance.hpp>
#include <networkit/community/AdjustedRandMeasure.hpp>
#include <networkit/community/LocalCommunityEvaluation.hpp>
#include <networkit/community/LocalPartitionEvaluation.hpp>
#include <networkit/community/LocalCoverEvaluation.hpp>
#include <networkit/community/IntrapartitionDensity.hpp>
#include <networkit/community/IsolatedInterpartitionConductance.hpp>
#include <networkit/community/IsolatedInterpartitionExpansion.hpp>
#include <networkit/community/CoverHubDominance.hpp>
#include <networkit/community/PartitionHubDominance.hpp>
#include <networkit/community/PartitionFragmentation.hpp>
#include <networkit/community/StablePartitionNodes.hpp>
#include <networkit/community/CoverF1Similarity.hpp>
#include <networkit/flow/EdmondsKarp.hpp>
#include <networkit/components/ConnectedComponents.hpp>
#include <networkit/components/ParallelConnectedComponents.hpp>
#include <networkit/components/StronglyConnectedComponents.hpp>
#include <networkit/components/WeaklyConnectedComponents.hpp>
#include <networkit/components/BiconnectedComponents.hpp>
#include <networkit/components/DynConnectedComponents.hpp>
#include <networkit/components/DynWeaklyConnectedComponents.hpp>
#include <networkit/global/ClusteringCoefficient.hpp>
#include <networkit/distance/Diameter.hpp>
#include <networkit/distance/Eccentricity.hpp>
#include <networkit/distance/EffectiveDiameter.hpp>
#include <networkit/distance/EffectiveDiameterApproximation.hpp>
#include <networkit/distance/HopPlotApproximation.hpp>
#include <networkit/distance/NeighborhoodFunction.hpp>
#include <networkit/distance/NeighborhoodFunctionApproximation.hpp>
#include <networkit/distance/NeighborhoodFunctionHeuristic.hpp>
#include <networkit/correlation/Assortativity.hpp>
#include <networkit/centrality/Centrality.hpp>
#include <networkit/base/DynAlgorithm.hpp>
#include <networkit/centrality/TopCloseness.hpp>
#include <networkit/centrality/TopHarmonicCloseness.hpp>
#include <networkit/centrality/DynKatzCentrality.hpp>
#include <networkit/centrality/DynTopHarmonicCloseness.hpp>
#include <networkit/centrality/GroupDegree.hpp>
#include <networkit/centrality/GroupCloseness.hpp>
#include <networkit/centrality/DegreeCentrality.hpp>
#include <networkit/centrality/Betweenness.hpp>
#include <networkit/centrality/ApproxGroupBetweenness.hpp>
#include <networkit/centrality/Closeness.hpp>
#include <networkit/centrality/HarmonicCloseness.hpp>
#include <networkit/centrality/KPathCentrality.hpp>
#include <networkit/centrality/KatzCentrality.hpp>
#include <networkit/dynamics/GraphDifference.hpp>
#include <networkit/centrality/ApproxBetweenness.hpp>
#include <networkit/centrality/KadabraBetweenness.hpp>
#include <networkit/centrality/EstimateBetweenness.hpp>
#include <networkit/centrality/ApproxCloseness.hpp>
#include <networkit/centrality/PageRank.hpp>
#include <networkit/centrality/EigenvectorCentrality.hpp>
#include <networkit/centrality/CoreDecomposition.hpp>
#include <networkit/centrality/LocalClusteringCoefficient.hpp>
#include <networkit/centrality/Sfigality.hpp>
#include <networkit/centrality/DynApproxBetweenness.hpp>
#include <networkit/centrality/DynBetweenness.hpp>
#include <networkit/centrality/DynBetweennessOneNode.hpp>
#include <networkit/centrality/PermanenceCentrality.hpp>
#include <networkit/centrality/LocalPartitionCoverage.hpp>
#include <networkit/centrality/LaplacianCentrality.hpp>
#include <networkit/dynamics/GraphEvent.hpp>
#include <networkit/dynamics/DGSStreamParser.hpp>
#include <networkit/dynamics/DGSWriter.hpp>
#include <networkit/generators/DynamicPathGenerator.hpp>
#include <networkit/generators/DynamicDorogovtsevMendesGenerator.hpp>
#include <networkit/generators/DynamicPubWebGenerator.hpp>
#include <networkit/generators/DynamicHyperbolicGenerator.hpp>
#include <networkit/generators/DynamicForestFireGenerator.hpp>
#include <networkit/dynamics/GraphUpdater.hpp>
#include <networkit/coarsening/GraphCoarsening.hpp>
#include <networkit/coarsening/ParallelPartitionCoarsening.hpp>
#include <networkit/coarsening/MatchingCoarsening.hpp>
#include <networkit/scd/PageRankNibble.hpp>
#include <networkit/scd/GCE.hpp>
#include <networkit/clique/MaximalCliques.hpp>
#include <networkit/linkprediction/LinkPredictor.hpp>
#include <networkit/linkprediction/KatzIndex.hpp>
#include <networkit/linkprediction/CommonNeighborsIndex.hpp>
#include <networkit/linkprediction/PreferentialAttachmentIndex.hpp>
#include <networkit/distance/Volume.hpp>
#include <networkit/linkprediction/JaccardIndex.hpp>
#include <networkit/linkprediction/AdamicAdarIndex.hpp>
#include <networkit/linkprediction/UDegreeIndex.hpp>
#include <networkit/linkprediction/VDegreeIndex.hpp>
#include <networkit/linkprediction/AlgebraicDistanceIndex.hpp>
#include <networkit/linkprediction/NeighborhoodDistanceIndex.hpp>
#include <networkit/linkprediction/TotalNeighborsIndex.hpp>
#include <networkit/linkprediction/NeighborsMeasureIndex.hpp>
#include <networkit/linkprediction/SameCommunityIndex.hpp>
#include <networkit/linkprediction/AdjustedRandIndex.hpp>
#include <networkit/linkprediction/ResourceAllocationIndex.hpp>
#include <networkit/linkprediction/RandomLinkSampler.hpp>
#include <networkit/linkprediction/EvaluationMetric.hpp>
#include <networkit/linkprediction/ROCMetric.hpp>
#include <networkit/linkprediction/PrecisionRecallMetric.hpp>
#include <networkit/linkprediction/MissingLinksFinder.hpp>
#include <networkit/linkprediction/NeighborhoodUtility.hpp>
#include <networkit/linkprediction/LinkThresholder.hpp>
#include <networkit/linkprediction/PredictionsSorter.hpp>
#include <networkit/edgescores/EdgeScore.hpp>
#include <networkit/edgescores/ChibaNishizekiTriangleEdgeScore.hpp>
#include <networkit/edgescores/ChibaNishizekiQuadrangleEdgeScore.hpp>
#include <networkit/edgescores/TriangleEdgeScore.hpp>
#include <networkit/edgescores/EdgeScoreLinearizer.hpp>
#include <networkit/edgescores/EdgeScoreNormalizer.hpp>
#include <networkit/edgescores/EdgeScoreBlender.hpp>
#include <networkit/edgescores/GeometricMeanScore.hpp>
#include <networkit/edgescores/EdgeScoreAsWeight.hpp>
#include <networkit/distance/AdamicAdarDistance.hpp>
#include <networkit/sparsification/SimmelianOverlapScore.hpp>
#include <networkit/edgescores/PrefixJaccardScore.hpp>
#include <networkit/sparsification/MultiscaleScore.hpp>
#include <networkit/sparsification/RandomEdgeScore.hpp>
#include <networkit/sparsification/LocalSimilarityScore.hpp>
#include <networkit/sparsification/ForestFireScore.hpp>
#include <networkit/sparsification/LocalDegreeScore.hpp>
#include <networkit/distance/JaccardDistance.hpp>
#include <networkit/distance/AlgebraicDistance.hpp>
#include <networkit/sparsification/RandomNodeEdgeScore.hpp>
#include <networkit/sparsification/LocalFilterScore.hpp>
#include <networkit/sparsification/ChanceCorrectedTriangleScore.hpp>
#include <networkit/sparsification/SCANStructuralSimilarityScore.hpp>
#include <networkit/sparsification/GlobalThresholdFilter.hpp>
#include <networkit/matching/Matching.hpp>
#include <networkit/matching/Matcher.hpp>
#include <networkit/matching/PathGrowingMatcher.hpp>
#include <networkit/distance/CommuteTimeDistance.hpp>
#include <networkit/simulation/EpidemicSimulationSEIR.hpp>
#include <networkit/centrality/SpanningEdgeCentrality.hpp>
#include <networkit/viz/GraphLayoutAlgorithm.hpp>
#include <networkit/viz/MaxentStress.hpp>
#include <networkit/viz/PivotMDS.hpp>
#include <networkit/randomization/GlobalCurveball.hpp>
#include <networkit/randomization/CurveballUniformTradeGenerator.hpp>
#include <networkit/randomization/CurveballGlobalTradeGenerator.hpp>
#include <networkit/randomization/Curveball.hpp>
#include "../include/networkit/randomization/DegreePreservingShuffle.hpp"
#ifdef _OPENMP
#include <omp.h>
#endif /* _OPENMP */

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

typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;
                const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;

#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0
#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8)
#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 const char* __Pyx_PyObject_AsString(PyObject*);
static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
#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 PY_MAJOR_VERSION < 3
    #define __Pyx_PyStr_FromString        __Pyx_PyBytes_FromString
    #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
#else
    #define __Pyx_PyStr_FromString        __Pyx_PyUnicode_FromString
    #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
#endif
#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_PyObject_AsWritableString(s)    ((char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsWritableSString(s)    ((signed char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsWritableUString(s)    ((unsigned char*) __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_PyStr_FromCString(s)     __Pyx_PyStr_FromString((const char*)s)
#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) {
    const Py_UNICODE *u_end = u;
    while (*u_end++) ;
    return (size_t)(u_end - u - 1);
}
#define __Pyx_PyUnicode_FromUnicode(u)       PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u))
#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode
#define __Pyx_PyUnicode_AsUnicode            PyUnicode_AsUnicode
#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj)
#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)
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_IntOrLong(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_PyInt_FromSize_t(size_t);
#if CYTHON_ASSUME_SAFE_MACROS
#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
#else
#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
#endif
#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
#if PY_MAJOR_VERSION >= 3
#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))
#else
#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x))
#endif
#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x))
#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
static int __Pyx_sys_getdefaultencoding_not_ascii;
static int __Pyx_init_sys_getdefaultencoding_params(void) {
    PyObject* sys;
    PyObject* default_encoding = NULL;
    PyObject* ascii_chars_u = NULL;
    PyObject* ascii_chars_b = NULL;
    const char* default_encoding_c;
    sys = PyImport_ImportModule("sys");
    if (!sys) goto bad;
    default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL);
    Py_DECREF(sys);
    if (!default_encoding) goto bad;
    default_encoding_c = PyBytes_AsString(default_encoding);
    if (!default_encoding_c) goto bad;
    if (strcmp(default_encoding_c, "ascii") == 0) {
        __Pyx_sys_getdefaultencoding_not_ascii = 0;
    } else {
        char ascii_chars[128];
        int c;
        for (c = 0; c < 128; c++) {
            ascii_chars[c] = c;
        }
        __Pyx_sys_getdefaultencoding_not_ascii = 1;
        ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL);
        if (!ascii_chars_u) goto bad;
        ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL);
        if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) {
            PyErr_Format(
                PyExc_ValueError,
                "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.",
                default_encoding_c);
            goto bad;
        }
        Py_DECREF(ascii_chars_u);
        Py_DECREF(ascii_chars_b);
    }
    Py_DECREF(default_encoding);
    return 0;
bad:
    Py_XDECREF(default_encoding);
    Py_XDECREF(ascii_chars_u);
    Py_XDECREF(ascii_chars_b);
    return -1;
}
#endif
#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3
#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
#else
#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
static char* __PYX_DEFAULT_STRING_ENCODING;
static int __Pyx_init_sys_getdefaultencoding_params(void) {
    PyObject* sys;
    PyObject* default_encoding = NULL;
    char* default_encoding_c;
    sys = PyImport_ImportModule("sys");
    if (!sys) goto bad;
    default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
    Py_DECREF(sys);
    if (!default_encoding) goto bad;
    default_encoding_c = PyBytes_AsString(default_encoding);
    if (!default_encoding_c) goto bad;
    __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1);
    if (!__PYX_DEFAULT_STRING_ENCODING) goto bad;
    strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);
    Py_DECREF(default_encoding);
    return 0;
bad:
    Py_XDECREF(default_encoding);
    return -1;
}
#endif
#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__ */
static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; }

static PyObject *__pyx_m = NULL;
static PyObject *__pyx_d;
static PyObject *__pyx_b;
static PyObject *__pyx_cython_runtime = NULL;
static PyObject *__pyx_empty_tuple;
static PyObject *__pyx_empty_bytes;
static PyObject *__pyx_empty_unicode;
static int __pyx_lineno;
static int __pyx_clineno = 0;
static const char * __pyx_cfilenm= __FILE__;
static const char *__pyx_filename;


static const char *__pyx_f[] = {
  "networkit/_NetworKit.pyx",
  "stringsource",
};
/* 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()

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


/* "networkit/_NetworKit.pyx":42
 * 
 * # NetworKit typedefs
 * ctypedef uint64_t count             # <<<<<<<<<<<<<<
 * ctypedef uint64_t index
 * ctypedef uint64_t edgeid
 */
typedef uint64_t __pyx_t_9networkit_10_NetworKit_count;

/* "networkit/_NetworKit.pyx":43
 * # NetworKit typedefs
 * ctypedef uint64_t count
 * ctypedef uint64_t index             # <<<<<<<<<<<<<<
 * ctypedef uint64_t edgeid
 * ctypedef index node
 */
typedef uint64_t __pyx_t_9networkit_10_NetworKit_index;

/* "networkit/_NetworKit.pyx":44
 * ctypedef uint64_t count
 * ctypedef uint64_t index
 * ctypedef uint64_t edgeid             # <<<<<<<<<<<<<<
 * ctypedef index node
 * ctypedef index cluster
 */
typedef uint64_t __pyx_t_9networkit_10_NetworKit_edgeid;

/* "networkit/_NetworKit.pyx":45
 * ctypedef uint64_t index
 * ctypedef uint64_t edgeid
 * ctypedef index node             # <<<<<<<<<<<<<<
 * ctypedef index cluster
 * ctypedef double edgeweight
 */
typedef __pyx_t_9networkit_10_NetworKit_index __pyx_t_9networkit_10_NetworKit_node;

/* "networkit/_NetworKit.pyx":46
 * ctypedef uint64_t edgeid
 * ctypedef index node
 * ctypedef index cluster             # <<<<<<<<<<<<<<
 * ctypedef double edgeweight
 * ctypedef double coordinate
 */
typedef __pyx_t_9networkit_10_NetworKit_index __pyx_t_9networkit_10_NetworKit_cluster;

/* "networkit/_NetworKit.pyx":47
 * ctypedef index node
 * ctypedef index cluster
 * ctypedef double edgeweight             # <<<<<<<<<<<<<<
 * ctypedef double coordinate
 * 
 */
typedef double __pyx_t_9networkit_10_NetworKit_edgeweight;

/* "networkit/_NetworKit.pyx":48
 * ctypedef index cluster
 * ctypedef double edgeweight
 * ctypedef double coordinate             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/Globals.hpp>" namespace "NetworKit":
 */
typedef double __pyx_t_9networkit_10_NetworKit_coordinate;

/*--- Type declarations ---*/
struct __pyx_obj_9networkit_10_NetworKit_Algorithm;
struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator;
struct __pyx_obj_9networkit_10_NetworKit_Graph;
struct __pyx_obj_9networkit_10_NetworKit_STSP;
struct __pyx_obj_9networkit_10_NetworKit_BidirectionalBFS;
struct __pyx_obj_9networkit_10_NetworKit_BidirectionalDijkstra;
struct __pyx_obj_9networkit_10_NetworKit_AStar;
struct __pyx_obj_9networkit_10_NetworKit_SSSP;
struct __pyx_obj_9networkit_10_NetworKit_DynSSSP;
struct __pyx_obj_9networkit_10_NetworKit_BFS;
struct __pyx_obj_9networkit_10_NetworKit_DynBFS;
struct __pyx_obj_9networkit_10_NetworKit_ReverseBFS;
struct __pyx_obj_9networkit_10_NetworKit_Dijkstra;
struct __pyx_obj_9networkit_10_NetworKit_DynDijkstra;
struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths;
struct __pyx_obj_9networkit_10_NetworKit_APSP;
struct __pyx_obj_9networkit_10_NetworKit_DynAPSP;
struct __pyx_obj_9networkit_10_NetworKit_SpanningForest;
struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest;
struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest;
struct __pyx_obj_9networkit_10_NetworKit_Luby;
struct __pyx_obj_9networkit_10_NetworKit_BarabasiAlbertGenerator;
struct __pyx_obj_9networkit_10_NetworKit_PubWebGenerator;
struct __pyx_obj_9networkit_10_NetworKit_ErdosRenyiGenerator;
struct __pyx_obj_9networkit_10_NetworKit_DorogovtsevMendesGenerator;
struct __pyx_obj_9networkit_10_NetworKit_RegularRingLatticeGenerator;
struct __pyx_obj_9networkit_10_NetworKit_WattsStrogatzGenerator;
struct __pyx_obj_9networkit_10_NetworKit_ClusteredRandomGraphGenerator;
struct __pyx_obj_9networkit_10_NetworKit_ChungLuGenerator;
struct __pyx_obj_9networkit_10_NetworKit_HavelHakimiGenerator;
struct __pyx_obj_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator;
struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator;
struct __pyx_obj_9networkit_10_NetworKit_MocnikGenerator;
struct __pyx_obj_9networkit_10_NetworKit_MocnikGeneratorBasic;
struct __pyx_obj_9networkit_10_NetworKit_RmatGenerator;
struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence;
struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator;
struct __pyx_obj_9networkit_10_NetworKit_GraphReader;
struct __pyx_obj_9networkit_10_NetworKit_GraphWriter;
struct __pyx_obj_9networkit_10_NetworKit_METISGraphReader;
struct __pyx_obj_9networkit_10_NetworKit_NetworkitBinaryReader;
struct __pyx_obj_9networkit_10_NetworKit_NetworkitBinaryWriter;
struct __pyx_obj_9networkit_10_NetworKit_GraphToolBinaryReader;
struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryReader;
struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryWriter;
struct __pyx_obj_9networkit_10_NetworKit_EdgeListReader;
struct __pyx_obj_9networkit_10_NetworKit_KONECTGraphReader;
struct __pyx_obj_9networkit_10_NetworKit_GMLGraphReader;
struct __pyx_obj_9networkit_10_NetworKit_METISGraphWriter;
struct __pyx_obj_9networkit_10_NetworKit_GraphToolBinaryWriter;
struct __pyx_obj_9networkit_10_NetworKit_DotGraphWriter;
struct __pyx_obj_9networkit_10_NetworKit_GMLGraphWriter;
struct __pyx_obj_9networkit_10_NetworKit_EdgeListWriter;
struct __pyx_obj_9networkit_10_NetworKit_LineFileReader;
struct __pyx_obj_9networkit_10_NetworKit_SNAPGraphWriter;
struct __pyx_obj_9networkit_10_NetworKit_SNAPGraphReader;
struct __pyx_obj_9networkit_10_NetworKit_PartitionReader;
struct __pyx_obj_9networkit_10_NetworKit_PartitionWriter;
struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionReader;
struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionWriter;
struct __pyx_obj_9networkit_10_NetworKit_EdgeListPartitionReader;
struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionReader;
struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter;
struct __pyx_obj_9networkit_10_NetworKit_SNAPEdgeListPartitionReader;
struct __pyx_obj_9networkit_10_NetworKit_CoverReader;
struct __pyx_obj_9networkit_10_NetworKit_CoverWriter;
struct __pyx_obj_9networkit_10_NetworKit_EdgeListCoverReader;
struct __pyx_obj_9networkit_10_NetworKit_Partition;
struct __pyx_obj_9networkit_10_NetworKit_Cover;
struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator;
struct __pyx_obj_9networkit_10_NetworKit_GraphClusteringTools;
struct __pyx_obj_9networkit_10_NetworKit_Traversal;
struct __pyx_obj_9networkit_10_NetworKit_GraphTools;
struct __pyx_obj_9networkit_10_NetworKit_PartitionIntersection;
struct __pyx_obj_9networkit_10_NetworKit_Coverage;
struct __pyx_obj_9networkit_10_NetworKit_EdgeCut;
struct __pyx_obj_9networkit_10_NetworKit_Modularity;
struct __pyx_obj_9networkit_10_NetworKit_HubDominance;
struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector;
struct __pyx_obj_9networkit_10_NetworKit_PLP;
struct __pyx_obj_9networkit_10_NetworKit_LPDegreeOrdered;
struct __pyx_obj_9networkit_10_NetworKit_PLM;
struct __pyx_obj_9networkit_10_NetworKit_CutClustering;
struct __pyx_obj_9networkit_10_NetworKit_DissimilarityMeasure;
struct __pyx_obj_9networkit_10_NetworKit_NodeStructuralRandMeasure;
struct __pyx_obj_9networkit_10_NetworKit_GraphStructuralRandMeasure;
struct __pyx_obj_9networkit_10_NetworKit_JaccardMeasure;
struct __pyx_obj_9networkit_10_NetworKit_NMIDistance;
struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandMeasure;
struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation;
struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation;
struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation;
struct __pyx_obj_9networkit_10_NetworKit_IntrapartitionDensity;
struct __pyx_obj_9networkit_10_NetworKit_IsolatedInterpartitionConductance;
struct __pyx_obj_9networkit_10_NetworKit_IsolatedInterpartitionExpansion;
struct __pyx_obj_9networkit_10_NetworKit_CoverHubDominance;
struct __pyx_obj_9networkit_10_NetworKit_PartitionHubDominance;
struct __pyx_obj_9networkit_10_NetworKit_PartitionFragmentation;
struct __pyx_obj_9networkit_10_NetworKit_StablePartitionNodes;
struct __pyx_obj_9networkit_10_NetworKit_CoverF1Similarity;
struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp;
struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents;
struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents;
struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents;
struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents;
struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents;
struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents;
struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents;
struct __pyx_obj_9networkit_10_NetworKit_ClusteringCoefficient;
struct __pyx_obj_9networkit_10_NetworKit_Diameter;
struct __pyx_obj_9networkit_10_NetworKit_Eccentricity;
struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameter;
struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameterApproximation;
struct __pyx_obj_9networkit_10_NetworKit_HopPlotApproximation;
struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunction;
struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionApproximation;
struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic;
struct __pyx_obj_9networkit_10_NetworKit_Assortativity;
struct __pyx_obj_9networkit_10_NetworKit_Centrality;
struct __pyx_obj_9networkit_10_NetworKit_TopCloseness;
struct __pyx_obj_9networkit_10_NetworKit_TopHarmonicCloseness;
struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality;
struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness;
struct __pyx_obj_9networkit_10_NetworKit_GroupDegree;
struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness;
struct __pyx_obj_9networkit_10_NetworKit_DegreeCentrality;
struct __pyx_obj_9networkit_10_NetworKit_Betweenness;
struct __pyx_obj_9networkit_10_NetworKit_ApproxGroupBetweenness;
struct __pyx_obj_9networkit_10_NetworKit_Closeness;
struct __pyx_obj_9networkit_10_NetworKit_HarmonicCloseness;
struct __pyx_obj_9networkit_10_NetworKit_KPathCentrality;
struct __pyx_obj_9networkit_10_NetworKit_KatzCentrality;
struct __pyx_obj_9networkit_10_NetworKit_GraphDifference;
struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness;
struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness;
struct __pyx_obj_9networkit_10_NetworKit_EstimateBetweenness;
struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness2;
struct __pyx_obj_9networkit_10_NetworKit_ApproxCloseness;
struct __pyx_obj_9networkit_10_NetworKit_PageRank;
struct __pyx_obj_9networkit_10_NetworKit_EigenvectorCentrality;
struct __pyx_obj_9networkit_10_NetworKit_CoreDecomposition;
struct __pyx_obj_9networkit_10_NetworKit_LocalClusteringCoefficient;
struct __pyx_obj_9networkit_10_NetworKit_Sfigality;
struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness;
struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness;
struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode;
struct __pyx_obj_9networkit_10_NetworKit_PermanenceCentrality;
struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionCoverage;
struct __pyx_obj_9networkit_10_NetworKit_LaplacianCentrality;
struct __pyx_obj_9networkit_10_NetworKit_GraphEvent;
struct __pyx_obj_9networkit_10_NetworKit_DGSStreamParser;
struct __pyx_obj_9networkit_10_NetworKit_DGSWriter;
struct __pyx_obj_9networkit_10_NetworKit_DynamicPathGenerator;
struct __pyx_obj_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator;
struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator;
struct __pyx_obj_9networkit_10_NetworKit_DynamicHyperbolicGenerator;
struct __pyx_obj_9networkit_10_NetworKit_DynamicForestFireGenerator;
struct __pyx_obj_9networkit_10_NetworKit_GraphUpdater;
struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening;
struct __pyx_obj_9networkit_10_NetworKit_ParallelPartitionCoarsening;
struct __pyx_obj_9networkit_10_NetworKit_MatchingCoarsening;
struct __pyx_obj_9networkit_10_NetworKit_PageRankNibble;
struct __pyx_obj_9networkit_10_NetworKit_GCE;
struct __pyx_obj_9networkit_10_NetworKit_MaximalCliques;
struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor;
struct __pyx_obj_9networkit_10_NetworKit_KatzIndex;
struct __pyx_obj_9networkit_10_NetworKit_CommonNeighborsIndex;
struct __pyx_obj_9networkit_10_NetworKit_PreferentialAttachmentIndex;
struct __pyx_obj_9networkit_10_NetworKit_Volume;
struct __pyx_obj_9networkit_10_NetworKit_JaccardIndex;
struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarIndex;
struct __pyx_obj_9networkit_10_NetworKit_UDegreeIndex;
struct __pyx_obj_9networkit_10_NetworKit_VDegreeIndex;
struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistanceIndex;
struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodDistanceIndex;
struct __pyx_obj_9networkit_10_NetworKit_TotalNeighborsIndex;
struct __pyx_obj_9networkit_10_NetworKit_NeighborsMeasureIndex;
struct __pyx_obj_9networkit_10_NetworKit_SameCommunityIndex;
struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandIndex;
struct __pyx_obj_9networkit_10_NetworKit_ResourceAllocationIndex;
struct __pyx_obj_9networkit_10_NetworKit_RandomLinkSampler;
struct __pyx_obj_9networkit_10_NetworKit_EvaluationMetric;
struct __pyx_obj_9networkit_10_NetworKit_ROCMetric;
struct __pyx_obj_9networkit_10_NetworKit_PrecisionRecallMetric;
struct __pyx_obj_9networkit_10_NetworKit_MissingLinksFinder;
struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodUtility;
struct __pyx_obj_9networkit_10_NetworKit_LinkThresholder;
struct __pyx_obj_9networkit_10_NetworKit_PredictionsSorter;
struct __pyx_obj_9networkit_10_NetworKit_EdgeScore;
struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore;
struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore;
struct __pyx_obj_9networkit_10_NetworKit_TriangleEdgeScore;
struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreLinearizer;
struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreNormalizer;
struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreBlender;
struct __pyx_obj_9networkit_10_NetworKit_GeometricMeanScore;
struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreAsWeight;
struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance;
struct __pyx_obj_9networkit_10_NetworKit_SimmelianOverlapScore;
struct __pyx_obj_9networkit_10_NetworKit_PrefixJaccardScore;
struct __pyx_obj_9networkit_10_NetworKit_MultiscaleScore;
struct __pyx_obj_9networkit_10_NetworKit_RandomEdgeScore;
struct __pyx_obj_9networkit_10_NetworKit_LocalSimilarityScore;
struct __pyx_obj_9networkit_10_NetworKit_ForestFireScore;
struct __pyx_obj_9networkit_10_NetworKit_LocalDegreeScore;
struct __pyx_obj_9networkit_10_NetworKit_JaccardDistance;
struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance;
struct __pyx_obj_9networkit_10_NetworKit_JaccardSimilarityAttributizer;
struct __pyx_obj_9networkit_10_NetworKit_RandomNodeEdgeScore;
struct __pyx_obj_9networkit_10_NetworKit_LocalFilterScore;
struct __pyx_obj_9networkit_10_NetworKit_ChanceCorrectedTriangleScore;
struct __pyx_obj_9networkit_10_NetworKit_SCANStructuralSimilarityScore;
struct __pyx_obj_9networkit_10_NetworKit_GlobalThresholdFilter;
struct __pyx_obj_9networkit_10_NetworKit_Matching;
struct __pyx_obj_9networkit_10_NetworKit_Matcher;
struct __pyx_obj_9networkit_10_NetworKit_PathGrowingMatcher;
struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance;
struct __pyx_obj_9networkit_10_NetworKit_EpidemicSimulationSEIR;
struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality;
struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm;
struct __pyx_obj_9networkit_10_NetworKit_MaxentStress;
struct __pyx_obj_9networkit_10_NetworKit_PivotMDS;
struct __pyx_obj_9networkit_10_NetworKit_GlobalCurveball;
struct __pyx_obj_9networkit_10_NetworKit_CurveballUniformTradeGenerator;
struct __pyx_obj_9networkit_10_NetworKit_CurveballGlobalTradeGenerator;
struct __pyx_obj_9networkit_10_NetworKit_Curveball;
struct __pyx_obj_9networkit_10_NetworKit_DegreePreservingShuffle;
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct__neighbors;
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors;
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes;
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges;
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights;
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors;
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors;
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__;
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr;
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr;
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr;
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr;
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr;
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr;
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr;
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr;
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr;
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_17_volume;
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr;
struct __pyx_t_9networkit_10_NetworKit_EdgeCallBackWrapper;
struct __pyx_t_9networkit_10_NetworKit_NodeCallbackWrapper;
struct __pyx_t_9networkit_10_NetworKit_NodeDistCallbackWrapper;
struct __pyx_t_9networkit_10_NetworKit_NodePairCallbackWrapper;
struct __pyx_t_9networkit_10_NetworKit_PathCallbackWrapper;
struct __pyx_t_9networkit_10_NetworKit_NodeVectorCallbackWrapper;
struct __pyx_t_9networkit_10_NetworKit_EdgeCallBackWrapper {

  /* "networkit/_NetworKit.pyx":385
 * 		_InNeighborRange inNeighborRange(node u) except +
 * 
 * cdef cppclass EdgeCallBackWrapper:             # <<<<<<<<<<<<<<
 * 	void* callback
 * 	__init__(object callback):
 */
  void *callback;
  void __pyx_f___init__EdgeCallBackWrapper(PyObject *);
  virtual void cython_call_operator(__pyx_t_9networkit_10_NetworKit_node, __pyx_t_9networkit_10_NetworKit_node, __pyx_t_9networkit_10_NetworKit_edgeweight, __pyx_t_9networkit_10_NetworKit_edgeid);
  __pyx_t_9networkit_10_NetworKit_EdgeCallBackWrapper(PyObject *__pyx_v_callback) {
    __pyx_f___init__EdgeCallBackWrapper(__pyx_v_callback);
  }
  virtual ~__pyx_t_9networkit_10_NetworKit_EdgeCallBackWrapper() {
  }
};
struct __pyx_t_9networkit_10_NetworKit_NodeCallbackWrapper {

  /* "networkit/_NetworKit.pyx":400
 * 			throw_runtime_error(message)
 * 
 * cdef cppclass NodeCallbackWrapper:             # <<<<<<<<<<<<<<
 * 	void* callback
 * 	__init__(object callback):
 */
  void *callback;
  void __pyx_f___init__NodeCallbackWrapper(PyObject *);
  virtual void cython_call_operator(__pyx_t_9networkit_10_NetworKit_node);
  __pyx_t_9networkit_10_NetworKit_NodeCallbackWrapper(PyObject *__pyx_v_callback) {
    __pyx_f___init__NodeCallbackWrapper(__pyx_v_callback);
  }
  virtual ~__pyx_t_9networkit_10_NetworKit_NodeCallbackWrapper() {
  }
};
struct __pyx_t_9networkit_10_NetworKit_NodeDistCallbackWrapper {

  /* "networkit/_NetworKit.pyx":415
 * 			throw_runtime_error(message)
 * 
 * cdef cppclass NodeDistCallbackWrapper:             # <<<<<<<<<<<<<<
 * 	void* callback
 * 	__init__(object callback):
 */
  void *callback;
  void __pyx_f___init__NodeDistCallbackWrapper(PyObject *);
  virtual void cython_call_operator(__pyx_t_9networkit_10_NetworKit_node, __pyx_t_9networkit_10_NetworKit_count);
  __pyx_t_9networkit_10_NetworKit_NodeDistCallbackWrapper(PyObject *__pyx_v_callback) {
    __pyx_f___init__NodeDistCallbackWrapper(__pyx_v_callback);
  }
  virtual ~__pyx_t_9networkit_10_NetworKit_NodeDistCallbackWrapper() {
  }
};
struct __pyx_t_9networkit_10_NetworKit_NodePairCallbackWrapper {

  /* "networkit/_NetworKit.pyx":430
 * 			throw_runtime_error(message)
 * 
 * cdef cppclass NodePairCallbackWrapper:             # <<<<<<<<<<<<<<
 * 	void* callback
 * 	__init__(object callback):
 */
  void *callback;
  void __pyx_f___init__NodePairCallbackWrapper(PyObject *);
  virtual void cython_call_operator(__pyx_t_9networkit_10_NetworKit_node, __pyx_t_9networkit_10_NetworKit_node);
  __pyx_t_9networkit_10_NetworKit_NodePairCallbackWrapper(PyObject *__pyx_v_callback) {
    __pyx_f___init__NodePairCallbackWrapper(__pyx_v_callback);
  }
  virtual ~__pyx_t_9networkit_10_NetworKit_NodePairCallbackWrapper() {
  }
};
struct __pyx_t_9networkit_10_NetworKit_PathCallbackWrapper {

  /* "networkit/_NetworKit.pyx":2092
 * 
 * 
 * cdef cppclass PathCallbackWrapper:             # <<<<<<<<<<<<<<
 * 	void* callback
 * 	__init__(object callback):
 */
  void *callback;
  void __pyx_f___init__PathCallbackWrapper(PyObject *);
  virtual void cython_call_operator(std::vector<__pyx_t_9networkit_10_NetworKit_node> );
  __pyx_t_9networkit_10_NetworKit_PathCallbackWrapper(PyObject *__pyx_v_callback) {
    __pyx_f___init__PathCallbackWrapper(__pyx_v_callback);
  }
  virtual ~__pyx_t_9networkit_10_NetworKit_PathCallbackWrapper() {
  }
};
struct __pyx_t_9networkit_10_NetworKit_NodeVectorCallbackWrapper {

  /* "networkit/_NetworKit.pyx":9778
 * # Module: clique
 * 
 * cdef cppclass NodeVectorCallbackWrapper:             # <<<<<<<<<<<<<<
 * 	void* callback
 * 	__init__(object callback):
 */
  void *callback;
  void __pyx_f___init__NodeVectorCallbackWrapper(PyObject *);
  virtual void cython_call_operator(std::vector<__pyx_t_9networkit_10_NetworKit_node>  const &);
  __pyx_t_9networkit_10_NetworKit_NodeVectorCallbackWrapper(PyObject *__pyx_v_callback) {
    __pyx_f___init__NodeVectorCallbackWrapper(__pyx_v_callback);
  }
  virtual ~__pyx_t_9networkit_10_NetworKit_NodeVectorCallbackWrapper() {
  }
};

/* "networkit/_NetworKit.pyx":98
 * 		bool_t isParallel() except +
 * 
 * cdef class Algorithm:             # <<<<<<<<<<<<<<
 * 	""" Abstract base class for algorithms """
 * 	cdef _Algorithm *_this
 */
struct __pyx_obj_9networkit_10_NetworKit_Algorithm {
  PyObject_HEAD
  NetworKit::Algorithm *_this;
};


/* "networkit/_NetworKit.pyx":173
 * 		_Graph generate() except +
 * 
 * cdef class StaticGraphGenerator:             # <<<<<<<<<<<<<<
 * 	""" Abstract base class for static graph generators """
 * 	cdef _StaticGraphGenerator *_this
 */
struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator {
  PyObject_HEAD
  NetworKit::StaticGraphGenerator *_this;
};


/* "networkit/_NetworKit.pyx":507
 * 		_NeighborIterator end() except +
 * 
 * cdef class Graph:             # <<<<<<<<<<<<<<
 * 
 * 	""" An undirected graph (with optional weights) and parallel iterator methods.
 */
struct __pyx_obj_9networkit_10_NetworKit_Graph {
  PyObject_HEAD
  struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *__pyx_vtab;
  NetworKit::Graph _this;
};


/* "networkit/_NetworKit.pyx":1564
 * 		edgeweight getDistance() except +
 * 
 * cdef class STSP(Algorithm):             # <<<<<<<<<<<<<<
 * 	""" Abstract base class for source-target shortest path algorithms. """
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_STSP {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":1630
 * 		count getHops() except +
 * 
 * cdef class BidirectionalBFS(STSP):             # <<<<<<<<<<<<<<
 * 	"""
 * 		Implements a bidirectional breadth-first search on a graph from
 */
struct __pyx_obj_9networkit_10_NetworKit_BidirectionalBFS {
  struct __pyx_obj_9networkit_10_NetworKit_STSP __pyx_base;
};


/* "networkit/_NetworKit.pyx":1670
 * 		_BidirectionalDijkstra(_Graph G, node source, node target, bool_t storePred) except +
 * 
 * cdef class BidirectionalDijkstra(STSP):             # <<<<<<<<<<<<<<
 * 	"""
 * 		Bidirectional implementation of the Dijkstra algorithm from
 */
struct __pyx_obj_9networkit_10_NetworKit_BidirectionalDijkstra {
  struct __pyx_obj_9networkit_10_NetworKit_STSP __pyx_base;
};


/* "networkit/_NetworKit.pyx":1698
 * 		_AStar(_Graph G, vector[double] &heu, node source, node target, bool_t storePred) except +
 * 
 * cdef class AStar(STSP):             # <<<<<<<<<<<<<<
 * 	"""
 * 	A* path-finding algorithm.
 */
struct __pyx_obj_9networkit_10_NetworKit_AStar {
  struct __pyx_obj_9networkit_10_NetworKit_STSP __pyx_base;
  std::vector<double>  heu;
};


/* "networkit/_NetworKit.pyx":1756
 * 		void setTarget(node t) except +
 * 
 * cdef class SSSP(Algorithm):             # <<<<<<<<<<<<<<
 * 	""" Base class for single source shortest path algorithms. """
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_SSSP {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":1921
 * 		void setTargetNode(node t) except +
 * 
 * cdef class DynSSSP(SSSP):             # <<<<<<<<<<<<<<
 * 	""" Base class for single source shortest path algorithms in dynamic graphs. """
 * 	def __init__(self, *args, **namedargs):
 */
struct __pyx_obj_9networkit_10_NetworKit_DynSSSP {
  struct __pyx_obj_9networkit_10_NetworKit_SSSP __pyx_base;
};


/* "networkit/_NetworKit.pyx":1960
 * 		_BFS(_Graph G, node source, bool_t storePaths, bool_t storeNodesSortedByDistance, node target) except +
 * 
 * cdef class BFS(SSSP):             # <<<<<<<<<<<<<<
 * 	""" Simple breadth-first search on a Graph from a given source
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_BFS {
  struct __pyx_obj_9networkit_10_NetworKit_SSSP __pyx_base;
};


/* "networkit/_NetworKit.pyx":1988
 * 		_DynBFS(_Graph G, node source) except +
 * 
 * cdef class DynBFS(DynSSSP):             # <<<<<<<<<<<<<<
 * 	""" Dynamic version of BFS.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_DynBFS {
  struct __pyx_obj_9networkit_10_NetworKit_DynSSSP __pyx_base;
};


/* "networkit/_NetworKit.pyx":2013
 * 		_ReverseBFS(_Graph G, node source, bool_t storePaths, bool_t storeNodesSortedByDistance, node target) except +
 * 
 * cdef class ReverseBFS(SSSP):             # <<<<<<<<<<<<<<
 * 	""" Simple reverse breadth-first search on a Graph from a given source
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_ReverseBFS {
  struct __pyx_obj_9networkit_10_NetworKit_SSSP __pyx_base;
};


/* "networkit/_NetworKit.pyx":2041
 * 		_Dijkstra(_Graph G, node source, bool_t storePaths, bool_t storeNodesSortedByDistance, node target) except +
 * 
 * cdef class Dijkstra(SSSP):             # <<<<<<<<<<<<<<
 * 	""" Dijkstra's SSSP algorithm.
 * 	Returns list of weighted distances from node source, i.e. the length of the shortest path from source to
 */
struct __pyx_obj_9networkit_10_NetworKit_Dijkstra {
  struct __pyx_obj_9networkit_10_NetworKit_SSSP __pyx_base;
};


/* "networkit/_NetworKit.pyx":2072
 * 		_DynDijkstra(_Graph G, node source) except +
 * 
 * cdef class DynDijkstra(DynSSSP):             # <<<<<<<<<<<<<<
 * 	""" Dynamic version of Dijkstra.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_DynDijkstra {
  struct __pyx_obj_9networkit_10_NetworKit_DynSSSP __pyx_base;
};


/* "networkit/_NetworKit.pyx":2116
 * 		void forAllSimplePaths[Callback](Callback c) except +
 * 
 * cdef class AllSimplePaths:             # <<<<<<<<<<<<<<
 * 	""" Algorithm to compute all existing simple paths from a source node to a target node. The maximum length of the paths can be fixed through 'cutoff'.
 * 		CAUTION: This algorithm could take a lot of time on large networks (many edges), especially if the cutoff value is high or not specified.
 */
struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths {
  PyObject_HEAD
  NetworKit::AllSimplePaths *_this;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":2197
 * 		edgeweight getDistance(node u, node v) except +
 * 
 * cdef class APSP(Algorithm):             # <<<<<<<<<<<<<<
 * 	""" All-Pairs Shortest-Paths algorithm (implemented running Dijkstra's algorithm from each node, or BFS if G is unweighted).
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_APSP {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":2252
 * 		void updateBatch(vector[_GraphEvent] batch) except +
 * 
 * cdef class DynAPSP(APSP):             # <<<<<<<<<<<<<<
 * 	""" All-Pairs Shortest-Paths algorithm for dynamic graphs.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_DynAPSP {
  struct __pyx_obj_9networkit_10_NetworKit_APSP __pyx_base;
};


/* "networkit/_NetworKit.pyx":2295
 * 		_Graph generate() except +
 * 
 * cdef class SpanningForest:             # <<<<<<<<<<<<<<
 * 	""" Generates a spanning forest for a given graph
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_SpanningForest {
  PyObject_HEAD
  NetworKit::SpanningForest *_this;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":2329
 * 		bool_t inUMSF(node u, node v) except +
 * 
 * cdef class UnionMaximumSpanningForest(Algorithm):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Union maximum-weight spanning forest algorithm, computes the union of all maximum-weight spanning forests using Kruskal's algorithm.
 */
struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":2415
 * 		bool_t inMSF(node u, node v) except +
 * 
 * cdef class RandomMaximumSpanningForest(Algorithm):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Computes a random maximum-weight spanning forest using Kruskal's algorithm by randomizing the order of edges of the same weight.
 */
struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  std::vector<double>  _attribute;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":2501
 * 
 * # FIXME: check correctness
 * cdef class Luby:             # <<<<<<<<<<<<<<
 * 	""" Luby's parallel maximal independent set algorithm"""
 * 	cdef _Luby _this
 */
struct __pyx_obj_9networkit_10_NetworKit_Luby {
  PyObject_HEAD
  NetworKit::Luby _this;
};


/* "networkit/_NetworKit.pyx":2537
 * 		_BarabasiAlbertGenerator(count k, count nMax, const _Graph & initGraph, bool_t batagelj) except +
 * 
 * cdef class BarabasiAlbertGenerator(StaticGraphGenerator):             # <<<<<<<<<<<<<<
 * 	"""
 * 	This generator implements the preferential attachment model as introduced by Barabasi and Albert[1].
 */
struct __pyx_obj_9networkit_10_NetworKit_BarabasiAlbertGenerator {
  struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator __pyx_base;
};


/* "networkit/_NetworKit.pyx":2580
 * 
 * 
 * cdef class PubWebGenerator(StaticGraphGenerator):             # <<<<<<<<<<<<<<
 * 	""" Generates a static graph that resembles an assumed geometric distribution of nodes in
 * 	a P2P network.
 */
struct __pyx_obj_9networkit_10_NetworKit_PubWebGenerator {
  struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator __pyx_base;
};


/* "networkit/_NetworKit.pyx":2623
 * 		_ErdosRenyiGenerator(count nNodes, double prob, bool_t directed, bool_t selfLoops) except +
 * 
 * cdef class ErdosRenyiGenerator(StaticGraphGenerator):             # <<<<<<<<<<<<<<
 * 	""" Creates random graphs in the G(n,p) model.
 * 	The generation follows Vladimir Batagelj and Ulrik Brandes: "Efficient
 */
struct __pyx_obj_9networkit_10_NetworKit_ErdosRenyiGenerator {
  struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator __pyx_base;
};


/* "networkit/_NetworKit.pyx":2662
 * 		_DorogovtsevMendesGenerator(count nNodes) except +
 * 
 * cdef class DorogovtsevMendesGenerator(StaticGraphGenerator):             # <<<<<<<<<<<<<<
 * 	""" Generates a graph according to the Dorogovtsev-Mendes model.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_DorogovtsevMendesGenerator {
  struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator __pyx_base;
};


/* "networkit/_NetworKit.pyx":2688
 * 		_RegularRingLatticeGenerator(count nNodes, count nNeighbors) except +
 * 
 * cdef class RegularRingLatticeGenerator(StaticGraphGenerator):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Constructs a regular ring lattice.
 */
struct __pyx_obj_9networkit_10_NetworKit_RegularRingLatticeGenerator {
  struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator __pyx_base;
};


/* "networkit/_NetworKit.pyx":2711
 * 		_WattsStrogatzGenerator(count nNodes, count nNeighbors, double p) except +
 * 
 * cdef class WattsStrogatzGenerator(StaticGraphGenerator):             # <<<<<<<<<<<<<<
 * 	""" Generates a graph according to the Watts-Strogatz model.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_WattsStrogatzGenerator {
  struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator __pyx_base;
};


/* "networkit/_NetworKit.pyx":2738
 * 		_Partition getCommunities() except +
 * 
 * cdef class ClusteredRandomGraphGenerator(StaticGraphGenerator):             # <<<<<<<<<<<<<<
 * 	""" The ClusteredRandomGraphGenerator class is used to create a clustered random graph.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_ClusteredRandomGraphGenerator {
  struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator __pyx_base;
};


/* "networkit/_NetworKit.pyx":2779
 * 		_ChungLuGenerator(vector[count] degreeSequence) except +
 * 
 * cdef class ChungLuGenerator(StaticGraphGenerator):             # <<<<<<<<<<<<<<
 * 	"""
 * 		Given an arbitrary degree sequence, the Chung-Lu generative model
 */
struct __pyx_obj_9networkit_10_NetworKit_ChungLuGenerator {
  struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator __pyx_base;
};


/* "networkit/_NetworKit.pyx":2808
 * 		bool_t getRealizable() except +
 * 
 * cdef class HavelHakimiGenerator(StaticGraphGenerator):             # <<<<<<<<<<<<<<
 * 	""" Havel-Hakimi algorithm for generating a graph according to a given degree sequence.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_HavelHakimiGenerator {
  struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator __pyx_base;
};


/* "networkit/_NetworKit.pyx":2849
 * 		bool_t getRealizable() except +
 * 
 * cdef class EdgeSwitchingMarkovChainGenerator(StaticGraphGenerator):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Graph generator for generating a random simple graph with exactly the given degree sequence based on the Edge-Switching Markov-Chain method.
 */
struct __pyx_obj_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator {
  struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator __pyx_base;
};


/* "networkit/_NetworKit.pyx":2899
 * 		_Graph generate(vector[double] angles, vector[double] radii, double R, double T) except +
 * 
 * cdef class HyperbolicGenerator(StaticGraphGenerator):             # <<<<<<<<<<<<<<
 * 	""" The Hyperbolic Generator distributes points in hyperbolic space and adds edges between points with a probability depending on their distance. The resulting graphs have a power-law degree distribution, small diameter and high clustering coefficient.
 * For a temperature of 0, the model resembles a unit-disk model in hyperbolic space.
 */
struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator {
  struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator __pyx_base;
};


/* "networkit/_NetworKit.pyx":2959
 * 		_MocnikGenerator(count dim, vector[count] ns, vector[double] ks, vector[double] weighted) except +
 * 
 * cdef class MocnikGenerator(StaticGraphGenerator):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Creates random spatial graphs according to the Mocnik model.
 */
struct __pyx_obj_9networkit_10_NetworKit_MocnikGenerator {
  struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator __pyx_base;
};


/* "networkit/_NetworKit.pyx":3018
 * 		_MocnikGeneratorBasic(count dim, count n, double k) except +
 * 
 * cdef class MocnikGeneratorBasic(StaticGraphGenerator):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Creates random spatial graphs according to the Mocnik model.
 */
struct __pyx_obj_9networkit_10_NetworKit_MocnikGeneratorBasic {
  struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator __pyx_base;
};


/* "networkit/_NetworKit.pyx":3057
 * 		_RmatGenerator(count scale, count edgeFactor, double a, double b, double c, double d, bool_t weighted, count reduceNodes) except +
 * 
 * cdef class RmatGenerator(StaticGraphGenerator):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Generates static R-MAT graphs. R-MAT (recursive matrix) graphs are
 */
struct __pyx_obj_9networkit_10_NetworKit_RmatGenerator {
  struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator __pyx_base;
};


/* "networkit/_NetworKit.pyx":3153
 * 		count getDegree() except +
 * 
 * cdef class PowerlawDegreeSequence:             # <<<<<<<<<<<<<<
 * 	"""
 * 	Generates a powerlaw degree sequence with the given minimum and maximum degree, the powerlaw exponent gamma
 */
struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence {
  PyObject_HEAD
  NetworKit::PowerlawDegreeSequence *_this;
};


/* "networkit/_NetworKit.pyx":3325
 * 		_Graph generate() except +
 * 
 * cdef class LFRGenerator(Algorithm):             # <<<<<<<<<<<<<<
 * 	"""
 * 	The LFR clustered graph generator as introduced by Andrea Lancichinetti, Santo Fortunato, and Filippo Radicchi.
 */
struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
};


/* "networkit/_NetworKit.pyx":3631
 * 	KeepMinimumWeight = KEEP_MINIUM_WEIGHT
 * 
 * cdef class GraphReader:             # <<<<<<<<<<<<<<
 * 	""" Abstract base class for graph readers"""
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_GraphReader {
  PyObject_HEAD
  NetworKit::GraphReader *_this;
};


/* "networkit/_NetworKit.pyx":3662
 * 		void write(_Graph G, string path) nogil except +
 * 
 * cdef class GraphWriter:             # <<<<<<<<<<<<<<
 * 	"""
 * 	Abstract base class for graph writers
 */
struct __pyx_obj_9networkit_10_NetworKit_GraphWriter {
  PyObject_HEAD
  NetworKit::GraphWriter *_this;
};


/* "networkit/_NetworKit.pyx":3703
 * 		_METISGraphReader() nogil except +
 * 
 * cdef class METISGraphReader(GraphReader):             # <<<<<<<<<<<<<<
 * 	""" Reads the METIS adjacency file format [1]. If the Fast reader fails,
 * 		use readGraph(path, graphio.formats.metis) as an alternative.
 */
struct __pyx_obj_9networkit_10_NetworKit_METISGraphReader {
  struct __pyx_obj_9networkit_10_NetworKit_GraphReader __pyx_base;
};


/* "networkit/_NetworKit.pyx":3715
 * 		_NetworkitBinaryReader() except +
 * 
 * cdef class NetworkitBinaryReader(GraphReader):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Reads a graph written in the custom Networkit format documented in cpp/io/NetworkitGraph.md
 */
struct __pyx_obj_9networkit_10_NetworKit_NetworkitBinaryReader {
  struct __pyx_obj_9networkit_10_NetworKit_GraphReader __pyx_base;
};


/* "networkit/_NetworKit.pyx":3727
 * 		_NetworkitBinaryWriter() except +
 * 
 * cdef class NetworkitBinaryWriter(GraphWriter):             # <<<<<<<<<<<<<<
 * 	def __cinit__(self):
 * 		self._this = new _NetworkitBinaryWriter()
 */
struct __pyx_obj_9networkit_10_NetworKit_NetworkitBinaryWriter {
  struct __pyx_obj_9networkit_10_NetworKit_GraphWriter __pyx_base;
};


/* "networkit/_NetworKit.pyx":3736
 * 		_GraphToolBinaryReader() except +
 * 
 * cdef class GraphToolBinaryReader(GraphReader):             # <<<<<<<<<<<<<<
 * 	""" Reads the binary file format defined by graph-tool[1].
 * 		[1]: http://graph-tool.skewed.de/static/doc/gt_format.html
 */
struct __pyx_obj_9networkit_10_NetworKit_GraphToolBinaryReader {
  struct __pyx_obj_9networkit_10_NetworKit_GraphReader __pyx_base;
};


/* "networkit/_NetworKit.pyx":3749
 * 		_Graph read(vector[string] paths) nogil except +
 * 
 * cdef class ThrillGraphBinaryReader(GraphReader):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Reads a graph format consisting of a serialized DIA of vector<uint32_t> from thrill.
 */
struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryReader {
  struct __pyx_obj_9networkit_10_NetworKit_GraphReader __pyx_base;
};


/* "networkit/_NetworKit.pyx":3795
 * 		_ThrillGraphBinaryWriter() except +
 * 
 * cdef class ThrillGraphBinaryWriter(GraphWriter):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Writes a graph format consisting of a serialized DIA of vector<uint32_t> from Thrill.
 */
struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryWriter {
  struct __pyx_obj_9networkit_10_NetworKit_GraphWriter __pyx_base;
};


/* "networkit/_NetworKit.pyx":3812
 * 
 * 
 * cdef class EdgeListReader(GraphReader):             # <<<<<<<<<<<<<<
 * 	""" Reads a graph from various text-based edge list formats.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_EdgeListReader {
  struct __pyx_obj_9networkit_10_NetworKit_GraphReader __pyx_base;
};


/* "networkit/_NetworKit.pyx":3875
 * 		_KONECTGraphReader(bool_t remapNodes, _MultipleEdgesHandling handlingmethod)
 * 
 * cdef class KONECTGraphReader(GraphReader):             # <<<<<<<<<<<<<<
 * 	""" Reader for the KONECT graph format, which is described in detail on the KONECT website[1].
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_KONECTGraphReader {
  struct __pyx_obj_9networkit_10_NetworKit_GraphReader __pyx_base;
};


/* "networkit/_NetworKit.pyx":3888
 * 		_GMLGraphReader() except +
 * 
 * cdef class GMLGraphReader(GraphReader):             # <<<<<<<<<<<<<<
 * 	""" Reader for the GML graph format, which is documented here [1].
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_GMLGraphReader {
  struct __pyx_obj_9networkit_10_NetworKit_GraphReader __pyx_base;
};


/* "networkit/_NetworKit.pyx":3902
 * 
 * 
 * cdef class METISGraphWriter(GraphWriter):             # <<<<<<<<<<<<<<
 * 	""" Writes graphs in the METIS format"""
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_METISGraphWriter {
  struct __pyx_obj_9networkit_10_NetworKit_GraphWriter __pyx_base;
};


/* "networkit/_NetworKit.pyx":3914
 * 
 * 
 * cdef class GraphToolBinaryWriter(GraphWriter):             # <<<<<<<<<<<<<<
 * 	""" Reads the binary file format defined by graph-tool[1].
 * 		[1]: http://graph-tool.skewed.de/static/doc/gt_format.html
 */
struct __pyx_obj_9networkit_10_NetworKit_GraphToolBinaryWriter {
  struct __pyx_obj_9networkit_10_NetworKit_GraphWriter __pyx_base;
};


/* "networkit/_NetworKit.pyx":3926
 * 		_DotGraphWriter() except +
 * 
 * cdef class DotGraphWriter(GraphWriter):             # <<<<<<<<<<<<<<
 * 	""" Writes graphs in the .dot/GraphViz format"""
 * 	def __cinit__(self):
 */
struct __pyx_obj_9networkit_10_NetworKit_DotGraphWriter {
  struct __pyx_obj_9networkit_10_NetworKit_GraphWriter __pyx_base;
};


/* "networkit/_NetworKit.pyx":3937
 * 
 * 
 * cdef class GMLGraphWriter(GraphWriter):             # <<<<<<<<<<<<<<
 * 	""" Writes a graph and its coordinates as a GML file.[1]
 * 		[1] http://svn.bigcat.unimaas.nl/pvplugins/GML/trunk/docs/gml-technical-report.pdf """
 */
struct __pyx_obj_9networkit_10_NetworKit_GMLGraphWriter {
  struct __pyx_obj_9networkit_10_NetworKit_GraphWriter __pyx_base;
};


/* "networkit/_NetworKit.pyx":3950
 * 		_EdgeListWriter(char separator, node firstNode, bool_t bothDirections) except +
 * 
 * cdef class EdgeListWriter(GraphWriter):             # <<<<<<<<<<<<<<
 * 	""" Writes graphs in various edge list formats.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_EdgeListWriter {
  struct __pyx_obj_9networkit_10_NetworKit_GraphWriter __pyx_base;
};


/* "networkit/_NetworKit.pyx":3975
 * 
 * 
 * cdef class LineFileReader:             # <<<<<<<<<<<<<<
 * 	""" Reads a file and puts each line in a list of strings """
 * 	cdef _LineFileReader _this
 */
struct __pyx_obj_9networkit_10_NetworKit_LineFileReader {
  PyObject_HEAD
  NetworKit::LineFileReader _this;
};


/* "networkit/_NetworKit.pyx":3987
 * 		_SNAPGraphWriter() except +
 * 
 * cdef class SNAPGraphWriter(GraphWriter):             # <<<<<<<<<<<<<<
 * 	""" Writes graphs in a format suitable for the Georgia Tech SNAP software [1]
 * 		[1]: http://snap-graph.sourceforge.net/
 */
struct __pyx_obj_9networkit_10_NetworKit_SNAPGraphWriter {
  struct __pyx_obj_9networkit_10_NetworKit_GraphWriter __pyx_base;
};


/* "networkit/_NetworKit.pyx":4001
 * 		_SNAPGraphReader(bool_t directed, bool_t remapNodes, count nodeCount)
 * 
 * cdef class SNAPGraphReader(GraphReader):             # <<<<<<<<<<<<<<
 * 	""" Reads a graph from the SNAP graph data collection [1]
 * 		[1]: http://snap.stanford.edu/data/index.html
 */
struct __pyx_obj_9networkit_10_NetworKit_SNAPGraphReader {
  struct __pyx_obj_9networkit_10_NetworKit_GraphReader __pyx_base;
};


/* "networkit/_NetworKit.pyx":4017
 * 
 * 
 * cdef class PartitionReader:             # <<<<<<<<<<<<<<
 * 	""" Reads a partition from a file.
 * 		File format: line i contains subset id of element i.
 */
struct __pyx_obj_9networkit_10_NetworKit_PartitionReader {
  PyObject_HEAD
  NetworKit::PartitionReader _this;
};


/* "networkit/_NetworKit.pyx":4034
 * 
 * 
 * cdef class PartitionWriter:             # <<<<<<<<<<<<<<
 * 	""" Writes a partition to a file.
 * 		File format: line i contains subset id of element i.
 */
struct __pyx_obj_9networkit_10_NetworKit_PartitionWriter {
  PyObject_HEAD
  NetworKit::PartitionWriter _this;
};


/* "networkit/_NetworKit.pyx":4053
 * 
 * 
 * cdef class BinaryPartitionReader:             # <<<<<<<<<<<<<<
 * 	"""
 * 	Reads a partition from a binary file that contains an unsigned integer
 */
struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionReader {
  PyObject_HEAD
  NetworKit::BinaryPartitionReader _this;
};


/* "networkit/_NetworKit.pyx":4079
 * 		_Partition write(_Partition zeta, string path) nogil except +
 * 
 * cdef class BinaryPartitionWriter:             # <<<<<<<<<<<<<<
 * 	"""
 * 	Writes a partition to a file to contains a binary list of partition ids.
 */
struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionWriter {
  PyObject_HEAD
  NetworKit::BinaryPartitionWriter _this;
};


/* "networkit/_NetworKit.pyx":4119
 * 
 * 
 * cdef class EdgeListPartitionReader:             # <<<<<<<<<<<<<<
 * 	""" Reads a partition from an edge list type of file
 * 	 """
 */
struct __pyx_obj_9networkit_10_NetworKit_EdgeListPartitionReader {
  PyObject_HEAD
  NetworKit::EdgeListPartitionReader _this;
};


/* "networkit/_NetworKit.pyx":4139
 * 
 * 
 * cdef class BinaryEdgeListPartitionReader:             # <<<<<<<<<<<<<<
 * 	"""
 * 	Reads a partition file that contains a binary list of pairs (node, partition(node)).
 */
struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionReader {
  PyObject_HEAD
  NetworKit::BinaryEdgeListPartitionReader _this;
};


/* "networkit/_NetworKit.pyx":4189
 * 		_Partition write(_Partition P, string path) nogil except +
 * 
 * cdef class BinaryEdgeListPartitionWriter:             # <<<<<<<<<<<<<<
 * 	"""
 * 	Writes a partition file that contains a binary list of pairs (node, partition(node)).
 */
struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter {
  PyObject_HEAD
  NetworKit::BinaryEdgeListPartitionWriter _this;
};


/* "networkit/_NetworKit.pyx":4228
 * #		_Partition readWithInfo(string path, count nNodes) except +
 * 
 * cdef class SNAPEdgeListPartitionReader:             # <<<<<<<<<<<<<<
 * 	""" Reads a partition from a SNAP 'community with ground truth' file
 * 	 """
 */
struct __pyx_obj_9networkit_10_NetworKit_SNAPEdgeListPartitionReader {
  PyObject_HEAD
  NetworKit::SNAPEdgeListPartitionReader _this;
};


/* "networkit/_NetworKit.pyx":4265
 * 		_Cover read(string path,_Graph G) except +
 * 
 * cdef class CoverReader:             # <<<<<<<<<<<<<<
 * 	""" Reads a cover from a file
 * 		File format: each line contains the space-separated node ids of a community
 */
struct __pyx_obj_9networkit_10_NetworKit_CoverReader {
  PyObject_HEAD
  NetworKit::CoverReader _this;
};


/* "networkit/_NetworKit.pyx":4281
 * 
 * 
 * cdef class CoverWriter:             # <<<<<<<<<<<<<<
 * 	""" Writes a partition to a file.
 * 		File format: each line contains the space-separated node ids of a community
 */
struct __pyx_obj_9networkit_10_NetworKit_CoverWriter {
  PyObject_HEAD
  NetworKit::CoverWriter _this;
};


/* "networkit/_NetworKit.pyx":4300
 * 
 * 
 * cdef class EdgeListCoverReader:             # <<<<<<<<<<<<<<
 * 	""" Reads a cover from an edge list type of file
 * 		File format: each line starts with a node id and continues with a list of the communities the node belongs to
 */
struct __pyx_obj_9networkit_10_NetworKit_EdgeListCoverReader {
  PyObject_HEAD
  NetworKit::EdgeListCoverReader _this;
};


/* "networkit/_NetworKit.pyx":4348
 * 
 * 
 * cdef class Partition:             # <<<<<<<<<<<<<<
 * 	""" Implements a partition of a set, i.e. a subdivision of the
 *  		set into disjoint subsets.
 */
struct __pyx_obj_9networkit_10_NetworKit_Partition {
  PyObject_HEAD
  struct __pyx_vtabstruct_9networkit_10_NetworKit_Partition *__pyx_vtab;
  NetworKit::Partition _this;
};


/* "networkit/_NetworKit.pyx":4736
 * 
 * 
 * cdef class Cover:             # <<<<<<<<<<<<<<
 * 	""" Implements a cover of a set, i.e. an assignment of its elements to possibly overlapping subsets. """
 * 	cdef _Cover _this
 */
struct __pyx_obj_9networkit_10_NetworKit_Cover {
  PyObject_HEAD
  struct __pyx_vtabstruct_9networkit_10_NetworKit_Cover *__pyx_vtab;
  NetworKit::Cover _this;
};


/* "networkit/_NetworKit.pyx":4986
 * 		_Partition makeNoncontinuousBalancedClustering(_Graph G, count k) except +
 * 
 * cdef class ClusteringGenerator:             # <<<<<<<<<<<<<<
 * 	""" Generators for various clusterings """
 * 	cdef _ClusteringGenerator _this
 */
struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator {
  PyObject_HEAD
  NetworKit::ClusteringGenerator _this;
};


/* "networkit/_NetworKit.pyx":5078
 * 	bool_t equalClusterings(_Partition zeta, _Partition eta, _Graph G)
 * 
 * cdef class GraphClusteringTools:             # <<<<<<<<<<<<<<
 * 	@staticmethod
 * 	def getImbalance(Partition zeta):
 */
struct __pyx_obj_9networkit_10_NetworKit_GraphClusteringTools {
  PyObject_HEAD
};


/* "networkit/_NetworKit.pyx":5110
 * 	void DFSEdgesFrom[Callback](_Graph G, node source, Callback c) nogil except +
 * 
 * cdef class Traversal:             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
struct __pyx_obj_9networkit_10_NetworKit_Traversal {
  PyObject_HEAD
};


/* "networkit/_NetworKit.pyx":5231
 * 	unordered_map[node,node] getRandomContinuousNodeIds(_Graph G) nogil except +
 * 
 * cdef class GraphTools:             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
struct __pyx_obj_9networkit_10_NetworKit_GraphTools {
  PyObject_HEAD
};


/* "networkit/_NetworKit.pyx":5640
 * 		_Partition calculate(_Partition zeta, _Partition eta) except +
 * 
 * cdef class PartitionIntersection:             # <<<<<<<<<<<<<<
 * 	""" Class for calculating the intersection of two partitions, i.e. the clustering with the fewest clusters
 * 	such that each cluster is a subset of a cluster in both partitions.
 */
struct __pyx_obj_9networkit_10_NetworKit_PartitionIntersection {
  PyObject_HEAD
  NetworKit::PartitionIntersection _this;
};


/* "networkit/_NetworKit.pyx":5668
 * 		double getQuality(_Partition _zeta, _Graph _G) except +
 * 
 * cdef class Coverage:             # <<<<<<<<<<<<<<
 * 	""" Coverage is the fraction of intra-community edges """
 * 	cdef _Coverage _this
 */
struct __pyx_obj_9networkit_10_NetworKit_Coverage {
  PyObject_HEAD
  NetworKit::Coverage _this;
};


/* "networkit/_NetworKit.pyx":5682
 * 		double getQuality(_Partition _zeta, _Graph _G) except +
 * 
 * cdef class EdgeCut:             # <<<<<<<<<<<<<<
 * 	""" Edge cut is the total weight of inter-community edges"""
 * 	cdef _EdgeCut _this
 */
struct __pyx_obj_9networkit_10_NetworKit_EdgeCut {
  PyObject_HEAD
  NetworKit::EdgeCut _this;
};


/* "networkit/_NetworKit.pyx":5697
 * 
 * 
 * cdef class Modularity:             # <<<<<<<<<<<<<<
 * 	"""	Modularity is a quality index for community detection.
 * 	It assigns a quality value in [-0.5, 1.0] to a partition of a graph which is higher for more modular networks and
 */
struct __pyx_obj_9networkit_10_NetworKit_Modularity {
  PyObject_HEAD
  NetworKit::Modularity _this;
};


/* "networkit/_NetworKit.pyx":5724
 * 		double getQuality(_Cover _zeta, _Graph _G) except +
 * 
 * cdef class HubDominance:             # <<<<<<<<<<<<<<
 * 	"""
 * 	A quality measure that measures the dominance of hubs in clusters. The hub dominance of a single
 */
struct __pyx_obj_9networkit_10_NetworKit_HubDominance {
  PyObject_HEAD
  NetworKit::HubDominance _this;
};


/* "networkit/_NetworKit.pyx":5768
 * 
 * 
 * cdef class CommunityDetector(Algorithm):             # <<<<<<<<<<<<<<
 * 	""" Abstract base class for static community detection algorithms """
 * 	cdef Graph _G
 */
struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":5797
 * 
 * 
 * cdef class PLP(CommunityDetector):             # <<<<<<<<<<<<<<
 * 	""" Parallel label propagation for community detection:
 * 	Moderate solution quality, very short time to solution.
 */
struct __pyx_obj_9networkit_10_NetworKit_PLP {
  struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector __pyx_base;
};


/* "networkit/_NetworKit.pyx":5860
 * 		count numberOfIterations()
 * 
 * cdef class LPDegreeOrdered(CommunityDetector):             # <<<<<<<<<<<<<<
 * 	""" Label propagation-based community detection algorithm which processes nodes in increasing order of node degree.	"""
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_LPDegreeOrdered {
  struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector __pyx_base;
};


/* "networkit/_NetworKit.pyx":5892
 * 
 * 
 * cdef class PLM(CommunityDetector):             # <<<<<<<<<<<<<<
 * 	""" Parallel Louvain Method - the Louvain method, optionally extended to
 * 		a full multi-level algorithm with refinement
 */
struct __pyx_obj_9networkit_10_NetworKit_PLM {
  struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector __pyx_base;
};


/* "networkit/_NetworKit.pyx":5946
 * 
 * 
 * cdef class CutClustering(CommunityDetector):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Cut clustering algorithm as defined in
 */
struct __pyx_obj_9networkit_10_NetworKit_CutClustering {
  struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector __pyx_base;
};


/* "networkit/_NetworKit.pyx":5992
 * 		return pyResult
 * 
 * cdef class DissimilarityMeasure:             # <<<<<<<<<<<<<<
 * 	""" Abstract base class for partition/community dissimilarity measures """
 * 	# TODO: use conventional class design of parametrized constructor, run-method and getters
 */
struct __pyx_obj_9networkit_10_NetworKit_DissimilarityMeasure {
  PyObject_HEAD
};


/* "networkit/_NetworKit.pyx":6004
 * 		double getDissimilarity(_Graph G, _Partition first, _Partition second) nogil except +
 * 
 * cdef class NodeStructuralRandMeasure(DissimilarityMeasure):             # <<<<<<<<<<<<<<
 * 	""" The node-structural Rand measure assigns a similarity value in [0,1]
 * 		to two partitions of a graph, by considering all pairs of nodes.
 */
struct __pyx_obj_9networkit_10_NetworKit_NodeStructuralRandMeasure {
  struct __pyx_obj_9networkit_10_NetworKit_DissimilarityMeasure __pyx_base;
  NetworKit::NodeStructuralRandMeasure _this;
};


/* "networkit/_NetworKit.pyx":6023
 * 		double getDissimilarity(_Graph G, _Partition first, _Partition second) nogil except +
 * 
 * cdef class GraphStructuralRandMeasure(DissimilarityMeasure):             # <<<<<<<<<<<<<<
 * 	""" The graph-structural Rand measure assigns a similarity value in [0,1]
 * 		to two partitions of a graph, by considering connected pairs of nodes.
 */
struct __pyx_obj_9networkit_10_NetworKit_GraphStructuralRandMeasure {
  struct __pyx_obj_9networkit_10_NetworKit_DissimilarityMeasure __pyx_base;
  NetworKit::GraphStructuralRandMeasure _this;
};


/* "networkit/_NetworKit.pyx":6042
 * 		double getDissimilarity(_Graph G, _Partition first, _Partition second) nogil except +
 * 
 * cdef class JaccardMeasure(DissimilarityMeasure):             # <<<<<<<<<<<<<<
 * 	""" TODO:
 * 	"""
 */
struct __pyx_obj_9networkit_10_NetworKit_JaccardMeasure {
  struct __pyx_obj_9networkit_10_NetworKit_DissimilarityMeasure __pyx_base;
  NetworKit::JaccardMeasure _this;
};


/* "networkit/_NetworKit.pyx":6059
 * 		double getDissimilarity(_Graph G, _Partition first, _Partition second) nogil except +
 * 
 * cdef class NMIDistance(DissimilarityMeasure):             # <<<<<<<<<<<<<<
 * 	""" The NMI distance assigns a similarity value in [0,1] to two partitions
 * 		of a graph.
 */
struct __pyx_obj_9networkit_10_NetworKit_NMIDistance {
  struct __pyx_obj_9networkit_10_NetworKit_DissimilarityMeasure __pyx_base;
  NetworKit::NMIDistance _this;
};


/* "networkit/_NetworKit.pyx":6076
 * 		double getDissimilarity(_Graph G, _Partition first, _Partition second) nogil except +
 * 
 * cdef class AdjustedRandMeasure(DissimilarityMeasure):             # <<<<<<<<<<<<<<
 * 	"""
 * 	The adjusted rand dissimilarity measure as proposed by Huber and Arabie in "Comparing partitions" (http://link.springer.com/article/10.1007/BF01908075)
 */
struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandMeasure {
  struct __pyx_obj_9networkit_10_NetworKit_DissimilarityMeasure __pyx_base;
  NetworKit::AdjustedRandMeasure _this;
};


/* "networkit/_NetworKit.pyx":6118
 * 		bool_t isSmallBetter() except +
 * 
 * cdef class LocalCommunityEvaluation(Algorithm):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Virtual base class of all evaluation methods for a single clustering which is based on the evaluation of single clusters.
 */
struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
};


/* "networkit/_NetworKit.pyx":6221
 * 		pass
 * 
 * cdef class LocalPartitionEvaluation(LocalCommunityEvaluation):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Virtual base class of all evaluation methods for a single clustering which is based on the evaluation of single clusters.
 */
struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation {
  struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *_P;
};


/* "networkit/_NetworKit.pyx":6249
 * 
 * 
 * cdef class LocalCoverEvaluation(LocalCommunityEvaluation):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Virtual base class of all evaluation methods for a single clustering which is based on the evaluation of single clusters.
 */
struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation {
  struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
  struct __pyx_obj_9networkit_10_NetworKit_Cover *_C;
};


/* "networkit/_NetworKit.pyx":6276
 * 		double getGlobal() except +
 * 
 * cdef class IntrapartitionDensity(LocalPartitionEvaluation):             # <<<<<<<<<<<<<<
 * 	"""
 * 	The intra-cluster density of a partition is defined as the number of existing edges divided by the number of possible edges.
 */
struct __pyx_obj_9networkit_10_NetworKit_IntrapartitionDensity {
  struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation __pyx_base;
};


/* "networkit/_NetworKit.pyx":6309
 * 		_IsolatedInterpartitionConductance(_Graph G, _Partition P) except +
 * 
 * cdef class IsolatedInterpartitionConductance(LocalPartitionEvaluation):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Isolated inter-partition conductance is a measure for how well a partition
 */
struct __pyx_obj_9networkit_10_NetworKit_IsolatedInterpartitionConductance {
  struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation __pyx_base;
};


/* "networkit/_NetworKit.pyx":6340
 * 		_IsolatedInterpartitionExpansion(_Graph G, _Partition P) except +
 * 
 * cdef class IsolatedInterpartitionExpansion(LocalPartitionEvaluation):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Isolated inter-partition expansion is a measure for how well a partition
 */
struct __pyx_obj_9networkit_10_NetworKit_IsolatedInterpartitionExpansion {
  struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation __pyx_base;
};


/* "networkit/_NetworKit.pyx":6371
 * 		_CoverHubDominance(_Graph G, _Cover C) except +
 * 
 * cdef class CoverHubDominance(LocalCoverEvaluation):             # <<<<<<<<<<<<<<
 * 	"""
 * 	A quality measure that measures the dominance of hubs in clusters. The hub dominance of a single
 */
struct __pyx_obj_9networkit_10_NetworKit_CoverHubDominance {
  struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation __pyx_base;
};


/* "networkit/_NetworKit.pyx":6400
 * 		_PartitionHubDominance(_Graph G, _Partition C) except +
 * 
 * cdef class PartitionHubDominance(LocalPartitionEvaluation):             # <<<<<<<<<<<<<<
 * 	"""
 * 	A quality measure that measures the dominance of hubs in clusters. The hub dominance of a single
 */
struct __pyx_obj_9networkit_10_NetworKit_PartitionHubDominance {
  struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation __pyx_base;
};


/* "networkit/_NetworKit.pyx":6428
 * 		_PartitionFragmentation(_Graph G, _Partition C) except +
 * 
 * cdef class PartitionFragmentation(LocalPartitionEvaluation):             # <<<<<<<<<<<<<<
 * 	"""
 * 	This measure evaluates how fragmented a partition is. The fragmentation of a single cluster is defined as one minus the
 */
struct __pyx_obj_9networkit_10_NetworKit_PartitionFragmentation {
  struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation __pyx_base;
};


/* "networkit/_NetworKit.pyx":6449
 * 		bool_t isStable(node u) except +
 * 
 * cdef class StablePartitionNodes(LocalPartitionEvaluation):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Evaluates how stable a given partition is. A node is considered to be stable if it has strictly more connections
 */
struct __pyx_obj_9networkit_10_NetworKit_StablePartitionNodes {
  struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation __pyx_base;
};


/* "networkit/_NetworKit.pyx":6491
 * 		_CoverF1Similarity(_Graph G, _Cover C, _Cover reference) except +
 * 
 * cdef class CoverF1Similarity(LocalCoverEvaluation):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Compare a given cover to a reference cover using the F1 measure.
 */
struct __pyx_obj_9networkit_10_NetworKit_CoverF1Similarity {
  struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Cover *_reference;
};


/* "networkit/_NetworKit.pyx":6538
 * 		vector[edgeweight] getFlowVector() except +
 * 
 * cdef class EdmondsKarp:             # <<<<<<<<<<<<<<
 * 	"""
 * 	The EdmondsKarp class implements the maximum flow algorithm by Edmonds and Karp.
 */
struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp {
  PyObject_HEAD
  NetworKit::EdmondsKarp *_this;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_graph;
};


/* "networkit/_NetworKit.pyx":6638
 * 		_Graph extractLargestConnectedComponent(_Graph G, bool_t) nogil except +
 * 
 * cdef class ConnectedComponents(Algorithm):             # <<<<<<<<<<<<<<
 * 	""" Determines the connected components and associated values for an undirected graph.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":6741
 * 
 * 
 * cdef class ParallelConnectedComponents(Algorithm):             # <<<<<<<<<<<<<<
 * 	""" Determines the connected components and associated values for
 * 		an undirected graph.
 */
struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":6773
 * 
 * 
 * cdef class StronglyConnectedComponents:             # <<<<<<<<<<<<<<
 * 	""" Determines the connected components and associated values for
 * 		a directed graph.
 */
struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents {
  PyObject_HEAD
  NetworKit::StronglyConnectedComponents *_this;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":6831
 * 		vector[vector[node]] getComponents() except +
 * 
 * cdef class WeaklyConnectedComponents(Algorithm):             # <<<<<<<<<<<<<<
 * 	""" Determines the weakly connected components of a directed graph.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":6891
 * 		vector[vector[node]] getComponents() except +
 * 
 * cdef class BiconnectedComponents(Algorithm):             # <<<<<<<<<<<<<<
 * 	""" Determines the biconnected components of an undirected graph as defined in
 * 		Tarjan, Robert. Depth-First Search and Linear Graph Algorithms. SIAM J.
 */
struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":6947
 * 		vector[vector[node]] getComponents() except +
 * 
 * cdef class DynConnectedComponents(Algorithm):             # <<<<<<<<<<<<<<
 * 	""" Determines and updates the connected components of an undirected graph.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":7036
 * 		vector[vector[node]] getComponents() except +
 * 
 * cdef class DynWeaklyConnectedComponents(Algorithm):             # <<<<<<<<<<<<<<
 * 	""" Determines and updates the weakly connected components of a directed graph.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":7123
 * 		double approxGlobal(_Graph G, count trials) nogil except +
 * 
 * cdef class ClusteringCoefficient:             # <<<<<<<<<<<<<<
 * 	@staticmethod
 * 	def avgLocal(Graph G, bool_t turbo = False):
 */
struct __pyx_obj_9networkit_10_NetworKit_ClusteringCoefficient {
  PyObject_HEAD
};


/* "networkit/_NetworKit.pyx":7218
 * 		pair[count, count] getDiameter() nogil except +
 * 
 * cdef class Diameter(Algorithm):             # <<<<<<<<<<<<<<
 * 	cdef Graph _G
 * 	"""
 */
struct __pyx_obj_9networkit_10_NetworKit_Diameter {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":7235
 * 	pair[node, count] getValue(_Graph G, node v) except +
 * 
 * cdef class Eccentricity:             # <<<<<<<<<<<<<<
 * 	"""
 * 	The eccentricity of a node `u` is defined as the distance to the farthest node from node u. In other words, it is the longest shortest-path starting from node `u`.
 */
struct __pyx_obj_9networkit_10_NetworKit_Eccentricity {
  PyObject_HEAD
};


/* "networkit/_NetworKit.pyx":7257
 * 		double getEffectiveDiameter() except +
 * 
 * cdef class EffectiveDiameter(Algorithm):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Calculates the effective diameter of a graph.
 */
struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameter {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":7291
 * 		double getEffectiveDiameter() except +
 * 
 * cdef class EffectiveDiameterApproximation(Algorithm):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Calculates the effective diameter of a graph.
 */
struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameterApproximation {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":7333
 * 		map[count, double] getHopPlot() except +
 * 
 * cdef class HopPlotApproximation(Algorithm):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Computes an approxmation of the hop-plot of a given graph.
 */
struct __pyx_obj_9networkit_10_NetworKit_HopPlotApproximation {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":7381
 * 		vector[count] getNeighborhoodFunction() except +
 * 
 * cdef class NeighborhoodFunction(Algorithm):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Computes the neighborhood function exactly.
 */
struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunction {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":7414
 * 		vector[count] getNeighborhoodFunction() except +
 * 
 * cdef class NeighborhoodFunctionApproximation(Algorithm):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Computes an approximation of the neighborhood function.
 */
struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionApproximation {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":7460
 * 		vector[count] getNeighborhoodFunction() except +
 * 
 * cdef class NeighborhoodFunctionHeuristic(Algorithm):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Computes a heuristic of the neighborhood function.
 */
struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":7501
 * 		double getCoefficient() except +
 * 
 * cdef class Assortativity(Algorithm):             # <<<<<<<<<<<<<<
 * 	""" """
 * 	cdef Graph G
 */
struct __pyx_obj_9networkit_10_NetworKit_Assortativity {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *G;
  std::vector<double>  attribute;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *partition;
};


/* "networkit/_NetworKit.pyx":7539
 * 
 * 
 * cdef class Centrality(Algorithm):             # <<<<<<<<<<<<<<
 * 	""" Abstract base class for centrality measures"""
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_Centrality {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":7621
 * 
 * 
 * cdef class TopCloseness(Algorithm):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Finds the top k nodes with highest closeness centrality faster than computing it for all nodes, based on "Computing Top-k Closeness Centrality Faster in Unweighted Graphs", Bergamini et al., ALENEX16.
 */
struct __pyx_obj_9networkit_10_NetworKit_TopCloseness {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":7688
 * 
 * 
 * cdef class TopHarmonicCloseness(Algorithm):             # <<<<<<<<<<<<<<
 * 	""" Finds the top k nodes with highest harmonic closeness centrality faster
 *             than computing it for all nodes. The implementation is based on "Computing
 */
struct __pyx_obj_9networkit_10_NetworKit_TopHarmonicCloseness {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":7763
 * 		bool_t areDistinguished(node, node) except +
 * 
 * cdef class DynKatzCentrality(Centrality):             # <<<<<<<<<<<<<<
 * 	""" Finds the top-k nodes with highest Katz centrality.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality {
  struct __pyx_obj_9networkit_10_NetworKit_Centrality __pyx_base;
};


/* "networkit/_NetworKit.pyx":7801
 * 		void updateBatch(vector[_GraphEvent]) except +
 * 
 * cdef class DynTopHarmonicCloseness(Algorithm):             # <<<<<<<<<<<<<<
 * 	""" Finds the top k nodes with highest harmonic closeness centrality faster
 *         than computing it for all nodes and updates them after a single or multiple
 */
struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":7913
 * 
 * 
 * cdef class GroupDegree(Algorithm):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Finds the group with the highest group degree centrality according to the
 */
struct __pyx_obj_9networkit_10_NetworKit_GroupDegree {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":7990
 * 
 * 
 * cdef class GroupCloseness(Algorithm):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Finds the group of nodes with highest (group) closeness centrality. The algorithm is the one proposed in Bergamini et al., ALENEX 2018 and finds a solution that is a (1-1/e)-approximation of the optimum.
 */
struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":8046
 * 		_DegreeCentrality(_Graph, bool_t normalized, bool_t outdeg, bool_t ignoreSelfLoops) except +
 * 
 * cdef class DegreeCentrality(Centrality):             # <<<<<<<<<<<<<<
 * 	""" Node centrality index which ranks nodes by their degree.
 *  	Optional normalization by maximum degree. The run() method runs in O(m) time, where m is the number of
 */
struct __pyx_obj_9networkit_10_NetworKit_DegreeCentrality {
  struct __pyx_obj_9networkit_10_NetworKit_Centrality __pyx_base;
};


/* "networkit/_NetworKit.pyx":8080
 * 		vector[double] edgeScores() except +
 * 
 * cdef class Betweenness(Centrality):             # <<<<<<<<<<<<<<
 * 	"""
 * 		Betweenness(G, normalized=False, computeEdgeCentrality=False)
 */
struct __pyx_obj_9networkit_10_NetworKit_Betweenness {
  struct __pyx_obj_9networkit_10_NetworKit_Centrality __pyx_base;
};


/* "networkit/_NetworKit.pyx":8120
 * 		vector[node] groupMaxBetweenness() except +
 * 
 * cdef class ApproxGroupBetweenness(Algorithm):             # <<<<<<<<<<<<<<
 * 	"""
 * 		ApproxGroupBetweenness(G, groupSize, epsilon)
 */
struct __pyx_obj_9networkit_10_NetworKit_ApproxGroupBetweenness {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":8170
 * 		_Closeness(_Graph, bool, bool) except +
 * 
 * cdef class Closeness(Centrality):             # <<<<<<<<<<<<<<
 * 	"""
 * 		Closeness(G, normalized, bool checkConnectdedness)
 */
struct __pyx_obj_9networkit_10_NetworKit_Closeness {
  struct __pyx_obj_9networkit_10_NetworKit_Centrality __pyx_base;
};


/* "networkit/_NetworKit.pyx":8214
 * 		_HarmonicCloseness(_Graph, bool_t) except +
 * 
 * cdef class HarmonicCloseness(Centrality):             # <<<<<<<<<<<<<<
 * 	"""
 * 	        HarmonicCloseness(G, normalized=True)
 */
struct __pyx_obj_9networkit_10_NetworKit_HarmonicCloseness {
  struct __pyx_obj_9networkit_10_NetworKit_Centrality __pyx_base;
};


/* "networkit/_NetworKit.pyx":8244
 * 		_KPathCentrality(_Graph, double, count) except +
 * 
 * cdef class KPathCentrality(Centrality):             # <<<<<<<<<<<<<<
 * 	"""
 * 		KPathCentrality(G, alpha=0.2, k=0)
 */
struct __pyx_obj_9networkit_10_NetworKit_KPathCentrality {
  struct __pyx_obj_9networkit_10_NetworKit_Centrality __pyx_base;
};


/* "networkit/_NetworKit.pyx":8271
 * 		_KatzCentrality(_Graph, double, double, double) except +
 * 
 * cdef class KatzCentrality(Centrality):             # <<<<<<<<<<<<<<
 * 	"""
 * 		KatzCentrality(G, alpha=5e-4, beta=0.1, tol=1e-8)
 */
struct __pyx_obj_9networkit_10_NetworKit_KatzCentrality {
  struct __pyx_obj_9networkit_10_NetworKit_Centrality __pyx_base;
};


/* "networkit/_NetworKit.pyx":8309
 * 		count getNumberOfEdgeWeightUpdates() except +
 * 
 * cdef class GraphDifference(Algorithm):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Calculate the edge difference between two graphs.
 */
struct __pyx_obj_9networkit_10_NetworKit_GraphDifference {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G1;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G2;
};


/* "networkit/_NetworKit.pyx":8423
 * 		count numberOfSamples() except +
 * 
 * cdef class ApproxBetweenness(Centrality):             # <<<<<<<<<<<<<<
 * 	""" Approximation of betweenness centrality according to algorithm described in
 *  	Matteo Riondato and Evgenios M. Kornaropoulos: Fast Approximation of Betweenness Centrality through Sampling
 */
struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness {
  struct __pyx_obj_9networkit_10_NetworKit_Centrality __pyx_base;
};


/* "networkit/_NetworKit.pyx":8469
 * 		double getOmega() except +
 * 
 * cdef class KadabraBetweenness(Algorithm):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Approximation of the betweenness centrality and computation of the top-k
 */
struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
};


/* "networkit/_NetworKit.pyx":8594
 * 
 * 
 * cdef class EstimateBetweenness(Centrality):             # <<<<<<<<<<<<<<
 * 	""" Estimation of betweenness centrality according to algorithm described in
 * 	Sanders, Geisberger, Schultes: Better Approximation of Betweenness Centrality
 */
struct __pyx_obj_9networkit_10_NetworKit_EstimateBetweenness {
  struct __pyx_obj_9networkit_10_NetworKit_Centrality __pyx_base;
};


/* "networkit/_NetworKit.pyx":8624
 * 
 * 
 * cdef class ApproxBetweenness2(Centrality):             # <<<<<<<<<<<<<<
 * 	""" DEPRECATED: Use EstimateBetweenness instead.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness2 {
  struct __pyx_obj_9networkit_10_NetworKit_Centrality __pyx_base;
};


/* "networkit/_NetworKit.pyx":8674
 * 
 * 
 * cdef class ApproxCloseness(Centrality):             # <<<<<<<<<<<<<<
 * 	""" Approximation of closeness centrality according to algorithm described in
 *   Cohen et al., Computing Classic Closeness Centrality, at Scale.
 */
struct __pyx_obj_9networkit_10_NetworKit_ApproxCloseness {
  struct __pyx_obj_9networkit_10_NetworKit_Centrality __pyx_base;
};


/* "networkit/_NetworKit.pyx":8725
 * 		_PageRank(_Graph, double damp, double tol) except +
 * 
 * cdef class PageRank(Centrality):             # <<<<<<<<<<<<<<
 * 	"""	Compute PageRank as node centrality measure.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_PageRank {
  struct __pyx_obj_9networkit_10_NetworKit_Centrality __pyx_base;
};


/* "networkit/_NetworKit.pyx":8751
 * 		_EigenvectorCentrality(_Graph, double tol) except +
 * 
 * cdef class EigenvectorCentrality(Centrality):             # <<<<<<<<<<<<<<
 * 	"""	Computes the leading eigenvector of the graph's adjacency matrix (normalized in 2-norm).
 * 	Interpreted as eigenvector centrality score.
 */
struct __pyx_obj_9networkit_10_NetworKit_EigenvectorCentrality {
  struct __pyx_obj_9networkit_10_NetworKit_Centrality __pyx_base;
};


/* "networkit/_NetworKit.pyx":8781
 * 		vector[node] getNodeOrder() except +
 * 
 * cdef class CoreDecomposition(Centrality):             # <<<<<<<<<<<<<<
 * 	""" Computes k-core decomposition of a graph.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_CoreDecomposition {
  struct __pyx_obj_9networkit_10_NetworKit_Centrality __pyx_base;
};


/* "networkit/_NetworKit.pyx":8853
 * 		_LocalClusteringCoefficient(_Graph, bool_t) except +
 * 
 * cdef class LocalClusteringCoefficient(Centrality):             # <<<<<<<<<<<<<<
 * 	"""
 * 		LocalClusteringCoefficient(G, turbo=False)
 */
struct __pyx_obj_9networkit_10_NetworKit_LocalClusteringCoefficient {
  struct __pyx_obj_9networkit_10_NetworKit_Centrality __pyx_base;
};


/* "networkit/_NetworKit.pyx":8888
 * 		_Sfigality(_Graph) except +
 * 
 * cdef class Sfigality(Centrality):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Sfigality is a new type of node centrality measures that is high if neighboring nodes have a higher degree, e.g. in social networks, if your friends have more friends than you. Formally:
 */
struct __pyx_obj_9networkit_10_NetworKit_Sfigality {
  struct __pyx_obj_9networkit_10_NetworKit_Centrality __pyx_base;
};


/* "networkit/_NetworKit.pyx":8917
 * 		count getNumberOfSamples() except +
 * 
 * cdef class DynApproxBetweenness(Algorithm):             # <<<<<<<<<<<<<<
 * 	""" The algorithm approximates the betweenness of all vertices so that the scores are
 * 	  within an additive error @a epsilon with probability at least (1- @a delta).
 */
struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":9022
 * 		double score(node) except +
 * 
 * cdef class DynBetweenness(Algorithm):             # <<<<<<<<<<<<<<
 * 	""" The algorithm computes the betweenness centrality of all nodes
 * 			and updates them after an edge insertion.
 */
struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":9109
 * 		double getbcx() except +
 * 
 * cdef class DynBetweennessOneNode:             # <<<<<<<<<<<<<<
 * 	""" Dynamic exact algorithm for updating the betweenness of a specific node
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode {
  PyObject_HEAD
  NetworKit::DynBetweennessOneNode *_this;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":9189
 * 		double getPermanence(node u) except +
 * 
 * cdef class PermanenceCentrality(Algorithm):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Permanence centrality
 */
struct __pyx_obj_9networkit_10_NetworKit_PermanenceCentrality {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *_P;
};


/* "networkit/_NetworKit.pyx":9222
 * 		_LocalPartitionCoverage(_Graph, _Partition) except +
 * 
 * cdef class LocalPartitionCoverage(Centrality):             # <<<<<<<<<<<<<<
 * 	"""
 * 	The local partition coverage is the amount of neighbors of a node u that are in the same partition as u.
 */
struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionCoverage {
  struct __pyx_obj_9networkit_10_NetworKit_Centrality __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *_P;
};


/* "networkit/_NetworKit.pyx":9248
 * 		_LaplacianCentrality(_Graph, bool_t) except +
 * 
 * cdef class LaplacianCentrality(Centrality):             # <<<<<<<<<<<<<<
 * 	""" Computes the Laplacian centrality of the graph.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_LaplacianCentrality {
  struct __pyx_obj_9networkit_10_NetworKit_Centrality __pyx_base;
};


/* "networkit/_NetworKit.pyx":9299
 * 	bool_t _GraphEvent_compare "NetworKit::GraphEvent::compare"(_GraphEvent a, _GraphEvent b) except +
 * 
 * cdef class GraphEvent:             # <<<<<<<<<<<<<<
 * 	cdef _GraphEvent _this
 * 	NODE_ADDITION = 0
 */
struct __pyx_obj_9networkit_10_NetworKit_GraphEvent {
  PyObject_HEAD
  NetworKit::GraphEvent _this;
};


/* "networkit/_NetworKit.pyx":9353
 * 		vector[_GraphEvent] getStream() except +
 * 
 * cdef class DGSStreamParser:             # <<<<<<<<<<<<<<
 * 	cdef _DGSStreamParser* _this
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_DGSStreamParser {
  PyObject_HEAD
  NetworKit::DGSStreamParser *_this;
};


/* "networkit/_NetworKit.pyx":9372
 * 
 * 
 * cdef class DGSWriter:             # <<<<<<<<<<<<<<
 * 	cdef _DGSWriter* _this
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_DGSWriter {
  PyObject_HEAD
  NetworKit::DGSWriter *_this;
};


/* "networkit/_NetworKit.pyx":9429
 * 
 * 
 * cdef class DynamicPathGenerator:             # <<<<<<<<<<<<<<
 * 	""" Example dynamic graph generator: Generates a dynamically growing path. """
 * 	cdef _DynamicPathGenerator* _this
 */
struct __pyx_obj_9networkit_10_NetworKit_DynamicPathGenerator {
  PyObject_HEAD
  NetworKit::DynamicPathGenerator *_this;
};


/* "networkit/_NetworKit.pyx":9450
 * 
 * 
 * cdef class DynamicDorogovtsevMendesGenerator:             # <<<<<<<<<<<<<<
 * 	""" Generates a graph according to the Dorogovtsev-Mendes model.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator {
  PyObject_HEAD
  NetworKit::DynamicDorogovtsevMendesGenerator *_this;
};


/* "networkit/_NetworKit.pyx":9484
 * 		vector[pair[node, _Point2D]] getNewCoordinates()
 * 
 * cdef class DynamicPubWebGenerator:             # <<<<<<<<<<<<<<
 * 	cdef _DynamicPubWebGenerator* _this
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator {
  PyObject_HEAD
  NetworKit::DynamicPubWebGenerator *_this;
};


/* "networkit/_NetworKit.pyx":9523
 * 
 * 
 * cdef class DynamicHyperbolicGenerator:             # <<<<<<<<<<<<<<
 * 	cdef _DynamicHyperbolicGenerator* _this
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_DynamicHyperbolicGenerator {
  PyObject_HEAD
  NetworKit::DynamicHyperbolicGenerator *_this;
};


/* "networkit/_NetworKit.pyx":9576
 * 
 * 
 * cdef class DynamicForestFireGenerator:             # <<<<<<<<<<<<<<
 * 	""" Generates a graph according to the forest fire model.
 * 	 The forest fire generative model produces dynamic graphs with the following properties:
 */
struct __pyx_obj_9networkit_10_NetworKit_DynamicForestFireGenerator {
  PyObject_HEAD
  NetworKit::DynamicForestFireGenerator *_this;
};


/* "networkit/_NetworKit.pyx":9625
 * 		vector[pair[count, count]] getSizeTimeline() except +
 * 
 * cdef class GraphUpdater:             # <<<<<<<<<<<<<<
 * 	""" Updates a graph according to a stream of graph events.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_GraphUpdater {
  PyObject_HEAD
  NetworKit::GraphUpdater *_this;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":9661
 * 		map[node, vector[node]] getCoarseToFineNodeMapping() except +
 * 
 * cdef class GraphCoarsening(Algorithm):             # <<<<<<<<<<<<<<
 * 	cdef Graph _G
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":9684
 * 
 * 
 * cdef class ParallelPartitionCoarsening(GraphCoarsening):             # <<<<<<<<<<<<<<
 * 	def __cinit__(self, Graph G not None, Partition zeta not None, useGraphBuilder = True):
 * 		self._this = new _ParallelPartitionCoarsening(G._this, zeta._this, useGraphBuilder)
 */
struct __pyx_obj_9networkit_10_NetworKit_ParallelPartitionCoarsening {
  struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening __pyx_base;
};


/* "networkit/_NetworKit.pyx":9694
 * 
 * 
 * cdef class MatchingCoarsening(GraphCoarsening):             # <<<<<<<<<<<<<<
 * 	"""Coarsens graph according to a matching.
 *  	Parameters
 */
struct __pyx_obj_9networkit_10_NetworKit_MatchingCoarsening {
  struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening __pyx_base;
};


/* "networkit/_NetworKit.pyx":9716
 * 		map[node, set[node]] run(set[node] seeds) except +
 * 
 * cdef class PageRankNibble:             # <<<<<<<<<<<<<<
 * 	"""
 * 	Produces a cut around a given seed node using the PageRank-Nibble algorithm.
 */
struct __pyx_obj_9networkit_10_NetworKit_PageRankNibble {
  PyObject_HEAD
  NetworKit::PageRankNibble *_this;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":9750
 * 		map[node, set[node]] run(set[node] seeds) except +
 * 
 * cdef class GCE:             # <<<<<<<<<<<<<<
 * 	"""
 * 	Produces a cut around a given seed node using the GCE algorithm.
 */
struct __pyx_obj_9networkit_10_NetworKit_GCE {
  PyObject_HEAD
  NetworKit::GCE *_this;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":9803
 * 		vector[vector[node]] getCliques() except +
 * 
 * cdef class MaximalCliques(Algorithm):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Algorithm for listing all maximal cliques.
 */
struct __pyx_obj_9networkit_10_NetworKit_MaximalCliques {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  __pyx_t_9networkit_10_NetworKit_NodeVectorCallbackWrapper *_callback;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
  PyObject *_py_callback;
};


/* "networkit/_NetworKit.pyx":9885
 * 		void setGraph(const _Graph& newGraph) except +
 * 
 * cdef class LinkPredictor:             # <<<<<<<<<<<<<<
 * 	""" Abstract base class for link predictors.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor {
  PyObject_HEAD
  NetworKit::LinkPredictor *_this;
};


/* "networkit/_NetworKit.pyx":9973
 * 		_KatzIndex(const _Graph& G, count maxPathLength, double dampingValue) except +
 * 
 * cdef class KatzIndex(LinkPredictor):             # <<<<<<<<<<<<<<
 * 	""" Implementation of the Katz index.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_KatzIndex {
  struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor __pyx_base;
};


/* "networkit/_NetworKit.pyx":10021
 * 		_CommonNeighborsIndex(const _Graph& G) except +
 * 
 * cdef class CommonNeighborsIndex(LinkPredictor):             # <<<<<<<<<<<<<<
 * 	""" The CommonNeighborsIndex calculates the number of common neighbors of a node-pair in a given graph.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_CommonNeighborsIndex {
  struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor __pyx_base;
};


/* "networkit/_NetworKit.pyx":10058
 * 		_PreferentialAttachmentIndex(const _Graph& G) except +
 * 
 * cdef class PreferentialAttachmentIndex(LinkPredictor):             # <<<<<<<<<<<<<<
 * 	""" Implementation of the Preferential Attachment Index.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_PreferentialAttachmentIndex {
  struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor __pyx_base;
};


/* "networkit/_NetworKit.pyx":10098
 * 	vector[double] volume(const _Graph G, const vector[double] r, const count samples) nogil except +
 * 
 * cdef class Volume:             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
struct __pyx_obj_9networkit_10_NetworKit_Volume {
  PyObject_HEAD
};


/* "networkit/_NetworKit.pyx":10151
 * 		_JaccardIndex(const _Graph& G) except +
 * 
 * cdef class JaccardIndex(LinkPredictor):             # <<<<<<<<<<<<<<
 * 	""" Implementation of the Jaccard index which normalizes the Common Neighbors Index.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_JaccardIndex {
  struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor __pyx_base;
};


/* "networkit/_NetworKit.pyx":10190
 * 		_AdamicAdarIndex(const _Graph& G) except +
 * 
 * cdef class AdamicAdarIndex(LinkPredictor):             # <<<<<<<<<<<<<<
 * 	""" Implementation of the Adamic/Adar Index.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarIndex {
  struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor __pyx_base;
};


/* "networkit/_NetworKit.pyx":10230
 * 		_UDegreeIndex(const _Graph& G) except +
 * 
 * cdef class UDegreeIndex(LinkPredictor):             # <<<<<<<<<<<<<<
 * 	""" Index that simply returns the degree of the first given node.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_UDegreeIndex {
  struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor __pyx_base;
};


/* "networkit/_NetworKit.pyx":10267
 * 		_VDegreeIndex(const _Graph& G) except +
 * 
 * cdef class VDegreeIndex(LinkPredictor):             # <<<<<<<<<<<<<<
 * 	""" Index that simply returns the degree of the second given node.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_VDegreeIndex {
  struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor __pyx_base;
};


/* "networkit/_NetworKit.pyx":10306
 * 		double run(node u, node v) except +
 * 
 * cdef class AlgebraicDistanceIndex(LinkPredictor):             # <<<<<<<<<<<<<<
 * 	""" Algebraic distance assigns a distance value to pairs of nodes according to their structural closeness in the graph.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistanceIndex {
  struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor __pyx_base;
};


/* "networkit/_NetworKit.pyx":10363
 * 		double run(node u, node v) except +
 * 
 * cdef class NeighborhoodDistanceIndex(LinkPredictor):             # <<<<<<<<<<<<<<
 * 	""" Assigns a distance value to pairs of nodes according to the overlap of their neighborhoods.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodDistanceIndex {
  struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor __pyx_base;
};


/* "networkit/_NetworKit.pyx":10399
 * 		_TotalNeighborsIndex(const _Graph& G) except +
 * 
 * cdef class TotalNeighborsIndex(LinkPredictor):             # <<<<<<<<<<<<<<
 * 	""" Implementation of the Total Neighbors Index.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_TotalNeighborsIndex {
  struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor __pyx_base;
};


/* "networkit/_NetworKit.pyx":10439
 * 		_NeighborsMeasureIndex(const _Graph& G) except +
 * 
 * cdef class NeighborsMeasureIndex(LinkPredictor):             # <<<<<<<<<<<<<<
 * 	""" Implementation of the Neighbors Measure Index.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_NeighborsMeasureIndex {
  struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor __pyx_base;
};


/* "networkit/_NetworKit.pyx":10479
 * 		_SameCommunityIndex(const _Graph& G) except +
 * 
 * cdef class SameCommunityIndex(LinkPredictor):             # <<<<<<<<<<<<<<
 * 	""" Index to determine whether two nodes are in the same community.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_SameCommunityIndex {
  struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor __pyx_base;
};


/* "networkit/_NetworKit.pyx":10516
 * 		_AdjustedRandIndex(const _Graph& G) except +
 * 
 * cdef class AdjustedRandIndex(LinkPredictor):             # <<<<<<<<<<<<<<
 * 	""" AdjustedRandIndex proposed by Hoffman et al. with natural threshold of 0.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandIndex {
  struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor __pyx_base;
};


/* "networkit/_NetworKit.pyx":10553
 * 		_ResourceAllocationIndex(const _Graph& G) except +
 * 
 * cdef class ResourceAllocationIndex(LinkPredictor):             # <<<<<<<<<<<<<<
 * 	""" Implementation of the ResourceAllocationIndex.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_ResourceAllocationIndex {
  struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor __pyx_base;
};


/* "networkit/_NetworKit.pyx":10592
 * 	_Graph byCount(_Graph G, count numLinks) except +
 * 
 * cdef class RandomLinkSampler:             # <<<<<<<<<<<<<<
 * 	""" Provides methods to randomly sample a number of edges from a given graph. """
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_RandomLinkSampler {
  PyObject_HEAD
};


/* "networkit/_NetworKit.pyx":10644
 * 		double getAreaUnderCurve(pair[vector[double], vector[double]] curve) except +
 * 
 * cdef class EvaluationMetric:             # <<<<<<<<<<<<<<
 * 	""" Abstract base class for evaluation curves.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_EvaluationMetric {
  PyObject_HEAD
  NetworKit::EvaluationMetric *_this;
};


/* "networkit/_NetworKit.pyx":10727
 * 		pair[vector[double], vector[double]] getCurve(vector[pair[pair[node, node], double]] predictions, count numThresholds) except +
 * 
 * cdef class ROCMetric(EvaluationMetric):             # <<<<<<<<<<<<<<
 * 	""" Provides points that define the Receiver Operating Characteristic curve for a given set of predictions.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_ROCMetric {
  struct __pyx_obj_9networkit_10_NetworKit_EvaluationMetric __pyx_base;
};


/* "networkit/_NetworKit.pyx":10770
 * 		pair[vector[double], vector[double]] getCurve(vector[pair[pair[node, node], double]] predictions, count numThresholds) except +
 * 
 * cdef class PrecisionRecallMetric(EvaluationMetric):             # <<<<<<<<<<<<<<
 * 	""" Provides points that define the Precision-Recall curve for a given set of predictions.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_PrecisionRecallMetric {
  struct __pyx_obj_9networkit_10_NetworKit_EvaluationMetric __pyx_base;
};


/* "networkit/_NetworKit.pyx":10814
 * 		vector[pair[node, node]] findFromNode(node u, count k) except +
 * 
 * cdef class MissingLinksFinder:             # <<<<<<<<<<<<<<
 * 	""" Allows the user to find missing links in the given graph.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_MissingLinksFinder {
  PyObject_HEAD
  NetworKit::MissingLinksFinder *_this;
};


/* "networkit/_NetworKit.pyx":10878
 * 	vector[node] getCommonNeighbors(const _Graph& G, node u, node v) except +
 * 
 * cdef class NeighborhoodUtility:             # <<<<<<<<<<<<<<
 * 	""" Provides basic operations on neighborhoods in a given graph. """
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodUtility {
  PyObject_HEAD
};


/* "networkit/_NetworKit.pyx":10925
 * 	vector[pair[node, node]] byPercentage(vector[pair[pair[node, node], double]] predictions, double percentageLinks)
 * 
 * cdef class LinkThresholder:             # <<<<<<<<<<<<<<
 * 	""" Filters given predictions based on some criterion and returns a vector of node-pairs that fulfill the given criterion.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_LinkThresholder {
  PyObject_HEAD
};


/* "networkit/_NetworKit.pyx":10988
 * 	void sortByNodePair (vector[pair[pair[node, node], double]]& predictions) except +
 * 
 * cdef class PredictionsSorter:             # <<<<<<<<<<<<<<
 * 	""" Allows the sorting of predictions by score or node-pair. """
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_PredictionsSorter {
  PyObject_HEAD
};


/* "networkit/_NetworKit.pyx":11032
 * 		T score(node u, node v) except +
 * 
 * cdef class EdgeScore(Algorithm):             # <<<<<<<<<<<<<<
 * 	"""
 * 	TODO DOCSTIRNG
 */
struct __pyx_obj_9networkit_10_NetworKit_EdgeScore {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore *__pyx_vtab;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":11072
 * 		_ChibaNishizekiTriangleEdgeScore(const _Graph& G) except +
 * 
 * cdef class ChibaNishizekiTriangleEdgeScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Calculates for each edge the number of triangles it is embedded in.
 */
struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScore __pyx_base;
};


/* "networkit/_NetworKit.pyx":11098
 * 		_ChibaNishizekiQuadrangleEdgeScore(const _Graph& G) except +
 * 
 * cdef class ChibaNishizekiQuadrangleEdgeScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Calculates for each edge the number of quadrangles (circles of length 4) it is embedded in.
 */
struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScore __pyx_base;
};


/* "networkit/_NetworKit.pyx":11126
 * 		_TriangleEdgeScore(const _Graph& G) except +
 * 
 * cdef class TriangleEdgeScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Triangle counting.
 */
struct __pyx_obj_9networkit_10_NetworKit_TriangleEdgeScore {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScore __pyx_base;
};


/* "networkit/_NetworKit.pyx":11154
 * 		_EdgeScoreLinearizer(const _Graph& G, const vector[double]& attribute, bool_t inverse) except +
 * 
 * cdef class EdgeScoreLinearizer(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Linearizes a score such that values are evenly distributed between 0 and 1.
 */
struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreLinearizer {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScore __pyx_base;
  std::vector<double>  _score;
};


/* "networkit/_NetworKit.pyx":11181
 * 		_EdgeScoreNormalizer(const _Graph&, vector[T]&, bool_t inverse, double lower, double upper) except +
 * 
 * cdef class EdgeScoreNormalizer(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Normalize an edge score such that it is in a certain range.
 */
struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreNormalizer {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScore __pyx_base;
  std::vector<double>  _inScoreDouble;
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  _inScoreCount;
};


/* "networkit/_NetworKit.pyx":11221
 * 		_EdgeScoreBlender(const _Graph&, const vector[double]&, const vector[double]&, const vector[bool_t]&) except +
 * 
 * cdef class EdgeScoreBlender(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Blends two attribute vectors, the value is chosen depending on the supplied bool vector
 */
struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreBlender {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScore __pyx_base;
  std::vector<double>  _attribute0;
  std::vector<double>  _attribute1;
  std::vector<bool>  _selection;
};


/* "networkit/_NetworKit.pyx":11256
 * 		_GeometricMeanScore(const _Graph& G, const vector[double]& a) except +
 * 
 * cdef class GeometricMeanScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Normalizes the given edge attribute by the geometric average of the sum of the attributes of the incident edges of the incident nodes.
 */
struct __pyx_obj_9networkit_10_NetworKit_GeometricMeanScore {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScore __pyx_base;
  std::vector<double>  _attribute;
};


/* "networkit/_NetworKit.pyx":11283
 * 		_Graph calculate() except +
 * 
 * cdef class EdgeScoreAsWeight:             # <<<<<<<<<<<<<<
 * 	"""
 * 	Assigns an edge score as edge weight of a graph.
 */
struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreAsWeight {
  PyObject_HEAD
  NetworKit::EdgeScoreAsWeight *_this;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
  std::vector<double>  _score;
};


/* "networkit/_NetworKit.pyx":11333
 * 		vector[double] getEdgeScores() except +
 * 
 * cdef class AdamicAdarDistance:             # <<<<<<<<<<<<<<
 * 	"""
 * 	Calculate the adamic adar similarity.
 */
struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance {
  PyObject_HEAD
  NetworKit::AdamicAdarDistance *_this;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":11376
 * 		_SimmelianOverlapScore(const _Graph& G, const vector[count]& triangles, count maxRank) except +
 * 
 * cdef class SimmelianOverlapScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	cdef vector[count] _triangles
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_SimmelianOverlapScore {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScore __pyx_base;
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  _triangles;
};


/* "networkit/_NetworKit.pyx":11404
 * 		_PrefixJaccardScore(const _Graph& G, const vector[double]& a) except +
 * 
 * cdef class PrefixJaccardScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	cdef vector[double] _attribute
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_PrefixJaccardScore {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScore __pyx_base;
  std::vector<double>  _attribute;
};


/* "networkit/_NetworKit.pyx":11420
 * 		_MultiscaleScore(const _Graph& G, const vector[double]& a) except +
 * 
 * cdef class MultiscaleScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	An implementation of the Multiscale Backbone. Calculates for each edge the minimum
 */
struct __pyx_obj_9networkit_10_NetworKit_MultiscaleScore {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScore __pyx_base;
  std::vector<double>  _attribute;
};


/* "networkit/_NetworKit.pyx":11448
 * 		_RandomEdgeScore(const _Graph& G) except +
 * 
 * cdef class RandomEdgeScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	[todo]
 */
struct __pyx_obj_9networkit_10_NetworKit_RandomEdgeScore {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScore __pyx_base;
};


/* "networkit/_NetworKit.pyx":11470
 * 		_LocalSimilarityScore(const _Graph& G, const vector[count]& triangles) except +
 * 
 * cdef class LocalSimilarityScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	An implementation of the Local Simlarity sparsification approach.
 */
struct __pyx_obj_9networkit_10_NetworKit_LocalSimilarityScore {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScore __pyx_base;
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  _triangles;
};


/* "networkit/_NetworKit.pyx":11498
 * 		_ForestFireScore(const _Graph& G, double pf, double tebr) except +
 * 
 * cdef class ForestFireScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	A variant of the Forest Fire sparsification approach that is based on random walks.
 */
struct __pyx_obj_9networkit_10_NetworKit_ForestFireScore {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScore __pyx_base;
};


/* "networkit/_NetworKit.pyx":11526
 * 		_LocalDegreeScore(const _Graph& G) except +
 * 
 * cdef class LocalDegreeScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	The LocalDegree sparsification approach is based on the idea of hub nodes.
 */
struct __pyx_obj_9networkit_10_NetworKit_LocalDegreeScore {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScore __pyx_base;
};


/* "networkit/_NetworKit.pyx":11552
 * 		vector[double] getEdgeScores() except +
 * 
 * cdef class JaccardDistance:             # <<<<<<<<<<<<<<
 * 	"""
 * 	The Jaccard distance measure assigns to each edge the jaccard coefficient
 */
struct __pyx_obj_9networkit_10_NetworKit_JaccardDistance {
  PyObject_HEAD
  NetworKit::JaccardDistance *_this;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  triangles;
};


/* "networkit/_NetworKit.pyx":11590
 * 
 * 
 * cdef class AlgebraicDistance:             # <<<<<<<<<<<<<<
 * 	"""
 * 	Algebraic distance assigns a distance value to pairs of nodes
 */
struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance {
  PyObject_HEAD
  NetworKit::AlgebraicDistance *_this;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":11633
 * 
 * 
 * cdef class JaccardSimilarityAttributizer:             # <<<<<<<<<<<<<<
 * 	"""
 * 	The Jaccard similarity measure assigns to each edge (1 - the jaccard coefficient
 */
struct __pyx_obj_9networkit_10_NetworKit_JaccardSimilarityAttributizer {
  PyObject_HEAD
  NetworKit::JaccardDistance *_this;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  _triangles;
};


/* "networkit/_NetworKit.pyx":11668
 * 		_RandomNodeEdgeScore(const _Graph& G) except +
 * 
 * cdef class RandomNodeEdgeScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Random Edge sampling. This attributizer returns edge attributes where
 */
struct __pyx_obj_9networkit_10_NetworKit_RandomNodeEdgeScore {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScore __pyx_base;
};


/* "networkit/_NetworKit.pyx":11697
 * 		_LocalFilterScoreInt(const _Graph& G, const vector[double]& a, bool_t logarithmic) except +
 * 
 * cdef class LocalFilterScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Local filtering edge scoring. Edges with high score are more important.
 */
struct __pyx_obj_9networkit_10_NetworKit_LocalFilterScore {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScore __pyx_base;
  std::vector<double>  _a;
};


/* "networkit/_NetworKit.pyx":11729
 * 		_ChanceCorrectedTriangleScore(const _Graph& G, const vector[count]& triangles) except +
 * 
 * cdef class ChanceCorrectedTriangleScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Divide the number of triangles per edge by the expected number of triangles given a random edge distribution.
 */
struct __pyx_obj_9networkit_10_NetworKit_ChanceCorrectedTriangleScore {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScore __pyx_base;
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  _triangles;
};


/* "networkit/_NetworKit.pyx":11755
 * 		_SCANStructuralSimilarityScore(_Graph G, const vector[count]& triangles) except +
 * 
 * cdef class SCANStructuralSimilarityScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	cdef vector[count] _triangles
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_SCANStructuralSimilarityScore {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScore __pyx_base;
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  _triangles;
};


/* "networkit/_NetworKit.pyx":11772
 * 		_Graph calculate() except +
 * 
 * cdef class GlobalThresholdFilter:             # <<<<<<<<<<<<<<
 * 	"""
 * 	Calculates a sparsified graph by filtering globally using a constant threshold value
 */
struct __pyx_obj_9networkit_10_NetworKit_GlobalThresholdFilter {
  PyObject_HEAD
  NetworKit::GlobalThresholdFilter *_this;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
  std::vector<double>  _attribute;
};


/* "networkit/_NetworKit.pyx":11822
 * 		vector[node] getVector() except +
 * 
 * cdef class Matching:             # <<<<<<<<<<<<<<
 * 	""" Implements a graph matching.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_Matching {
  PyObject_HEAD
  struct __pyx_vtabstruct_9networkit_10_NetworKit_Matching *__pyx_vtab;
  NetworKit::Matching _this;
};


/* "networkit/_NetworKit.pyx":11890
 * 		_Matching getMatching() except +
 * 
 * cdef class Matcher(Algorithm):             # <<<<<<<<<<<<<<
 * 	""" Abstract base class for matching algorithms """
 * 	cdef Graph G
 */
struct __pyx_obj_9networkit_10_NetworKit_Matcher {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *G;
};


/* "networkit/_NetworKit.pyx":11916
 * 		_PathGrowingMatcher(_Graph, vector[double]) except +
 * 
 * cdef class PathGrowingMatcher(Matcher):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Path growing matching algorithm as described by  Hougardy and Drake.
 */
struct __pyx_obj_9networkit_10_NetworKit_PathGrowingMatcher {
  struct __pyx_obj_9networkit_10_NetworKit_Matcher __pyx_base;
};


/* "networkit/_NetworKit.pyx":11982
 * 
 * 
 * cdef class CommuteTimeDistance(Algorithm):             # <<<<<<<<<<<<<<
 * 	""" Computes the Euclidean Commute Time Distance between each pair of nodes for an undirected unweighted graph.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":12055
 * 		vector[vector[count]] getData() except +
 * 
 * cdef class EpidemicSimulationSEIR(Algorithm):             # <<<<<<<<<<<<<<
 * 	"""
 *  	Parameters
 */
struct __pyx_obj_9networkit_10_NetworKit_EpidemicSimulationSEIR {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *G;
};


/* "networkit/_NetworKit.pyx":12089
 * 		vector[double] scores() except +
 * 
 * cdef class SpanningEdgeCentrality(Algorithm):             # <<<<<<<<<<<<<<
 * 	""" Computes the Spanning Edge centrality for the edges of the graph.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":12140
 * 		bool_t writeKinemage(string path) except +
 * 
 * cdef class GraphLayoutAlgorithm:             # <<<<<<<<<<<<<<
 * 
 * 	"""Abstract base class for graph drawing algorithms"""
 */
struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm {
  PyObject_HEAD
  NetworKit::GraphLayoutAlgorithm<double>  *_this;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *_G;
};


/* "networkit/_NetworKit.pyx":12226
 * 
 * 
 * cdef class MaxentStress (GraphLayoutAlgorithm):             # <<<<<<<<<<<<<<
 * 
 * 	"""
 */
struct __pyx_obj_9networkit_10_NetworKit_MaxentStress {
  struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm __pyx_base;
};


/* "networkit/_NetworKit.pyx":12344
 * 
 * 
 * cdef class PivotMDS (GraphLayoutAlgorithm):             # <<<<<<<<<<<<<<
 * 
 * 	"""
 */
struct __pyx_obj_9networkit_10_NetworKit_PivotMDS {
  struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm __pyx_base;
};


/* "networkit/_NetworKit.pyx":12383
 * 		_Graph getGraph() except +
 * 
 * cdef class GlobalCurveball(Algorithm):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Implementation of EM-GCB proposed in "Parallel and I/O-efficient
 */
struct __pyx_obj_9networkit_10_NetworKit_GlobalCurveball {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
};


/* "networkit/_NetworKit.pyx":12453
 * 		vector[pair[node, node]] generate() nogil except +
 * 
 * cdef class CurveballUniformTradeGenerator:             # <<<<<<<<<<<<<<
 * 
 * 	"""
 */
struct __pyx_obj_9networkit_10_NetworKit_CurveballUniformTradeGenerator {
  PyObject_HEAD
  NetworKit::CurveballUniformTradeGenerator *_this;
};


/* "networkit/_NetworKit.pyx":12487
 * 		vector[pair[node, node]] generate() nogil except +
 * 
 * cdef class CurveballGlobalTradeGenerator:             # <<<<<<<<<<<<<<
 * 
 * 	"""
 */
struct __pyx_obj_9networkit_10_NetworKit_CurveballGlobalTradeGenerator {
  PyObject_HEAD
  NetworKit::CurveballGlobalTradeGenerator *_this;
};


/* "networkit/_NetworKit.pyx":12527
 * 		count getNumberOfAffectedEdges() except +
 * 
 * cdef class Curveball(Algorithm):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Implementation of IM-CB proposed in "Parallel and I/O-efficient
 */
struct __pyx_obj_9networkit_10_NetworKit_Curveball {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
};


/* "networkit/_NetworKit.pyx":12582
 * 		vector[node] getPermutation() except +
 * 
 * cdef class DegreePreservingShuffle(Algorithm):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Implementation of the preprocessing step proposed in
 */
struct __pyx_obj_9networkit_10_NetworKit_DegreePreservingShuffle {
  struct __pyx_obj_9networkit_10_NetworKit_Algorithm __pyx_base;
};


/* "networkit/_NetworKit.pyx":1081
 * 		return self._this.edges()
 * 
 * 	def neighbors(self, u):             # <<<<<<<<<<<<<<
 * 		""" Get list of neighbors of `u`.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct__neighbors {
  PyObject_HEAD
  PyObject *__pyx_v_neighborList;
};


/* "networkit/_NetworKit.pyx":1098
 * 		return neighborList
 * 
 * 	def inNeighbors(self, u):             # <<<<<<<<<<<<<<
 * 		""" Get list of in-neighbors of `u`.
 * 
 */
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors {
  PyObject_HEAD
  PyObject *__pyx_v_neighborList;
};


/* "networkit/_NetworKit.pyx":1504
 * 		return Graph().setThis(self._this.subgraphFromNodes(nnodes, includeOutNeighbors, includeInNeighbors))
 * 
 * 	def iterNodes(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterates over the nodes of the graph.
 */
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes {
  PyObject_HEAD
  NetworKit::Graph::NodeIterator __pyx_v_it;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self;
};


/* "networkit/_NetworKit.pyx":1513
 * 			preincrement(it)
 * 
 * 	def iterEdges(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterates over the edges of the graph.
 */
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges {
  PyObject_HEAD
  NetworKit::Graph::EdgeIterator __pyx_v_it;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self;
};


/* "networkit/_NetworKit.pyx":1522
 * 			preincrement(it)
 * 
 * 	def iterEdgesWeights(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterates over the edges of the graph and their weights.
 */
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights {
  PyObject_HEAD
  NetworKit::Graph::EdgeWeightIterator __pyx_v_it;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self;
};


/* "networkit/_NetworKit.pyx":1531
 * 			preincrement(it)
 * 
 * 	def iterNeighbors(self, u):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterates over a range of the neighbors of a node.
 */
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors {
  PyObject_HEAD
  NetworKit::Graph::NeighborIterator __pyx_v_it;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self;
  PyObject *__pyx_v_u;
};


/* "networkit/_NetworKit.pyx":1544
 * 			preincrement(it)
 * 
 * 	def iterInNeighbors(self, u):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterates over a range of the in-neighbors of a node.
 */
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors {
  PyObject_HEAD
  NetworKit::Graph::NeighborIterator __pyx_v_it;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self;
  PyObject *__pyx_v_u;
};


/* "networkit/_NetworKit.pyx":2995
 * 	"""
 * 
 * 	def __cinit__(self, dim, n, k, weighted=False):             # <<<<<<<<<<<<<<
 * 		if dim < 1:
 * 			raise ValueError("Dimension must be > 0")
 */
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ {
  PyObject_HEAD
  PyObject *__pyx_v_k;
  PyObject *__pyx_v_n;
  PyObject *__pyx_v_weighted;
};


/* "networkit/_NetworKit.pyx":3000
 * 		elif (type(n) is int) and (type(k) is float or type(k) is int) and (weighted is False or weighted is True):
 * 			self._this = new _MocnikGenerator(<count> dim, <count> n, <double> k, <bool_t> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is float or type(k) is int) and (weighted is False or weighted is True):             # <<<<<<<<<<<<<<
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <double> k, <bool_t> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is list) and all(type(item) is float or type(item) is int for item in k) and (weighted is False or weighted is True):
 */
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr {
  PyObject_HEAD
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *__pyx_outer_scope;
  PyObject *__pyx_v_item;
};


/* "networkit/_NetworKit.pyx":3002
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is float or type(k) is int) and (weighted is False or weighted is True):
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <double> k, <bool_t> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is list) and all(type(item) is float or type(item) is int for item in k) and (weighted is False or weighted is True):             # <<<<<<<<<<<<<<
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <vector[double]> k, <bool_t> weighted)
 * 		elif (type(n) is int) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):
 */
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr {
  PyObject_HEAD
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *__pyx_outer_scope;
  PyObject *__pyx_v_item;
};

struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr {
  PyObject_HEAD
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *__pyx_outer_scope;
  PyObject *__pyx_v_item;
};


/* "networkit/_NetworKit.pyx":3004
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is list) and all(type(item) is float or type(item) is int for item in k) and (weighted is False or weighted is True):
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <vector[double]> k, <bool_t> weighted)
 * 		elif (type(n) is int) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):             # <<<<<<<<<<<<<<
 * 			self._this = new _MocnikGenerator(<count> dim, <count> n, <double> k, <vector[double]> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):
 */
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr {
  PyObject_HEAD
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *__pyx_outer_scope;
  PyObject *__pyx_v_item;
};


/* "networkit/_NetworKit.pyx":3006
 * 		elif (type(n) is int) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):
 * 			self._this = new _MocnikGenerator(<count> dim, <count> n, <double> k, <vector[double]> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):             # <<<<<<<<<<<<<<
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <double> k, <vector[double]> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is list) and all(type(item) is float or type(item) is int for item in k) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):
 */
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr {
  PyObject_HEAD
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *__pyx_outer_scope;
  PyObject *__pyx_v_item;
};

struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr {
  PyObject_HEAD
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *__pyx_outer_scope;
  PyObject *__pyx_v_item;
};


/* "networkit/_NetworKit.pyx":3008
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <double> k, <vector[double]> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is list) and all(type(item) is float or type(item) is int for item in k) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):             # <<<<<<<<<<<<<<
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <vector[double]> k, <vector[double]> weighted)
 * 		else:
 */
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr {
  PyObject_HEAD
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *__pyx_outer_scope;
  PyObject *__pyx_v_item;
};

struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr {
  PyObject_HEAD
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *__pyx_outer_scope;
  PyObject *__pyx_v_item;
};

struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr {
  PyObject_HEAD
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *__pyx_outer_scope;
  PyObject *__pyx_v_item;
};


/* "networkit/_NetworKit.pyx":10101
 * 
 * 	@staticmethod
 * 	def volume(Graph G, r, count samples=500):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Number of nodes within a given radius (or radii); average for many nodes
 */
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_17_volume {
  PyObject_HEAD
  PyObject *__pyx_v_is_number;
  PyObject *__pyx_v_r;
};


/* "networkit/_NetworKit.pyx":10136
 * 				_v = volume(<_Graph> G._this, <double> _r, <count> samples)
 * 			return _v
 * 		elif type(r) is list and all(is_number(item) for item in r):             # <<<<<<<<<<<<<<
 * 			_rs = r
 * 			with nogil:
 */
struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr {
  PyObject_HEAD
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_17_volume *__pyx_outer_scope;
  PyObject *__pyx_v_item;
};



/* "networkit/_NetworKit.pyx":507
 * 		_NeighborIterator end() except +
 * 
 * cdef class Graph:             # <<<<<<<<<<<<<<
 * 
 * 	""" An undirected graph (with optional weights) and parallel iterator methods.
 */

struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph {
  PyObject *(*setThis)(struct __pyx_obj_9networkit_10_NetworKit_Graph *, NetworKit::Graph &);
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *__pyx_vtabptr_9networkit_10_NetworKit_Graph;


/* "networkit/_NetworKit.pyx":4348
 * 
 * 
 * cdef class Partition:             # <<<<<<<<<<<<<<
 * 	""" Implements a partition of a set, i.e. a subdivision of the
 *  		set into disjoint subsets.
 */

struct __pyx_vtabstruct_9networkit_10_NetworKit_Partition {
  PyObject *(*setThis)(struct __pyx_obj_9networkit_10_NetworKit_Partition *, NetworKit::Partition &);
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_Partition *__pyx_vtabptr_9networkit_10_NetworKit_Partition;


/* "networkit/_NetworKit.pyx":4736
 * 
 * 
 * cdef class Cover:             # <<<<<<<<<<<<<<
 * 	""" Implements a cover of a set, i.e. an assignment of its elements to possibly overlapping subsets. """
 * 	cdef _Cover _this
 */

struct __pyx_vtabstruct_9networkit_10_NetworKit_Cover {
  PyObject *(*setThis)(struct __pyx_obj_9networkit_10_NetworKit_Cover *, NetworKit::Cover &);
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_Cover *__pyx_vtabptr_9networkit_10_NetworKit_Cover;


/* "networkit/_NetworKit.pyx":11032
 * 		T score(node u, node v) except +
 * 
 * cdef class EdgeScore(Algorithm):             # <<<<<<<<<<<<<<
 * 	"""
 * 	TODO DOCSTIRNG
 */

struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore {
  bool (*isDoubleValue)(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *);
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore *__pyx_vtabptr_9networkit_10_NetworKit_EdgeScore;


/* "networkit/_NetworKit.pyx":11072
 * 		_ChibaNishizekiTriangleEdgeScore(const _Graph& G) except +
 * 
 * cdef class ChibaNishizekiTriangleEdgeScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Calculates for each edge the number of triangles it is embedded in.
 */

struct __pyx_vtabstruct_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore {
  struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore __pyx_base;
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore *__pyx_vtabptr_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore;


/* "networkit/_NetworKit.pyx":11098
 * 		_ChibaNishizekiQuadrangleEdgeScore(const _Graph& G) except +
 * 
 * cdef class ChibaNishizekiQuadrangleEdgeScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Calculates for each edge the number of quadrangles (circles of length 4) it is embedded in.
 */

struct __pyx_vtabstruct_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore {
  struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore __pyx_base;
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore *__pyx_vtabptr_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore;


/* "networkit/_NetworKit.pyx":11126
 * 		_TriangleEdgeScore(const _Graph& G) except +
 * 
 * cdef class TriangleEdgeScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Triangle counting.
 */

struct __pyx_vtabstruct_9networkit_10_NetworKit_TriangleEdgeScore {
  struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore __pyx_base;
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_TriangleEdgeScore *__pyx_vtabptr_9networkit_10_NetworKit_TriangleEdgeScore;


/* "networkit/_NetworKit.pyx":11154
 * 		_EdgeScoreLinearizer(const _Graph& G, const vector[double]& attribute, bool_t inverse) except +
 * 
 * cdef class EdgeScoreLinearizer(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Linearizes a score such that values are evenly distributed between 0 and 1.
 */

struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScoreLinearizer {
  struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore __pyx_base;
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScoreLinearizer *__pyx_vtabptr_9networkit_10_NetworKit_EdgeScoreLinearizer;


/* "networkit/_NetworKit.pyx":11181
 * 		_EdgeScoreNormalizer(const _Graph&, vector[T]&, bool_t inverse, double lower, double upper) except +
 * 
 * cdef class EdgeScoreNormalizer(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Normalize an edge score such that it is in a certain range.
 */

struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScoreNormalizer {
  struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore __pyx_base;
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScoreNormalizer *__pyx_vtabptr_9networkit_10_NetworKit_EdgeScoreNormalizer;


/* "networkit/_NetworKit.pyx":11221
 * 		_EdgeScoreBlender(const _Graph&, const vector[double]&, const vector[double]&, const vector[bool_t]&) except +
 * 
 * cdef class EdgeScoreBlender(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Blends two attribute vectors, the value is chosen depending on the supplied bool vector
 */

struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScoreBlender {
  struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore __pyx_base;
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScoreBlender *__pyx_vtabptr_9networkit_10_NetworKit_EdgeScoreBlender;


/* "networkit/_NetworKit.pyx":11256
 * 		_GeometricMeanScore(const _Graph& G, const vector[double]& a) except +
 * 
 * cdef class GeometricMeanScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Normalizes the given edge attribute by the geometric average of the sum of the attributes of the incident edges of the incident nodes.
 */

struct __pyx_vtabstruct_9networkit_10_NetworKit_GeometricMeanScore {
  struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore __pyx_base;
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_GeometricMeanScore *__pyx_vtabptr_9networkit_10_NetworKit_GeometricMeanScore;


/* "networkit/_NetworKit.pyx":11376
 * 		_SimmelianOverlapScore(const _Graph& G, const vector[count]& triangles, count maxRank) except +
 * 
 * cdef class SimmelianOverlapScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	cdef vector[count] _triangles
 * 
 */

struct __pyx_vtabstruct_9networkit_10_NetworKit_SimmelianOverlapScore {
  struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore __pyx_base;
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_SimmelianOverlapScore *__pyx_vtabptr_9networkit_10_NetworKit_SimmelianOverlapScore;


/* "networkit/_NetworKit.pyx":11404
 * 		_PrefixJaccardScore(const _Graph& G, const vector[double]& a) except +
 * 
 * cdef class PrefixJaccardScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	cdef vector[double] _attribute
 * 
 */

struct __pyx_vtabstruct_9networkit_10_NetworKit_PrefixJaccardScore {
  struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore __pyx_base;
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_PrefixJaccardScore *__pyx_vtabptr_9networkit_10_NetworKit_PrefixJaccardScore;


/* "networkit/_NetworKit.pyx":11420
 * 		_MultiscaleScore(const _Graph& G, const vector[double]& a) except +
 * 
 * cdef class MultiscaleScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	An implementation of the Multiscale Backbone. Calculates for each edge the minimum
 */

struct __pyx_vtabstruct_9networkit_10_NetworKit_MultiscaleScore {
  struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore __pyx_base;
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_MultiscaleScore *__pyx_vtabptr_9networkit_10_NetworKit_MultiscaleScore;


/* "networkit/_NetworKit.pyx":11448
 * 		_RandomEdgeScore(const _Graph& G) except +
 * 
 * cdef class RandomEdgeScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	[todo]
 */

struct __pyx_vtabstruct_9networkit_10_NetworKit_RandomEdgeScore {
  struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore __pyx_base;
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_RandomEdgeScore *__pyx_vtabptr_9networkit_10_NetworKit_RandomEdgeScore;


/* "networkit/_NetworKit.pyx":11470
 * 		_LocalSimilarityScore(const _Graph& G, const vector[count]& triangles) except +
 * 
 * cdef class LocalSimilarityScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	An implementation of the Local Simlarity sparsification approach.
 */

struct __pyx_vtabstruct_9networkit_10_NetworKit_LocalSimilarityScore {
  struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore __pyx_base;
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_LocalSimilarityScore *__pyx_vtabptr_9networkit_10_NetworKit_LocalSimilarityScore;


/* "networkit/_NetworKit.pyx":11498
 * 		_ForestFireScore(const _Graph& G, double pf, double tebr) except +
 * 
 * cdef class ForestFireScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	A variant of the Forest Fire sparsification approach that is based on random walks.
 */

struct __pyx_vtabstruct_9networkit_10_NetworKit_ForestFireScore {
  struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore __pyx_base;
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_ForestFireScore *__pyx_vtabptr_9networkit_10_NetworKit_ForestFireScore;


/* "networkit/_NetworKit.pyx":11526
 * 		_LocalDegreeScore(const _Graph& G) except +
 * 
 * cdef class LocalDegreeScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	The LocalDegree sparsification approach is based on the idea of hub nodes.
 */

struct __pyx_vtabstruct_9networkit_10_NetworKit_LocalDegreeScore {
  struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore __pyx_base;
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_LocalDegreeScore *__pyx_vtabptr_9networkit_10_NetworKit_LocalDegreeScore;


/* "networkit/_NetworKit.pyx":11668
 * 		_RandomNodeEdgeScore(const _Graph& G) except +
 * 
 * cdef class RandomNodeEdgeScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Random Edge sampling. This attributizer returns edge attributes where
 */

struct __pyx_vtabstruct_9networkit_10_NetworKit_RandomNodeEdgeScore {
  struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore __pyx_base;
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_RandomNodeEdgeScore *__pyx_vtabptr_9networkit_10_NetworKit_RandomNodeEdgeScore;


/* "networkit/_NetworKit.pyx":11697
 * 		_LocalFilterScoreInt(const _Graph& G, const vector[double]& a, bool_t logarithmic) except +
 * 
 * cdef class LocalFilterScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Local filtering edge scoring. Edges with high score are more important.
 */

struct __pyx_vtabstruct_9networkit_10_NetworKit_LocalFilterScore {
  struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore __pyx_base;
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_LocalFilterScore *__pyx_vtabptr_9networkit_10_NetworKit_LocalFilterScore;


/* "networkit/_NetworKit.pyx":11729
 * 		_ChanceCorrectedTriangleScore(const _Graph& G, const vector[count]& triangles) except +
 * 
 * cdef class ChanceCorrectedTriangleScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Divide the number of triangles per edge by the expected number of triangles given a random edge distribution.
 */

struct __pyx_vtabstruct_9networkit_10_NetworKit_ChanceCorrectedTriangleScore {
  struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore __pyx_base;
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_ChanceCorrectedTriangleScore *__pyx_vtabptr_9networkit_10_NetworKit_ChanceCorrectedTriangleScore;


/* "networkit/_NetworKit.pyx":11755
 * 		_SCANStructuralSimilarityScore(_Graph G, const vector[count]& triangles) except +
 * 
 * cdef class SCANStructuralSimilarityScore(EdgeScore):             # <<<<<<<<<<<<<<
 * 	cdef vector[count] _triangles
 * 
 */

struct __pyx_vtabstruct_9networkit_10_NetworKit_SCANStructuralSimilarityScore {
  struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore __pyx_base;
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_SCANStructuralSimilarityScore *__pyx_vtabptr_9networkit_10_NetworKit_SCANStructuralSimilarityScore;


/* "networkit/_NetworKit.pyx":11822
 * 		vector[node] getVector() except +
 * 
 * cdef class Matching:             # <<<<<<<<<<<<<<
 * 	""" Implements a graph matching.
 * 
 */

struct __pyx_vtabstruct_9networkit_10_NetworKit_Matching {
  PyObject *(*setThis)(struct __pyx_obj_9networkit_10_NetworKit_Matching *, NetworKit::Matching &);
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_Matching *__pyx_vtabptr_9networkit_10_NetworKit_Matching;

/* --- Runtime support code (head) --- */
/* Refnanny.proto */
#ifndef CYTHON_REFNANNY
  #define CYTHON_REFNANNY 0
#endif
#if CYTHON_REFNANNY
  typedef struct {
    void (*INCREF)(void*, PyObject*, int);
    void (*DECREF)(void*, PyObject*, int);
    void (*GOTREF)(void*, PyObject*, int);
    void (*GIVEREF)(void*, PyObject*, int);
    void* (*SetupContext)(const char*, int, 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;
#ifdef WITH_THREAD
  #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__);\
          }
#else
  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
#endif
  #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) {__Pyx_INCREF(r); }} while(0)
  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
#else
  #define __Pyx_RefNannyDeclarations
  #define __Pyx_RefNannySetupContext(name, acquire_gil)
  #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_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)

/* PyObjectGetAttrStr.proto */
#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

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

/* PyCFunctionFastCall.proto */
#if CYTHON_FAST_PYCCALL
static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs);
#else
#define __Pyx_PyCFunction_FastCall(func, args, nargs)  (assert(0), NULL)
#endif

/* PyFunctionFastCall.proto */
#if CYTHON_FAST_PYCALL
#define __Pyx_PyFunction_FastCall(func, args, nargs)\
    __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL)
#if 1 || PY_VERSION_HEX < 0x030600B1
static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs);
#else
#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs)
#endif
#define __Pyx_BUILD_ASSERT_EXPR(cond)\
    (sizeof(char [1 - 2*!(cond)]) - 1)
#ifndef Py_MEMBER_SIZE
#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member)
#endif
  static size_t __pyx_pyframe_localsplus_offset = 0;
  #include "frameobject.h"
  #define __Pxy_PyFrame_Initialize_Offsets()\
    ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\
     (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus)))
  #define __Pyx_PyFrame_GetLocalsplus(frame)\
    (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset))
#endif

/* PyObjectCall.proto */
#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

/* PyObjectCall2Args.proto */
static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);

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

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

/* KeywordStringCheck.proto */
static int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed);

/* PyThreadStateGet.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyThreadState_declare  PyThreadState *__pyx_tstate;
#define __Pyx_PyThreadState_assign  __pyx_tstate = __Pyx_PyThreadState_Current;
#define __Pyx_PyErr_Occurred()  __pyx_tstate->curexc_type
#else
#define __Pyx_PyThreadState_declare
#define __Pyx_PyThreadState_assign
#define __Pyx_PyErr_Occurred()  PyErr_Occurred()
#endif

/* PyErrFetchRestore.proto */
#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
#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

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

/* IncludeCppStringH.proto */
#include <string>

/* decode_c_string_utf16.proto */
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_bytes.proto */
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_cpp_string.proto */
static CYTHON_INLINE PyObject* __Pyx_decode_cpp_string(
         std::string cppstring, 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)) {
    return __Pyx_decode_c_bytes(
        cppstring.data(), cppstring.size(), start, stop, encoding, errors, decode_func);
}

/* PyObjectCallNoArg.proto */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);
#else
#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL)
#endif

/* PyDictVersioning.proto */
#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_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)  {\
    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_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);\
}
#define __Pyx_GetModuleGlobalNameUncached(var, name)  {\
    PY_UINT64_T __pyx_dict_version;\
    PyObject *__pyx_dict_cached_value;\
    (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
}
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

/* Import.proto */
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);

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

/* 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);

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

/* ParseKeywords.proto */
static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\
    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\
    const char* function_name);

/* 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);
        PyList_SET_ITEM(list, len, x);
        Py_SIZE(list) = len+1;
        return 0;
    }
    return PyList_Append(list, x);
}
#else
#define __Pyx_ListComp_Append(L,x) PyList_Append(L,x)
#endif

/* GetTopmostException.proto */
#if CYTHON_USE_EXC_INFO_STACK
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

/* PyErrExceptionMatches.proto */
#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

/* 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

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

/* ArgTypeTest.proto */
#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\
    ((likely((Py_TYPE(obj) == type) | (none_allowed && (obj == Py_None)))) ? 1 :\
        __Pyx__ArgTypeTest(obj, type, name, exact))
static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact);

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

/* ListAppend.proto */
#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);
        PyList_SET_ITEM(list, len, x);
        Py_SIZE(list) = len+1;
        return 0;
    }
    return PyList_Append(list, x);
}
#else
#define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
#endif

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

/* FetchCommonType.proto */
static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type);

/* CythonFunction.proto */
#define __Pyx_CyFunction_USED 1
#define __Pyx_CYFUNCTION_STATICMETHOD  0x01
#define __Pyx_CYFUNCTION_CLASSMETHOD   0x02
#define __Pyx_CYFUNCTION_CCLASS        0x04
#define __Pyx_CyFunction_GetClosure(f)\
    (((__pyx_CyFunctionObject *) (f))->func_closure)
#define __Pyx_CyFunction_GetClassObj(f)\
    (((__pyx_CyFunctionObject *) (f))->func_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 {
    PyCFunctionObject func;
#if PY_VERSION_HEX < 0x030500A0
    PyObject *func_weakreflist;
#endif
    PyObject *func_dict;
    PyObject *func_name;
    PyObject *func_qualname;
    PyObject *func_doc;
    PyObject *func_globals;
    PyObject *func_code;
    PyObject *func_closure;
    PyObject *func_classobj;
    void *defaults;
    int defaults_pyobjects;
    int flags;
    PyObject *defaults_tuple;
    PyObject *defaults_kwdict;
    PyObject *(*defaults_getter)(PyObject *);
    PyObject *func_annotations;
} __pyx_CyFunctionObject;
static PyTypeObject *__pyx_CyFunctionType = 0;
#define __Pyx_CyFunction_Check(obj)  (__Pyx_TypeCheck(obj, __pyx_CyFunctionType))
#define __Pyx_CyFunction_NewEx(ml, flags, qualname, self, module, globals, code)\
    __Pyx_CyFunction_New(__pyx_CyFunctionType, ml, flags, qualname, self, module, globals, code)
static PyObject *__Pyx_CyFunction_New(PyTypeObject *, PyMethodDef *ml,
                                      int flags, PyObject* qualname,
                                      PyObject *self,
                                      PyObject *module, PyObject *globals,
                                      PyObject* code);
static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m,
                                                         size_t size,
                                                         int pyobjects);
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(void);

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

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

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

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

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

/* PyObjectLookupSpecial.proto */
#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject* __Pyx_PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name) {
    PyObject *res;
    PyTypeObject *tp = Py_TYPE(obj);
#if PY_MAJOR_VERSION < 3
    if (unlikely(PyInstance_Check(obj)))
        return __Pyx_PyObject_GetAttrStr(obj, attr_name);
#endif
    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 {
        PyErr_SetObject(PyExc_AttributeError, attr_name);
    }
    return res;
}
#else
#define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n)
#endif

/* DictGetItem.proto */
#if PY_MAJOR_VERSION >= 3 && !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

/* 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));
}

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

/* PyNumberPow2.proto */
#define __Pyx_PyNumber_InPlacePowerOf2(a, b, c) __Pyx__PyNumber_PowerOf2(a, b, c, 1)
#define __Pyx_PyNumber_PowerOf2(a, b, c) __Pyx__PyNumber_PowerOf2(a, b, c, 0)
static PyObject* __Pyx__PyNumber_PowerOf2(PyObject *two, PyObject *exp, PyObject *none, int inplace);

/* PyFloatBinop.proto */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_PyFloat_SubtractCObj(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check);
#else
#define __Pyx_PyFloat_SubtractCObj(op1, op2, floatval, inplace, zerodivision_check)\
    (inplace ? PyNumber_InPlaceSubtract(op1, op2) : PyNumber_Subtract(op1, op2))
#endif

/* PyFloatBinop.proto */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_PyFloat_AddObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check);
#else
#define __Pyx_PyFloat_AddObjC(op1, op2, floatval, inplace, zerodivision_check)\
    (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2))
#endif

/* 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);

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

/* object_ord.proto */
#if PY_MAJOR_VERSION >= 3
#define __Pyx_PyObject_Ord(c)\
    (likely(PyUnicode_Check(c)) ? (long)__Pyx_PyUnicode_AsPy_UCS4(c) : __Pyx__PyObject_Ord(c))
#else
#define __Pyx_PyObject_Ord(c) __Pyx__PyObject_Ord(c)
#endif
static long __Pyx__PyObject_Ord(PyObject* c);

/* GetItemInt.proto */
#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\
    (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)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
    (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);
#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
    (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);
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);

/* 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));
}

/* GetAttr.proto */
static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *);

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

/* 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

/* SetItemInt.proto */
#define __Pyx_SetItemInt(o, i, v, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_SetItemInt_Fast(o, (Py_ssize_t)i, v, is_list, wraparound, boundscheck) :\
    (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);

/* PyObjectGetMethod.proto */
static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method);

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

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

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

/* UnpackTuple2.proto */
#define __Pyx_unpack_tuple2(tuple, value1, value2, is_tuple, has_known_size, decref_tuple)\
    (likely(is_tuple || PyTuple_Check(tuple)) ?\
        (likely(has_known_size || PyTuple_GET_SIZE(tuple) == 2) ?\
            __Pyx_unpack_tuple2_exact(tuple, value1, value2, decref_tuple) :\
            (__Pyx_UnpackTupleError(tuple, 2), -1)) :\
        __Pyx_unpack_tuple2_generic(tuple, value1, value2, has_known_size, 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);

/* CallableCheck.proto */
#if CYTHON_USE_TYPE_SLOTS && PY_MAJOR_VERSION >= 3
#define __Pyx_PyCallable_Check(obj)   ((obj)->ob_type->tp_call != NULL)
#else
#define __Pyx_PyCallable_Check(obj)   PyCallable_Check(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(PyInt_CheckExact(obj)) ?\
 PyFloat_AsDouble(obj) : __Pyx__PyObject_AsDouble(obj))
#else
#define __Pyx_PyObject_AsDouble(obj)\
((likely(PyFloat_CheckExact(obj))) ?\
 PyFloat_AS_DOUBLE(obj) : __Pyx__PyObject_AsDouble(obj))
#endif

/* SliceObject.proto */
#define __Pyx_PyObject_DelSlice(obj, cstart, cstop, py_start, py_stop, py_slice, has_cstart, has_cstop, wraparound)\
    __Pyx_PyObject_SetSlice(obj, (PyObject*)NULL, cstart, cstop, py_start, py_stop, py_slice, has_cstart, has_cstop, wraparound)
static CYTHON_INLINE int __Pyx_PyObject_SetSlice(
        PyObject* obj, PyObject* value, 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);

/* 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)   PyObject_DelAttr(o,n)
#define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v)
#endif

/* PyFloatBinop.proto */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_PyFloat_TrueDivideObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check);
#else
#define __Pyx_PyFloat_TrueDivideObjC(op1, op2, floatval, inplace, zerodivision_check)\
    (inplace ? PyNumber_InPlaceTrueDivide(op1, op2) : PyNumber_TrueDivide(op1, op2))
#endif

/* PyIntBinop.proto */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_PyInt_TrueDivideObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
#else
#define __Pyx_PyInt_TrueDivideObjC(op1, op2, intval, inplace, zerodivision_check)\
    (inplace ? PyNumber_InPlaceTrueDivide(op1, op2) : PyNumber_TrueDivide(op1, op2))
#endif

/* HasAttr.proto */
static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *);

/* CallNextTpTraverse.proto */
static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse);

/* CallNextTpClear.proto */
static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_dealloc);

/* IncludeStringH.proto */
#include <string.h>

/* PyObject_GenericGetAttrNoDict.proto */
#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name);
#else
#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr
#endif

/* PyObject_GenericGetAttr.proto */
#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name);
#else
#define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr
#endif

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

/* SetVTable.proto */
static int __Pyx_SetVtable(PyObject *dict, void *vtable);

/* ClassMethod.proto */
#include "descrobject.h"
static CYTHON_UNUSED PyObject* __Pyx_Method_ClassMethod(PyObject *method);

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

/* SetNameInClass.proto */
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
#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

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

/* 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);

/* FusedFunction.proto */
typedef struct {
    __pyx_CyFunctionObject func;
    PyObject *__signatures__;
    PyObject *type;
    PyObject *self;
} __pyx_FusedFunctionObject;
#define __pyx_FusedFunction_NewEx(ml, flags, qualname, self, module, globals, code)\
        __pyx_FusedFunction_New(__pyx_FusedFunctionType, ml, flags, qualname, self, module, globals, code)
static PyObject *__pyx_FusedFunction_New(PyTypeObject *type,
                                         PyMethodDef *ml, int flags,
                                         PyObject *qualname, PyObject *self,
                                         PyObject *module, PyObject *globals,
                                         PyObject *code);
static int __pyx_FusedFunction_clear(__pyx_FusedFunctionObject *self);
static PyTypeObject *__pyx_FusedFunctionType = NULL;
static int __pyx_FusedFunction_init(void);
#define __Pyx_FusedFunction_USED

/* CLineInTraceback.proto */
#ifdef CYTHON_CLINE_IN_TRACEBACK
#define __Pyx_CLineForTraceback(tstate, c_line)  (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)
#else
static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line);
#endif

/* CodeObjectCache.proto */
typedef struct {
    PyCodeObject* code_object;
    int code_line;
} __Pyx_CodeObjectCacheEntry;
struct __Pyx_CodeObjectCache {
    int count;
    int max_count;
    __Pyx_CodeObjectCacheEntry* entries;
};
static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
static PyCodeObject *__pyx_find_code_object(int code_line);
static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);

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

/* None.proto */
#include <new>

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint64_t(uint64_t value);

/* CppExceptionConversion.proto */
#ifndef __Pyx_CppExn2PyErr
#include <new>
#include <typeinfo>
#include <stdexcept>
#include <ios>
static void __Pyx_CppExn2PyErr() {
  try {
    if (PyErr_Occurred())
      ; // let the latest Python exn pass through and ignore the current one
    else
      throw;
  } catch (const std::bad_alloc& exn) {
    PyErr_SetString(PyExc_MemoryError, exn.what());
  } catch (const std::bad_cast& exn) {
    PyErr_SetString(PyExc_TypeError, exn.what());
  } catch (const std::bad_typeid& exn) {
    PyErr_SetString(PyExc_TypeError, exn.what());
  } catch (const std::domain_error& exn) {
    PyErr_SetString(PyExc_ValueError, exn.what());
  } catch (const std::invalid_argument& exn) {
    PyErr_SetString(PyExc_ValueError, exn.what());
  } catch (const std::ios_base::failure& exn) {
    PyErr_SetString(PyExc_IOError, exn.what());
  } catch (const std::out_of_range& exn) {
    PyErr_SetString(PyExc_IndexError, exn.what());
  } catch (const std::overflow_error& exn) {
    PyErr_SetString(PyExc_OverflowError, exn.what());
  } catch (const std::range_error& exn) {
    PyErr_SetString(PyExc_ArithmeticError, exn.what());
  } catch (const std::underflow_error& exn) {
    PyErr_SetString(PyExc_ArithmeticError, exn.what());
  } catch (const std::exception& exn) {
    PyErr_SetString(PyExc_RuntimeError, exn.what());
  }
  catch (...)
  {
    PyErr_SetString(PyExc_RuntimeError, "Unknown exception");
  }
}
#endif

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NetworKit_3a__3a_GraphReader_3a__3a_MultipleEdgesHandling(enum NetworKit::GraphReader::MultipleEdgesHandling value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NetworKit_3a__3a_DiameterAlgo(enum NetworKit::DiameterAlgo value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NetworKit_3a__3a_ClosenessVariant(enum NetworKit::ClosenessVariant value);

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

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

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(enum NetworKit::GraphEvent::Type value);

/* CIntFromPy.proto */
static CYTHON_INLINE uint64_t __Pyx_PyInt_As_uint64_t(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE uint8_t __Pyx_PyInt_As_uint8_t(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum NetworKit::ApproxCloseness::CLOSENESS_TYPE __Pyx_PyInt_As_enum__NetworKit_3a__3a_ApproxCloseness_3a__3a_CLOSENESS_TYPE(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum NetworKit::GraphEvent::Type __Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum NetworKit::MaxentStress::LinearSolverType __Pyx_PyInt_As_enum__NetworKit_3a__3a_MaxentStress_3a__3a_LinearSolverType(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum NetworKit::MaxentStress::GraphDistance __Pyx_PyInt_As_enum__NetworKit_3a__3a_MaxentStress_3a__3a_GraphDistance(PyObject *);

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

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

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

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

/* CIntFromPy.proto */
static CYTHON_INLINE enum NetworKit::GraphReader::MultipleEdgesHandling __Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphReader_3a__3a_MultipleEdgesHandling(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum NetworKit::DiameterAlgo __Pyx_PyInt_As_enum__NetworKit_3a__3a_DiameterAlgo(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy __Pyx_PyInt_As_enum__NetworKit_3a__3a_NeighborhoodFunctionHeuristic_3a__3a_SelectionStrategy(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum NetworKit::ClosenessVariant __Pyx_PyInt_As_enum__NetworKit_3a__3a_ClosenessVariant(PyObject *);

/* ImportNumPyArray.proto */
static PyObject *__pyx_numpy_ndarray = NULL;
static PyObject* __Pyx_ImportNumPyArrayTypeIfAvailable(void);

/* FastTypeChecks.proto */
#if CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
static CYTHON_INLINE int __Pyx_IsSubtype(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_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type)
#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2))
#endif
#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)

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

/* CoroutineBase.proto */
typedef PyObject *(*__pyx_coroutine_body_t)(PyObject *, 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 {
    PyObject_HEAD
    __pyx_coroutine_body_t body;
    PyObject *closure;
    __Pyx_ExcInfoStruct gi_exc_state;
    PyObject *gi_weakreflist;
    PyObject *classobj;
    PyObject *yieldfrom;
    PyObject *gi_name;
    PyObject *gi_qualname;
    PyObject *gi_modulename;
    PyObject *gi_code;
    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 PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value);
static PyObject *__Pyx_Coroutine_Close(PyObject *self);
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);

/* PatchModuleWithCoroutine.proto */
static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code);

/* PatchGeneratorABC.proto */
static int __Pyx_patch_abc(void);

/* Generator.proto */
#define __Pyx_Generator_USED
static PyTypeObject *__pyx_GeneratorType = 0;
#define __Pyx_Generator_CheckExact(obj) (Py_TYPE(obj) == __pyx_GeneratorType)
#define __Pyx_Generator_New(body, code, closure, name, qualname, module_name)\
    __Pyx__Coroutine_New(__pyx_GeneratorType, body, code, closure, name, qualname, module_name)
static PyObject *__Pyx_Generator_Next(PyObject *self);
static int __pyx_Generator_init(void);

/* CheckBinaryVersion.proto */
static int __Pyx_check_binary_version(void);

/* InitStrings.proto */
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);

static PyObject *__pyx_f_9networkit_10_NetworKit_5Graph_setThis(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, NetworKit::Graph &__pyx_v_other); /* proto*/
static PyObject *__pyx_f_9networkit_10_NetworKit_9Partition_setThis(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, NetworKit::Partition &__pyx_v_other); /* proto*/
static PyObject *__pyx_f_9networkit_10_NetworKit_5Cover_setThis(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self, NetworKit::Cover &__pyx_v_other); /* proto*/
static bool __pyx_f_9networkit_10_NetworKit_9EdgeScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *__pyx_v_self); /* proto*/
static bool __pyx_f_9networkit_10_NetworKit_31ChibaNishizekiTriangleEdgeScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore *__pyx_v_self); /* proto*/
static bool __pyx_f_9networkit_10_NetworKit_33ChibaNishizekiQuadrangleEdgeScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore *__pyx_v_self); /* proto*/
static bool __pyx_f_9networkit_10_NetworKit_17TriangleEdgeScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_TriangleEdgeScore *__pyx_v_self); /* proto*/
static bool __pyx_f_9networkit_10_NetworKit_19EdgeScoreLinearizer_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreLinearizer *__pyx_v_self); /* proto*/
static bool __pyx_f_9networkit_10_NetworKit_19EdgeScoreNormalizer_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreNormalizer *__pyx_v_self); /* proto*/
static bool __pyx_f_9networkit_10_NetworKit_16EdgeScoreBlender_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreBlender *__pyx_v_self); /* proto*/
static bool __pyx_f_9networkit_10_NetworKit_18GeometricMeanScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GeometricMeanScore *__pyx_v_self); /* proto*/
static bool __pyx_f_9networkit_10_NetworKit_21SimmelianOverlapScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SimmelianOverlapScore *__pyx_v_self); /* proto*/
static bool __pyx_f_9networkit_10_NetworKit_18PrefixJaccardScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PrefixJaccardScore *__pyx_v_self); /* proto*/
static bool __pyx_f_9networkit_10_NetworKit_15MultiscaleScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MultiscaleScore *__pyx_v_self); /* proto*/
static bool __pyx_f_9networkit_10_NetworKit_15RandomEdgeScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_RandomEdgeScore *__pyx_v_self); /* proto*/
static bool __pyx_f_9networkit_10_NetworKit_20LocalSimilarityScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalSimilarityScore *__pyx_v_self); /* proto*/
static bool __pyx_f_9networkit_10_NetworKit_15ForestFireScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ForestFireScore *__pyx_v_self); /* proto*/
static bool __pyx_f_9networkit_10_NetworKit_16LocalDegreeScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalDegreeScore *__pyx_v_self); /* proto*/
static bool __pyx_f_9networkit_10_NetworKit_19RandomNodeEdgeScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_RandomNodeEdgeScore *__pyx_v_self); /* proto*/
static bool __pyx_f_9networkit_10_NetworKit_16LocalFilterScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalFilterScore *__pyx_v_self); /* proto*/
static bool __pyx_f_9networkit_10_NetworKit_28ChanceCorrectedTriangleScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ChanceCorrectedTriangleScore *__pyx_v_self); /* proto*/
static bool __pyx_f_9networkit_10_NetworKit_29SCANStructuralSimilarityScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SCANStructuralSimilarityScore *__pyx_v_self); /* proto*/
static PyObject *__pyx_f_9networkit_10_NetworKit_8Matching_setThis(struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self, NetworKit::Matching &__pyx_v_other); /* proto*/

/* Module declarations from 'libc.stdint' */

/* Module declarations from 'libcpp' */

/* Module declarations from 'libcpp.vector' */

/* Module declarations from 'libcpp.utility' */

/* Module declarations from 'libcpp.map' */

/* Module declarations from 'libcpp.set' */

/* Module declarations from 'libcpp.stack' */

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

/* Module declarations from 'libcpp.string' */

/* Module declarations from 'libcpp.unordered_set' */

/* Module declarations from 'libcpp.unordered_map' */

/* Module declarations from 'libcpp.algorithm' */

/* Module declarations from 'networkit._NetworKit' */
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_Algorithm = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_StaticGraphGenerator = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_Graph = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_STSP = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_BidirectionalBFS = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_BidirectionalDijkstra = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_AStar = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_SSSP = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_DynSSSP = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_BFS = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_DynBFS = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_ReverseBFS = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_Dijkstra = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_DynDijkstra = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_AllSimplePaths = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_APSP = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_DynAPSP = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_SpanningForest = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_UnionMaximumSpanningForest = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_RandomMaximumSpanningForest = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_Luby = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_BarabasiAlbertGenerator = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_PubWebGenerator = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_ErdosRenyiGenerator = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_DorogovtsevMendesGenerator = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_RegularRingLatticeGenerator = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_WattsStrogatzGenerator = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_ClusteredRandomGraphGenerator = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_ChungLuGenerator = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_HavelHakimiGenerator = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_HyperbolicGenerator = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_MocnikGenerator = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_MocnikGeneratorBasic = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_RmatGenerator = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_PowerlawDegreeSequence = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_LFRGenerator = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_GraphReader = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_GraphWriter = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_METISGraphReader = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_NetworkitBinaryReader = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_NetworkitBinaryWriter = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_GraphToolBinaryReader = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_ThrillGraphBinaryReader = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_ThrillGraphBinaryWriter = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_EdgeListReader = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_KONECTGraphReader = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_GMLGraphReader = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_METISGraphWriter = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_GraphToolBinaryWriter = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_DotGraphWriter = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_GMLGraphWriter = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_EdgeListWriter = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_LineFileReader = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_SNAPGraphWriter = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_SNAPGraphReader = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_PartitionReader = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_PartitionWriter = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_BinaryPartitionReader = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_BinaryPartitionWriter = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_EdgeListPartitionReader = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_BinaryEdgeListPartitionReader = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_SNAPEdgeListPartitionReader = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_CoverReader = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_CoverWriter = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_EdgeListCoverReader = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_Partition = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_Cover = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_ClusteringGenerator = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_Traversal = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_GraphTools = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_PartitionIntersection = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_Coverage = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_EdgeCut = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_Modularity = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_HubDominance = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_CommunityDetector = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_PLP = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_LPDegreeOrdered = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_PLM = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_CutClustering = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_DissimilarityMeasure = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_NodeStructuralRandMeasure = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_GraphStructuralRandMeasure = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_JaccardMeasure = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_NMIDistance = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_AdjustedRandMeasure = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_LocalCommunityEvaluation = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_LocalPartitionEvaluation = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_LocalCoverEvaluation = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_IntrapartitionDensity = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_IsolatedInterpartitionConductance = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_IsolatedInterpartitionExpansion = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_CoverHubDominance = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_PartitionHubDominance = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_PartitionFragmentation = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_StablePartitionNodes = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_CoverF1Similarity = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_EdmondsKarp = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_ConnectedComponents = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_ParallelConnectedComponents = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_StronglyConnectedComponents = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_WeaklyConnectedComponents = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_BiconnectedComponents = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_DynConnectedComponents = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_DynWeaklyConnectedComponents = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_Diameter = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_Eccentricity = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_EffectiveDiameter = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_EffectiveDiameterApproximation = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_HopPlotApproximation = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_NeighborhoodFunction = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_NeighborhoodFunctionApproximation = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_Assortativity = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_Centrality = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_TopCloseness = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_TopHarmonicCloseness = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_DynKatzCentrality = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_DynTopHarmonicCloseness = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_GroupDegree = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_GroupCloseness = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_DegreeCentrality = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_Betweenness = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_ApproxGroupBetweenness = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_Closeness = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_HarmonicCloseness = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_KPathCentrality = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_KatzCentrality = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_GraphDifference = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_ApproxBetweenness = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_KadabraBetweenness = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_EstimateBetweenness = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_ApproxBetweenness2 = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_ApproxCloseness = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_PageRank = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_EigenvectorCentrality = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_CoreDecomposition = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_LocalClusteringCoefficient = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_Sfigality = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_DynApproxBetweenness = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_DynBetweenness = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_DynBetweennessOneNode = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_PermanenceCentrality = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_LocalPartitionCoverage = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_LaplacianCentrality = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_GraphEvent = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_DGSStreamParser = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_DGSWriter = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_DynamicPathGenerator = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_DynamicPubWebGenerator = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_DynamicHyperbolicGenerator = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_DynamicForestFireGenerator = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_GraphUpdater = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_GraphCoarsening = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_ParallelPartitionCoarsening = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_MatchingCoarsening = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_PageRankNibble = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_GCE = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_MaximalCliques = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_LinkPredictor = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_KatzIndex = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_CommonNeighborsIndex = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_PreferentialAttachmentIndex = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_Volume = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_JaccardIndex = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_AdamicAdarIndex = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_UDegreeIndex = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_VDegreeIndex = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_AlgebraicDistanceIndex = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_NeighborhoodDistanceIndex = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_TotalNeighborsIndex = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_NeighborsMeasureIndex = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_SameCommunityIndex = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_AdjustedRandIndex = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_ResourceAllocationIndex = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_RandomLinkSampler = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_EvaluationMetric = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_ROCMetric = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_PrecisionRecallMetric = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_MissingLinksFinder = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_NeighborhoodUtility = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_LinkThresholder = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_PredictionsSorter = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_EdgeScore = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_TriangleEdgeScore = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_EdgeScoreLinearizer = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_EdgeScoreNormalizer = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_EdgeScoreBlender = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_GeometricMeanScore = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_EdgeScoreAsWeight = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_AdamicAdarDistance = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_SimmelianOverlapScore = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_PrefixJaccardScore = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_MultiscaleScore = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_RandomEdgeScore = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_LocalSimilarityScore = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_ForestFireScore = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_LocalDegreeScore = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_JaccardDistance = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_AlgebraicDistance = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_JaccardSimilarityAttributizer = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_RandomNodeEdgeScore = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_LocalFilterScore = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_ChanceCorrectedTriangleScore = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_SCANStructuralSimilarityScore = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_GlobalThresholdFilter = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_Matching = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_Matcher = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_PathGrowingMatcher = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_CommuteTimeDistance = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_EpidemicSimulationSEIR = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_SpanningEdgeCentrality = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_GraphLayoutAlgorithm = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_MaxentStress = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_PivotMDS = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_GlobalCurveball = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_CurveballUniformTradeGenerator = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_CurveballGlobalTradeGenerator = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_Curveball = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit_DegreePreservingShuffle = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct__neighbors = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_17_volume = 0;
static PyTypeObject *__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr = 0;
static PyObject *__pyx_f_9networkit_10_NetworKit_toPoint2DVector(std::vector<NetworKit::Point2D>  const &); /*proto*/
static PyObject *__pyx_f_9networkit_10_NetworKit_toNodePoint2DVector(std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,NetworKit::Point2D> >  const &); /*proto*/
static PyObject *__pyx_f_9networkit_10_NetworKit___pyx_unpickle_GraphClusteringTools__set_state(struct __pyx_obj_9networkit_10_NetworKit_GraphClusteringTools *, PyObject *); /*proto*/
static PyObject *__pyx_f_9networkit_10_NetworKit___pyx_unpickle_Traversal__set_state(struct __pyx_obj_9networkit_10_NetworKit_Traversal *, PyObject *); /*proto*/
static PyObject *__pyx_f_9networkit_10_NetworKit___pyx_unpickle_GraphTools__set_state(struct __pyx_obj_9networkit_10_NetworKit_GraphTools *, PyObject *); /*proto*/
static PyObject *__pyx_f_9networkit_10_NetworKit___pyx_unpickle_DissimilarityMeasure__set_state(struct __pyx_obj_9networkit_10_NetworKit_DissimilarityMeasure *, PyObject *); /*proto*/
static PyObject *__pyx_f_9networkit_10_NetworKit___pyx_unpickle_ClusteringCoefficient__set_state(struct __pyx_obj_9networkit_10_NetworKit_ClusteringCoefficient *, PyObject *); /*proto*/
static PyObject *__pyx_f_9networkit_10_NetworKit___pyx_unpickle_Eccentricity__set_state(struct __pyx_obj_9networkit_10_NetworKit_Eccentricity *, PyObject *); /*proto*/
static PyObject *__pyx_f_9networkit_10_NetworKit___pyx_unpickle_Volume__set_state(struct __pyx_obj_9networkit_10_NetworKit_Volume *, PyObject *); /*proto*/
static PyObject *__pyx_f_9networkit_10_NetworKit___pyx_unpickle_RandomLinkSampler__set_state(struct __pyx_obj_9networkit_10_NetworKit_RandomLinkSampler *, PyObject *); /*proto*/
static PyObject *__pyx_f_9networkit_10_NetworKit___pyx_unpickle_NeighborhoodUtility__set_state(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodUtility *, PyObject *); /*proto*/
static PyObject *__pyx_f_9networkit_10_NetworKit___pyx_unpickle_LinkThresholder__set_state(struct __pyx_obj_9networkit_10_NetworKit_LinkThresholder *, PyObject *); /*proto*/
static PyObject *__pyx_f_9networkit_10_NetworKit___pyx_unpickle_PredictionsSorter__set_state(struct __pyx_obj_9networkit_10_NetworKit_PredictionsSorter *, PyObject *); /*proto*/
static std::vector<double>  __pyx_convert_vector_from_py_double(PyObject *); /*proto*/
static std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_count(PyObject *); /*proto*/
static std::vector<__pyx_t_9networkit_10_NetworKit_index>  __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_index(PyObject *); /*proto*/
static std::string __pyx_convert_string_from_py_std__in_string(PyObject *); /*proto*/
static std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_node(PyObject *); /*proto*/
static std::set<__pyx_t_9networkit_10_NetworKit_node>  __pyx_convert_set_from_py___pyx_t_9networkit_10_NetworKit_node(PyObject *); /*proto*/
static std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node>  __pyx_convert_pair_from_py___pyx_t_9networkit_10_NetworKit_node__and___pyx_t_9networkit_10_NetworKit_node(PyObject *); /*proto*/
static std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> >  __pyx_convert_vector_from_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___(PyObject *); /*proto*/
static std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double>  __pyx_convert_pair_from_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e_____and_double(PyObject *); /*proto*/
static std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_convert_vector_from_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___(PyObject *); /*proto*/
static std::pair<std::vector<double> ,std::vector<double> >  __pyx_convert_pair_from_py_std_3a__3a_vector_3c_double_3e_____and_std_3a__3a_vector_3c_double_3e___(PyObject *); /*proto*/
static std::vector<bool>  __pyx_convert_vector_from_py_bool(PyObject *); /*proto*/
static std::pair<double,double>  __pyx_convert_pair_from_py_double__and_double(PyObject *); /*proto*/
static std::vector<std::pair<double,double> >  __pyx_convert_vector_from_py_std_3a__3a_pair_3c_double_2c_double_3e___(PyObject *); /*proto*/
static CYTHON_INLINE PyObject *__pyx_convert_PyObject_string_to_py_std__in_string(std::string const &); /*proto*/
static CYTHON_INLINE PyObject *__pyx_convert_PyUnicode_string_to_py_std__in_string(std::string const &); /*proto*/
static CYTHON_INLINE PyObject *__pyx_convert_PyStr_string_to_py_std__in_string(std::string const &); /*proto*/
static CYTHON_INLINE PyObject *__pyx_convert_PyBytes_string_to_py_std__in_string(std::string const &); /*proto*/
static CYTHON_INLINE PyObject *__pyx_convert_PyByteArray_string_to_py_std__in_string(std::string const &); /*proto*/
static PyObject *__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_coordinate______pyx_t_9networkit_10_NetworKit_coordinate(std::pair<__pyx_t_9networkit_10_NetworKit_coordinate,__pyx_t_9networkit_10_NetworKit_coordinate>  const &); /*proto*/
static PyObject *__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_count______pyx_t_9networkit_10_NetworKit_count(std::pair<__pyx_t_9networkit_10_NetworKit_count,__pyx_t_9networkit_10_NetworKit_count>  const &); /*proto*/
static PyObject *__pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(const std::vector<__pyx_t_9networkit_10_NetworKit_node>  &); /*proto*/
static PyObject *__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_node(std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node>  const &); /*proto*/
static PyObject *__pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___(const std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> >  &); /*proto*/
static PyObject *__pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_edgeweight(const std::vector<__pyx_t_9networkit_10_NetworKit_edgeweight>  &); /*proto*/
static PyObject *__pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_node_3e___(const std::vector<std::vector<__pyx_t_9networkit_10_NetworKit_node> >  &); /*proto*/
static PyObject *__pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_edgeweight_3e___(const std::vector<std::vector<__pyx_t_9networkit_10_NetworKit_edgeweight> >  &); /*proto*/
static PyObject *__pyx_convert_vector_to_py_bool(const std::vector<bool>  &); /*proto*/
static PyObject *__pyx_convert_vector_to_py_double(const std::vector<double>  &); /*proto*/
static PyObject *__pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_count(const std::vector<__pyx_t_9networkit_10_NetworKit_count>  &); /*proto*/
static PyObject *__pyx_convert_vector_to_py_std_3a__3a_string(const std::vector<std::string>  &); /*proto*/
static PyObject *__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_index______pyx_t_9networkit_10_NetworKit_count(std::map<__pyx_t_9networkit_10_NetworKit_index,__pyx_t_9networkit_10_NetworKit_count>  const &); /*proto*/
static PyObject *__pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_index(std::set<__pyx_t_9networkit_10_NetworKit_index>  const &); /*proto*/
static PyObject *__pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_index(const std::vector<__pyx_t_9networkit_10_NetworKit_index>  &); /*proto*/
static std::unordered_set<__pyx_t_9networkit_10_NetworKit_node>  __pyx_convert_unordered_set_from_py___pyx_t_9networkit_10_NetworKit_node(PyObject *); /*proto*/
static PyObject *__pyx_convert_map_to_py_std_3a__3a_string____std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_count_3e___(std::map<std::string,std::vector<__pyx_t_9networkit_10_NetworKit_count> >  const &); /*proto*/
static PyObject *__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_count______pyx_t_9networkit_10_NetworKit_count(std::map<__pyx_t_9networkit_10_NetworKit_count,__pyx_t_9networkit_10_NetworKit_count>  const &); /*proto*/
static PyObject *__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_count(std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_count>  const &); /*proto*/
static PyObject *__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node____double(std::pair<__pyx_t_9networkit_10_NetworKit_node,double>  const &); /*proto*/
static PyObject *__pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c_double_3e___(const std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,double> >  &); /*proto*/
static PyObject *__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_edgeweight(std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_edgeweight>  const &); /*proto*/
static PyObject *__pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_edgeweight_3e___(const std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_edgeweight> >  &); /*proto*/
static PyObject *__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_node____std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_node_3e___(std::map<__pyx_t_9networkit_10_NetworKit_node,std::vector<__pyx_t_9networkit_10_NetworKit_node> >  const &); /*proto*/
static PyObject *__pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_node(std::set<__pyx_t_9networkit_10_NetworKit_node>  const &); /*proto*/
static PyObject *__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_node____std_3a__3a_set_3c___pyx_t_9networkit_10_NetworKit_node_3e___(std::map<__pyx_t_9networkit_10_NetworKit_node,std::set<__pyx_t_9networkit_10_NetworKit_node> >  const &); /*proto*/
static PyObject *__pyx_convert_pair_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e_______double(std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double>  const &); /*proto*/
static PyObject *__pyx_convert_vector_to_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___(const std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  &); /*proto*/
static PyObject *__pyx_convert_pair_to_py_std_3a__3a_vector_3c_double_3e_______std_3a__3a_vector_3c_double_3e___(std::pair<std::vector<double> ,std::vector<double> >  const &); /*proto*/
static std::pair<double,__pyx_t_9networkit_10_NetworKit_count>  __pyx_convert_pair_from_py_double__and___pyx_t_9networkit_10_NetworKit_count(PyObject *); /*proto*/
static PyObject *__pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_count_3e___(const std::vector<std::vector<__pyx_t_9networkit_10_NetworKit_count> >  &); /*proto*/
static PyObject *__pyx_convert_pair_to_py_double____double(std::pair<double,double>  const &); /*proto*/
static PyObject *__pyx_convert_vector_to_py_std_3a__3a_pair_3c_double_2c_double_3e___(const std::vector<std::pair<double,double> >  &); /*proto*/
#define __Pyx_MODULE_NAME "networkit._NetworKit"
extern int __pyx_module_is_main_networkit___NetworKit;
int __pyx_module_is_main_networkit___NetworKit = 0;

/* Implementation of 'networkit._NetworKit' */
static PyObject *__pyx_builtin_staticmethod;
static PyObject *__pyx_builtin_object;
static PyObject *__pyx_builtin_RuntimeError;
static PyObject *__pyx_builtin_TypeError;
static PyObject *__pyx_builtin_range;
static PyObject *__pyx_builtin_ValueError;
static PyObject *__pyx_builtin_open;
static PyObject *__pyx_builtin_print;
static PyObject *__pyx_builtin_sum;
static PyObject *__pyx_builtin_max;
static PyObject *__pyx_builtin_min;
static PyObject *__pyx_builtin___import__;
static PyObject *__pyx_builtin_DeprecationWarning;
static PyObject *__pyx_builtin_BaseException;
static const char __pyx_k_C[] = "C";
static const char __pyx_k_G[] = "G";
static const char __pyx_k_H[] = "H";
static const char __pyx_k_M[] = "M";
static const char __pyx_k_P[] = "P";
static const char __pyx_k_R[] = "R";
static const char __pyx_k_S[] = "S";
static const char __pyx_k_T[] = "T";
static const char __pyx_k_a[] = "a";
static const char __pyx_k_b[] = "b";
static const char __pyx_k_c[] = "c";
static const char __pyx_k_d[] = "d";
static const char __pyx_k_e[] = "e";
static const char __pyx_k_i[] = "i";
static const char __pyx_k_j[] = "j";
static const char __pyx_k_k[] = "k";
static const char __pyx_k_n[] = "n";
static const char __pyx_k_o[] = "-o:{}";
static const char __pyx_k_p[] = "p";
static const char __pyx_k_r[] = "r";
static const char __pyx_k_s[] = "s";
static const char __pyx_k_t[] = "t";
static const char __pyx_k_u[] = "u";
static const char __pyx_k_v[] = "v";
static const char __pyx_k_w[] = "w";
static const char __pyx_k_z[] = "z";
static const char __pyx_k_G1[] = "G1";
static const char __pyx_k_G2[] = "G2";
static const char __pyx_k_e1[] = "e1";
static const char __pyx_k_e2[] = "e2";
static const char __pyx_k_n0[] = "n0";
static const char __pyx_k_os[] = "os";
static const char __pyx_k_pf[] = "pf";
static const char __pyx_k_re[] = "re";
static const char __pyx_k_rs[] = "_rs";
static const char __pyx_k_s1[] = "s1";
static const char __pyx_k_s2[] = "s2";
static const char __pyx_k_t1[] = "t1";
static const char __pyx_k_t2[] = "t2";
static const char __pyx_k_vs[] = "_vs";
static const char __pyx_k_BFS[] = "BFS";
static const char __pyx_k_GCE[] = "GCE";
static const char __pyx_k_PLM[] = "PLM";
static const char __pyx_k_PLP[] = "PLP";
static const char __pyx_k_SUM[] = "SUM";
static const char __pyx_k__88[] = "\t";
static const char __pyx_k_cid[] = "cid";
static const char __pyx_k_d_d[] = "\\d+\\.\\d+";
static const char __pyx_k_dim[] = "dim";
static const char __pyx_k_doc[] = "__doc__";
static const char __pyx_k_eid[] = "eid";
static const char __pyx_k_err[] = "err";
static const char __pyx_k_eta[] = "eta";
static const char __pyx_k_fit[] = "fit";
static const char __pyx_k_heu[] = "heu";
static const char __pyx_k_i_0[] = "-i:{0}";
static const char __pyx_k_key[] = "key";
static const char __pyx_k_log[] = "log";
static const char __pyx_k_max[] = "max";
static const char __pyx_k_min[] = "min";
static const char __pyx_k_new[] = "__new__";
static const char __pyx_k_par[] = "par";
static const char __pyx_k_pin[] = "pin";
static const char __pyx_k_r_2[] = "_r";
static const char __pyx_k_res[] = "res";
static const char __pyx_k_ret[] = "ret";
static const char __pyx_k_run[] = "run";
static const char __pyx_k_sum[] = "sum";
static const char __pyx_k_tol[] = "tol";
static const char __pyx_k_v_2[] = "_v";
static const char __pyx_k_APSP[] = "APSP";
static const char __pyx_k_LAMG[] = "LAMG";
static const char __pyx_k_Luby[] = "Luby";
static const char __pyx_k_SSSP[] = "SSSP";
static const char __pyx_k_STSP[] = "STSP";
static const char __pyx_k__116[] = "#";
static const char __pyx_k__179[] = "";
static const char __pyx_k__180[] = "()";
static const char __pyx_k__181[] = "|";
static const char __pyx_k_algo[] = "algo";
static const char __pyx_k_area[] = "area";
static const char __pyx_k_args[] = "args";
static const char __pyx_k_beta[] = "beta";
static const char __pyx_k_call[] = "call";
static const char __pyx_k_ceil[] = "ceil";
static const char __pyx_k_damp[] = "damp";
static const char __pyx_k_data[] = "data";
static const char __pyx_k_dict[] = "__dict__";
static const char __pyx_k_elem[] = "elem";
static const char __pyx_k_exit[] = "__exit__";
static const char __pyx_k_flag[] = "flag";
static const char __pyx_k_gi_0[] = "-gi:{0}";
static const char __pyx_k_gini[] = "gini";
static const char __pyx_k_join[] = "join";
static const char __pyx_k_main[] = "__main__";
static const char __pyx_k_math[] = "math";
static const char __pyx_k_move[] = "move";
static const char __pyx_k_nMax[] = "nMax";
static const char __pyx_k_name[] = "__name__";
static const char __pyx_k_node[] = "node";
static const char __pyx_k_none[] = "none";
static const char __pyx_k_norm[] = "norm";
static const char __pyx_k_open[] = "open";
static const char __pyx_k_path[] = "path";
static const char __pyx_k_pout[] = "pout";
static const char __pyx_k_prob[] = "prob";
static const char __pyx_k_seed[] = "seed";
static const char __pyx_k_self[] = "self";
static const char __pyx_k_send[] = "send";
static const char __pyx_k_sink[] = "sink";
static const char __pyx_k_size[] = "size";
static const char __pyx_k_summ[] = "summ";
static const char __pyx_k_tMax[] = "tMax";
static const char __pyx_k_tebr[] = "tebr";
static const char __pyx_k_test[] = "__test__";
static const char __pyx_k_time[] = "time";
static const char __pyx_k_type[] = "type";
static const char __pyx_k_warn[] = "warn";
static const char __pyx_k_zero[] = "zero";
static const char __pyx_k_zeta[] = "zeta";
static const char __pyx_k_AStar[] = "AStar";
static const char __pyx_k_Cover[] = "Cover";
static const char __pyx_k_Exact[] = "Exact";
static const char __pyx_k_Gfine[] = "Gfine";
static const char __pyx_k_Graph[] = "Graph";
static const char __pyx_k_SPLIT[] = "SPLIT";
static const char __pyx_k_above[] = "above";
static const char __pyx_k_alpha[] = "alpha";
static const char __pyx_k_close[] = "close";
static const char __pyx_k_count[] = "count";
static const char __pyx_k_curve[] = "curve";
static const char __pyx_k_delta[] = "delta";
static const char __pyx_k_eTime[] = "eTime";
static const char __pyx_k_enter[] = "__enter__";
static const char __pyx_k_error[] = "error";
static const char __pyx_k_first[] = "first";
static const char __pyx_k_floor[] = "floor";
static const char __pyx_k_force[] = "force";
static const char __pyx_k_gamma[] = "gamma";
static const char __pyx_k_graph[] = "graph";
static const char __pyx_k_iTime[] = "iTime";
static const char __pyx_k_lower[] = "lower";
static const char __pyx_k_merge[] = "merge";
static const char __pyx_k_nodes[] = "nodes";
static const char __pyx_k_numpy[] = "numpy";
static const char __pyx_k_omega[] = "omega";
static const char __pyx_k_paths[] = "paths";
static const char __pyx_k_plfit[] = "plfit";
static const char __pyx_k_print[] = "print";
static const char __pyx_k_radii[] = "radii";
static const char __pyx_k_range[] = "range";
static const char __pyx_k_ratio[] = "ratio";
static const char __pyx_k_scale[] = "scale";
static const char __pyx_k_score[] = "score";
static const char __pyx_k_setMu[] = "setMu";
static const char __pyx_k_sort2[] = "sort2";
static const char __pyx_k_split[] = "split";
static const char __pyx_k_start[] = "start";
static const char __pyx_k_state[] = "state";
static const char __pyx_k_strip[] = "strip";
static const char __pyx_k_third[] = "third";
static const char __pyx_k_throw[] = "throw";
static const char __pyx_k_turbo[] = "turbo";
static const char __pyx_k_upper[] = "upper";
static const char __pyx_k_utf_8[] = "utf-8";
static const char __pyx_k_value[] = "value";
static const char __pyx_k_width[] = "width";
static const char __pyx_k_DynBFS[] = "DynBFS";
static const char __pyx_k_Format[] = "Format";
static const char __pyx_k_RANDOM[] = "RANDOM";
static const char __pyx_k_Volume[] = "Volume";
static const char __pyx_k_angles[] = "angles";
static const char __pyx_k_append[] = "append";
static const char __pyx_k_avgDeg[] = "avgDeg";
static const char __pyx_k_cutoff[] = "cutoff";
static const char __pyx_k_decode[] = "decode";
static const char __pyx_k_encode[] = "encode";
static const char __pyx_k_factor[] = "factor";
static const char __pyx_k_format[] = "format";
static const char __pyx_k_height[] = "height";
static const char __pyx_k_helper[] = "helper";
static const char __pyx_k_import[] = "__import__";
static const char __pyx_k_kwargs[] = "kwargs";
static const char __pyx_k_length[] = "length";
static const char __pyx_k_mapped[] = "mapped";
static const char __pyx_k_maxDeg[] = "maxDeg";
static const char __pyx_k_minDeg[] = "minDeg";
static const char __pyx_k_module[] = "__module__";
static const char __pyx_k_nNodes[] = "nNodes";
static const char __pyx_k_object[] = "object";
static const char __pyx_k_offset[] = "offset";
static const char __pyx_k_outDeg[] = "outDeg";
static const char __pyx_k_pandas[] = "pandas";
static const char __pyx_k_params[] = "params";
static const char __pyx_k_pickle[] = "pickle";
static const char __pyx_k_random[] = "random";
static const char __pyx_k_ranked[] = "ranked";
static const char __pyx_k_reduce[] = "__reduce__";
static const char __pyx_k_refine[] = "refine";
static const char __pyx_k_result[] = "result";
static const char __pyx_k_sample[] = "sample";
static const char __pyx_k_scores[] = "scores";
static const char __pyx_k_second[] = "second";
static const char __pyx_k_source[] = "source";
static const char __pyx_k_stream[] = "stream";
static const char __pyx_k_system[] = "system";
static const char __pyx_k_target[] = "target";
static const char __pyx_k_transP[] = "transP";
static const char __pyx_k_trials[] = "trials";
static const char __pyx_k_update[] = "update";
static const char __pyx_k_values[] = "values";
static const char __pyx_k_volume[] = "volume";
static const char __pyx_k_BFSfrom[] = "BFSfrom";
static const char __pyx_k_DFSfrom[] = "DFSfrom";
static const char __pyx_k_DynAPSP[] = "DynAPSP";
static const char __pyx_k_DynSSSP[] = "DynSSSP";
static const char __pyx_k_EdgeCut[] = "EdgeCut";
static const char __pyx_k_Gcoarse[] = "Gcoarse";
static const char __pyx_k_INBOUND[] = "INBOUND";
static const char __pyx_k_Matcher[] = "Matcher";
static const char __pyx_k_byCount[] = "byCount";
static const char __pyx_k_byScore[] = "byScore";
static const char __pyx_k_cResult[] = "cResult";
static const char __pyx_k_coarsen[] = "coarsen";
static const char __pyx_k_columns[] = "columns";
static const char __pyx_k_density[] = "density";
static const char __pyx_k_epsilon[] = "epsilon";
static const char __pyx_k_findall[] = "findall";
static const char __pyx_k_forward[] = "forward";
static const char __pyx_k_genexpr[] = "genexpr";
static const char __pyx_k_getName[] = "getName";
static const char __pyx_k_graphio[] = "graphio";
static const char __pyx_k_inverse[] = "inverse";
static const char __pyx_k_kronfit[] = "kronfit";
static const char __pyx_k_maxIter[] = "maxIter";
static const char __pyx_k_maxRank[] = "maxRank";
static const char __pyx_k_moveOut[] = "moveOut";
static const char __pyx_k_nodeMap[] = "nodeMap";
static const char __pyx_k_prepare[] = "__prepare__";
static const char __pyx_k_prolong[] = "prolong";
static const char __pyx_k_pybytes[] = "pybytes";
static const char __pyx_k_quality[] = "quality";
static const char __pyx_k_recurse[] = "recurse";
static const char __pyx_k_samples[] = "samples";
static const char __pyx_k_sec_heu[] = "sec_heu";
static const char __pyx_k_sepChar[] = "sepChar";
static const char __pyx_k_setSeed[] = "setSeed";
static const char __pyx_k_sources[] = "sources";
static const char __pyx_k_squared[] = "squared";
static const char __pyx_k_vanilla[] = "vanilla";
static const char __pyx_k_wrapper[] = "wrapper";
static const char __pyx_k_Coverage[] = "Coverage";
static const char __pyx_k_Diameter[] = "Diameter";
static const char __pyx_k_Dijkstra[] = "Dijkstra";
static const char __pyx_k_EdgeList[] = "EdgeList";
static const char __pyx_k_Iterable[] = "Iterable";
static const char __pyx_k_Matching[] = "Matching";
static const char __pyx_k_OUTBOUND[] = "OUTBOUND";
static const char __pyx_k_PageRank[] = "PageRank";
static const char __pyx_k_PivotMDS[] = "PivotMDS";
static const char __pyx_k_Standard[] = "Standard";
static const char __pyx_k_avgLocal[] = "avgLocal";
static const char __pyx_k_balanced[] = "balanced";
static const char __pyx_k_batagelj[] = "batagelj";
static const char __pyx_k_callback[] = "callback";
static const char __pyx_k_defaults[] = "defaults";
static const char __pyx_k_directed[] = "directed";
static const char __pyx_k_getGamma[] = "getGamma";
static const char __pyx_k_getValue[] = "getValue";
static const char __pyx_k_getstate[] = "__getstate__";
static const char __pyx_k_loglevel[] = "loglevel";
static const char __pyx_k_maxGamma[] = "maxGamma";
static const char __pyx_k_minGamma[] = "minGamma";
static const char __pyx_k_minScore[] = "minScore";
static const char __pyx_k_nSamples[] = "nSamples";
static const char __pyx_k_nThreads[] = "nThreads";
static const char __pyx_k_numEdges[] = "numEdges";
static const char __pyx_k_numLinks[] = "numLinks";
static const char __pyx_k_numNodes[] = "numNodes";
static const char __pyx_k_parallel[] = "parallel";
static const char __pyx_k_predCopy[] = "predCopy";
static const char __pyx_k_pyResult[] = "pyResult";
static const char __pyx_k_pystring[] = "pystring";
static const char __pyx_k_pyx_type[] = "__pyx_type";
static const char __pyx_k_qualname[] = "__qualname__";
static const char __pyx_k_setPaths[] = "setPaths";
static const char __pyx_k_setstate[] = "__setstate__";
static const char __pyx_k_strategy[] = "strategy";
static const char __pyx_k_tempfile[] = "tempfile";
static const char __pyx_k_toString[] = "toString";
static const char __pyx_k_useTurbo[] = "useTurbo";
static const char __pyx_k_warnings[] = "warnings";
static const char __pyx_k_weighted[] = "weighted";
static const char __pyx_k_0_kronfit[] = "{0}.kronfit";
static const char __pyx_k_Algorithm[] = "Algorithm";
static const char __pyx_k_Automatic[] = "Automatic";
static const char __pyx_k_Closeness[] = "Closeness";
static const char __pyx_k_Curveball[] = "Curveball";
static const char __pyx_k_DGSWriter[] = "DGSWriter";
static const char __pyx_k_DataFrame[] = "DataFrame";
static const char __pyx_k_EdgeScore[] = "EdgeScore";
static const char __pyx_k_KatzIndex[] = "KatzIndex";
static const char __pyx_k_Partition[] = "Partition";
static const char __pyx_k_ROCMetric[] = "ROCMetric";
static const char __pyx_k_Sfigality[] = "Sfigality";
static const char __pyx_k_TIME_STEP[] = "TIME_STEP";
static const char __pyx_k_Traversal[] = "Traversal";
static const char __pyx_k_TypeError[] = "TypeError";
static const char __pyx_k_attribute[] = "attribute";
static const char __pyx_k_avgDegree[] = "avgDegree";
static const char __pyx_k_baseIndex[] = "baseIndex";
static const char __pyx_k_copyNodes[] = "copyNodes";
static const char __pyx_k_fair_area[] = "fair_area";
static const char __pyx_k_firstNode[] = "firstNode";
static const char __pyx_k_first_heu[] = "first_heu";
static const char __pyx_k_getVector[] = "getVector";
static const char __pyx_k_groupOnly[] = "groupOnly";
static const char __pyx_k_groupSize[] = "groupSize";
static const char __pyx_k_initiator[] = "initiator";
static const char __pyx_k_is_number[] = "is_number";
static const char __pyx_k_iterEdges[] = "iterEdges";
static const char __pyx_k_iterNodes[] = "iterNodes";
static const char __pyx_k_maxDegree[] = "maxDegree";
static const char __pyx_k_metaclass[] = "__metaclass__";
static const char __pyx_k_neighbors[] = "neighbors";
static const char __pyx_k_networkit[] = "networkit";
static const char __pyx_k_nodeCount[] = "nodeCount";
static const char __pyx_k_nodeIdMap[] = "nodeIdMap";
static const char __pyx_k_num_nodes[] = "num_nodes";
static const char __pyx_k_pyx_state[] = "__pyx_state";
static const char __pyx_k_readGraph[] = "readGraph";
static const char __pyx_k_reduce_ex[] = "__reduce_ex__";
static const char __pyx_k_reference[] = "reference";
static const char __pyx_k_selection[] = "selection";
static const char __pyx_k_selfLoops[] = "selfLoops";
static const char __pyx_k_separator[] = "separator";
static const char __pyx_k_stdstring[] = "stdstring";
static const char __pyx_k_storePred[] = "storePred";
static const char __pyx_k_testGraph[] = "testGraph";
static const char __pyx_k_tolerance[] = "tolerance";
static const char __pyx_k_transpose[] = "transpose";
static const char __pyx_k_triangles[] = "triangles";
static const char __pyx_k_0_edgelist[] = "{0}.edgelist";
static const char __pyx_k_Centrality[] = "Centrality";
static const char __pyx_k_GraphEvent[] = "GraphEvent";
static const char __pyx_k_GraphTools[] = "GraphTools";
static const char __pyx_k_Modularity[] = "Modularity";
static const char __pyx_k_ReverseBFS[] = "ReverseBFS";
static const char __pyx_k_ValueError[] = "ValueError";
static const char __pyx_k_addMissing[] = "addMissing";
static const char __pyx_k_attribute0[] = "attribute0";
static const char __pyx_k_attribute1[] = "attribute1";
static const char __pyx_k_cNodeIdMap[] = "cNodeIdMap";
static const char __pyx_k_coarsening[] = "coarsening";
static const char __pyx_k_continuous[] = "continuous";
static const char __pyx_k_edgeFactor[] = "edgeFactor";
static const char __pyx_k_edgeScores[] = "edgeScores";
static const char __pyx_k_forEdgesOf[] = "forEdgesOf";
static const char __pyx_k_getQuality[] = "getQuality";
static const char __pyx_k_isDirected[] = "isDirected";
static const char __pyx_k_iterations[] = "iterations";
static const char __pyx_k_nNeighbors[] = "nNeighbors";
static const char __pyx_k_normalized[] = "normalized";
static const char __pyx_k_num_trades[] = "num_trades";
static const char __pyx_k_percentage[] = "percentage";
static const char __pyx_k_pyx_result[] = "__pyx_result";
static const char __pyx_k_pyx_vtable[] = "__pyx_vtable__";
static const char __pyx_k_randomEdge[] = "randomEdge";
static const char __pyx_k_randomNode[] = "randomNode";
static const char __pyx_k_refImplDir[] = "refImplDir";
static const char __pyx_k_remapNodes[] = "remapNodes";
static const char __pyx_k_storePaths[] = "storePaths";
static const char __pyx_k_subprocess[] = "subprocess";
static const char __pyx_k_toWeighted[] = "toWeighted";
static const char __pyx_k_upperBound[] = "upperBound";
static const char __pyx_k_writeGraph[] = "writeGraph";
static const char __pyx_k_zetaCoarse[] = "zetaCoarse";
static const char __pyx_k_Betweenness[] = "Betweenness";
static const char __pyx_k_CoverReader[] = "CoverReader";
static const char __pyx_k_CoverWriter[] = "CoverWriter";
static const char __pyx_k_DynDijkstra[] = "DynDijkstra";
static const char __pyx_k_EDGE_WEIGHT[] = "EDGE_WEIGHT";
static const char __pyx_k_EdmondsKarp[] = "EdmondsKarp";
static const char __pyx_k_Generalized[] = "Generalized";
static const char __pyx_k_GraphReader[] = "GraphReader";
static const char __pyx_k_GraphWriter[] = "GraphWriter";
static const char __pyx_k_GroupDegree[] = "GroupDegree";
static const char __pyx_k_NMIDistance[] = "NMIDistance";
static const char __pyx_k_PickleError[] = "PickleError";
static const char __pyx_k_collections[] = "collections";
static const char __pyx_k_coordinates[] = "coordinates";
static const char __pyx_k_exactGlobal[] = "exactGlobal";
static const char __pyx_k_getLogLevel[] = "getLogLevel";
static const char __pyx_k_isolatedSet[] = "isolatedSet";
static const char __pyx_k_kronfitPath[] = "kronfitPath";
static const char __pyx_k_logarithmic[] = "logarithmic";
static const char __pyx_k_maxDistance[] = "maxDistance";
static const char __pyx_k_maxInDegree[] = "maxInDegree";
static const char __pyx_k_maximumOnly[] = "maximumOnly";
static const char __pyx_k_network_dat[] = "network.dat";
static const char __pyx_k_noSelfLoops[] = "noSelfLoops";
static const char __pyx_k_predictions[] = "predictions";
static const char __pyx_k_randomEdges[] = "randomEdges";
static const char __pyx_k_reduceNodes[] = "reduceNodes";
static const char __pyx_k_setLogLevel[] = "setLogLevel";
static const char __pyx_k_sortByScore[] = "sortByScore";
static const char __pyx_k_sorted_list[] = "sorted_list";
static const char __pyx_k_startFactor[] = "startFactor";
static const char __pyx_k_subsetSizes[] = "subsetSizes";
static const char __pyx_k_triangles_2[] = "_triangles";
static const char __pyx_k_unionSample[] = "unionSample";
static const char __pyx_k_useBFSbound[] = "useBFSbound";
static const char __pyx_k_useThreadId[] = "useThreadId";
static const char __pyx_k_BFSEdgesFrom[] = "BFSEdgesFrom";
static const char __pyx_k_DFSEdgesFrom[] = "DFSEdgesFrom";
static const char __pyx_k_DiameterAlgo[] = "_DiameterAlgo";
static const char __pyx_k_DiscardEdges[] = "DiscardEdges";
static const char __pyx_k_EDGE_REMOVAL[] = "EDGE_REMOVAL";
static const char __pyx_k_Eccentricity[] = "Eccentricity";
static const char __pyx_k_GraphUpdater[] = "GraphUpdater";
static const char __pyx_k_HubDominance[] = "HubDominance";
static const char __pyx_k_JaccardIndex[] = "JaccardIndex";
static const char __pyx_k_LFRGenerator[] = "LFRGenerator";
static const char __pyx_k_MaxentStress[] = "MaxentStress";
static const char __pyx_k_NODE_REMOVAL[] = "NODE_REMOVAL";
static const char __pyx_k_RuntimeError[] = "RuntimeError";
static const char __pyx_k_SumWeightsUp[] = "SumWeightsUp";
static const char __pyx_k_TopCloseness[] = "TopCloseness";
static const char __pyx_k_UDegreeIndex[] = "UDegreeIndex";
static const char __pyx_k_VDegreeIndex[] = "VDegreeIndex";
static const char __pyx_k_approxGlobal[] = "approxGlobal";
static const char __pyx_k_byPercentage[] = "byPercentage";
static const char __pyx_k_compactGraph[] = "compactGraph";
static const char __pyx_k_dampingValue[] = "dampingValue";
static const char __pyx_k_forInEdgesOf[] = "forInEdgesOf";
static const char __pyx_k_getImbalance[] = "getImbalance";
static const char __pyx_k_getPartition[] = "getPartition";
static const char __pyx_k_includeTrail[] = "includeTrail";
static const char __pyx_k_moveDistance[] = "moveDistance";
static const char __pyx_k_moveEachStep[] = "moveEachStep";
static const char __pyx_k_pyx_checksum[] = "__pyx_checksum";
static const char __pyx_k_setPartition[] = "setPartition";
static const char __pyx_k_staticmethod[] = "staticmethod";
static const char __pyx_k_stringsource[] = "stringsource";
static const char __pyx_k_toUndirected[] = "toUndirected";
static const char __pyx_k_toUnweighted[] = "toUnweighted";
static const char __pyx_k_0_benchmark_1[] = "{0}/benchmark {1}";
static const char __pyx_k_Assortativity[] = "Assortativity";
static const char __pyx_k_BaseException[] = "BaseException";
static const char __pyx_k_CutClustering[] = "CutClustering";
static const char __pyx_k_EDGE_ADDITION[] = "EDGE_ADDITION";
static const char __pyx_k_LinkPredictor[] = "LinkPredictor";
static const char __pyx_k_NODE_ADDITION[] = "NODE_ADDITION";
static const char __pyx_k_RmatGenerator[] = "RmatGenerator";
static const char __pyx_k_commentPrefix[] = "commentPrefix";
static const char __pyx_k_graphDistance[] = "graphDistance";
static const char __pyx_k_iterNeighbors[] = "iterNeighbors";
static const char __pyx_k_iterativeAlgo[] = "iterativeAlgo";
static const char __pyx_k_maxIterations[] = "maxIterations";
static const char __pyx_k_maxPathLength[] = "maxPathLength";
static const char __pyx_k_nodeDegreeExp[] = "nodeDegreeExp";
static const char __pyx_k_numThresholds[] = "numThresholds";
static const char __pyx_k_numberOfEdges[] = "numberOfEdges";
static const char __pyx_k_numberOfNodes[] = "numberOfNodes";
static const char __pyx_k_numberSystems[] = "numberSystems";
static const char __pyx_k_reduce_cython[] = "__reduce_cython__";
static const char __pyx_k_refImplParams[] = "refImplParams";
static const char __pyx_k_AllSimplePaths[] = "AllSimplePaths";
static const char __pyx_k_DotGraphWriter[] = "DotGraphWriter";
static const char __pyx_k_DynBetweenness[] = "DynBetweenness";
static const char __pyx_k_EdgeListReader[] = "EdgeListReader";
static const char __pyx_k_EdgeListTabOne[] = "EdgeListTabOne";
static const char __pyx_k_EdgeListWriter[] = "EdgeListWriter";
static const char __pyx_k_EstimatedRange[] = "EstimatedRange";
static const char __pyx_k_GMLGraphReader[] = "GMLGraphReader";
static const char __pyx_k_GMLGraphWriter[] = "GMLGraphWriter";
static const char __pyx_k_GroupCloseness[] = "GroupCloseness";
static const char __pyx_k_JaccardMeasure[] = "JaccardMeasure";
static const char __pyx_k_KatzCentrality[] = "KatzCentrality";
static const char __pyx_k_LineFileReader[] = "LineFileReader";
static const char __pyx_k_MaximalCliques[] = "MaximalCliques";
static const char __pyx_k_PageRankNibble[] = "PageRankNibble";
static const char __pyx_k_SpanningForest[] = "SpanningForest";
static const char __pyx_k_allowSelfLoops[] = "allowSelfLoops";
static const char __pyx_k_approxAvgLocal[] = "approxAvgLocal";
static const char __pyx_k_baseClustering[] = "baseClustering";
static const char __pyx_k_bothDirections[] = "bothDirections";
static const char __pyx_k_degreeSequence[] = "degreeSequence";
static const char __pyx_k_handlingmethod[] = "handlingmethod";
static const char __pyx_k_nodeToMetaNode[] = "nodeToMetaNode";
static const char __pyx_k_numberOfPivots[] = "numberOfPivots";
static const char __pyx_k_randomNeighbor[] = "randomNeighbor";
static const char __pyx_k_sortByNodePair[] = "sortByNodePair";
static const char __pyx_k_storeNodeOrder[] = "storeNodeOrder";
static const char __pyx_k_withEdgeScores[] = "withEdgeScores";
static const char __pyx_k_AdamicAdarIndex[] = "AdamicAdarIndex";
static const char __pyx_k_ApproxCloseness[] = "ApproxCloseness";
static const char __pyx_k_DGSStreamParser[] = "DGSStreamParser";
static const char __pyx_k_ForestFireScore[] = "ForestFireScore";
static const char __pyx_k_GlobalCurveball[] = "GlobalCurveball";
static const char __pyx_k_GraphCoarsening[] = "GraphCoarsening";
static const char __pyx_k_GraphDifference[] = "GraphDifference";
static const char __pyx_k_Graph_iterEdges[] = "Graph.iterEdges";
static const char __pyx_k_Graph_iterNodes[] = "Graph.iterNodes";
static const char __pyx_k_JaccardDistance[] = "JaccardDistance";
static const char __pyx_k_KPathCentrality[] = "KPathCentrality";
static const char __pyx_k_LPDegreeOrdered[] = "LPDegreeOrdered";
static const char __pyx_k_LinkThresholder[] = "LinkThresholder";
static const char __pyx_k_MocnikGenerator[] = "MocnikGenerator";
static const char __pyx_k_MultiscaleScore[] = "MultiscaleScore";
static const char __pyx_k_PartitionReader[] = "PartitionReader";
static const char __pyx_k_PartitionWriter[] = "PartitionWriter";
static const char __pyx_k_PubWebGenerator[] = "PubWebGenerator";
static const char __pyx_k_RandomEdgeScore[] = "RandomEdgeScore";
static const char __pyx_k_SNAPGraphReader[] = "SNAPGraphReader";
static const char __pyx_k_SNAPGraphWriter[] = "SNAPGraphWriter";
static const char __pyx_k_countGroupNodes[] = "countGroupNodes";
static const char __pyx_k_equalClustering[] = "equalClustering";
static const char __pyx_k_fastComputation[] = "fastComputation";
static const char __pyx_k_ignoreSelfLoops[] = "ignoreSelfLoops";
static const char __pyx_k_isOneClustering[] = "isOneClustering";
static const char __pyx_k_iterInNeighbors[] = "iterInNeighbors";
static const char __pyx_k_percentageLinks[] = "percentageLinks";
static const char __pyx_k_pyx_PickleError[] = "__pyx_PickleError";
static const char __pyx_k_setstate_cython[] = "__setstate_cython__";
static const char __pyx_k_updateThreshold[] = "updateThreshold";
static const char __pyx_k_useGraphBuilder[] = "useGraphBuilder";
static const char __pyx_k_BidirectionalBFS[] = "BidirectionalBFS";
static const char __pyx_k_ChungLuGenerator[] = "ChungLuGenerator";
static const char __pyx_k_ClosenessVariant[] = "_ClosenessVariant";
static const char __pyx_k_DegreeCentrality[] = "DegreeCentrality";
static const char __pyx_k_EdgeScoreBlender[] = "EdgeScoreBlender";
static const char __pyx_k_EstimatedSamples[] = "EstimatedSamples";
static const char __pyx_k_EvaluationMetric[] = "EvaluationMetric";
static const char __pyx_k_LocalDegreeScore[] = "LocalDegreeScore";
static const char __pyx_k_LocalFilterScore[] = "LocalFilterScore";
static const char __pyx_k_METISGraphReader[] = "METISGraphReader";
static const char __pyx_k_METISGraphWriter[] = "METISGraphWriter";
static const char __pyx_k_NODE_RESTORATION[] = "NODE_RESTORATION";
static const char __pyx_k_communitySizeExp[] = "communitySizeExp";
static const char __pyx_k_getMinimumDegree[] = "getMinimumDegree";
static const char __pyx_k_iterEdgesWeights[] = "iterEdgesWeights";
static const char __pyx_k_linearSolverType[] = "linearSolverType";
static const char __pyx_k_maxCommunitySize[] = "maxCommunitySize";
static const char __pyx_k_minCommunitySize[] = "minCommunitySize";
static const char __pyx_k_numberIterations[] = "numberIterations";
static const char __pyx_k_setPrintLocation[] = "setPrintLocation";
static const char __pyx_k_AdjustedRandIndex[] = "AdjustedRandIndex";
static const char __pyx_k_AlgebraicDistance[] = "AlgebraicDistance";
static const char __pyx_k_ApproxBetweenness[] = "ApproxBetweenness";
static const char __pyx_k_CommunityDetector[] = "CommunityDetector";
static const char __pyx_k_CoreDecomposition[] = "CoreDecomposition";
static const char __pyx_k_CoverF1Similarity[] = "CoverF1Similarity";
static const char __pyx_k_CoverHubDominance[] = "CoverHubDominance";
static const char __pyx_k_DynKatzCentrality[] = "DynKatzCentrality";
static const char __pyx_k_EdgeScoreAsWeight[] = "EdgeScoreAsWeight";
static const char __pyx_k_EffectiveDiameter[] = "EffectiveDiameter";
static const char __pyx_k_EstimatedPedantic[] = "EstimatedPedantic";
static const char __pyx_k_HarmonicCloseness[] = "HarmonicCloseness";
static const char __pyx_k_KONECTGraphReader[] = "KONECTGraphReader";
static const char __pyx_k_KeepMinimumWeight[] = "KeepMinimumWeight";
static const char __pyx_k_PredictionsSorter[] = "PredictionsSorter";
static const char __pyx_k_RandomLinkSampler[] = "RandomLinkSampler";
static const char __pyx_k_TriangleEdgeScore[] = "TriangleEdgeScore";
static const char __pyx_k_getCompactedGraph[] = "getCompactedGraph";
static const char __pyx_k_getDegreeSequence[] = "getDegreeSequence";
static const char __pyx_k_getNeighborsUnion[] = "getNeighborsUnion";
static const char __pyx_k_maxWeightedDegree[] = "maxWeightedDegree";
static const char __pyx_k_num_global_trades[] = "num_global_trades";
static const char __pyx_k_setDegreeSequence[] = "setDegreeSequence";
static const char __pyx_k_storePredecessors[] = "storePredecessors";
static const char __pyx_k_subgraphFromNodes[] = "subgraphFromNodes";
static const char __pyx_k_universalConstant[] = "universalConstant";
static const char __pyx_k_ALGEBRAIC_DISTANCE[] = "ALGEBRAIC_DISTANCE";
static const char __pyx_k_AdamicAdarDistance[] = "AdamicAdarDistance";
static const char __pyx_k_ApproxBetweenness2[] = "ApproxBetweenness2";
static const char __pyx_k_DeprecationWarning[] = "DeprecationWarning";
static const char __pyx_k_EDGE_WEIGHT_UPDATE[] = "EDGE_WEIGHT_UPDATE";
static const char __pyx_k_GeometricMeanScore[] = "GeometricMeanScore";
static const char __pyx_k_KadabraBetweenness[] = "KadabraBetweenness";
static const char __pyx_k_MatchingCoarsening[] = "MatchingCoarsening";
static const char __pyx_k_MissingLinksFinder[] = "MissingLinksFinder";
static const char __pyx_k_PathGrowingMatcher[] = "PathGrowingMatcher";
static const char __pyx_k_PrefixJaccardScore[] = "PrefixJaccardScore";
static const char __pyx_k_SameCommunityIndex[] = "SameCommunityIndex";
static const char __pyx_k_TemporaryDirectory[] = "TemporaryDirectory";
static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback";
static const char __pyx_k_communicationGraph[] = "communicationGraph";
static const char __pyx_k_getCommonNeighbors[] = "getCommonNeighbors";
static const char __pyx_k_ignoreIfRealizable[] = "ignoreIfRealizable";
static const char __pyx_k_includeInNeighbors[] = "includeInNeighbors";
static const char __pyx_k_isProperClustering[] = "isProperClustering";
static const char __pyx_k_neighborhoodRadius[] = "neighborhoodRadius";
static const char __pyx_k_numberOfDenseAreas[] = "numberOfDenseAreas";
static const char __pyx_k_sequentialAvgLocal[] = "sequentialAvgLocal";
static const char __pyx_k_setNumberOfThreads[] = "setNumberOfThreads";
static const char __pyx_k_AdjustedRandMeasure[] = "AdjustedRandMeasure";
static const char __pyx_k_ClusteringGenerator[] = "ClusteringGenerator";
static const char __pyx_k_CommuteTimeDistance[] = "CommuteTimeDistance";
static const char __pyx_k_ConnectedComponents[] = "ConnectedComponents";
static const char __pyx_k_Dimension_must_be_0[] = "Dimension must be > 0";
static const char __pyx_k_EdgeListCoverReader[] = "EdgeListCoverReader";
static const char __pyx_k_EdgeScoreLinearizer[] = "EdgeScoreLinearizer";
static const char __pyx_k_EdgeScoreNormalizer[] = "EdgeScoreNormalizer";
static const char __pyx_k_ErdosRenyiGenerator[] = "ErdosRenyiGenerator";
static const char __pyx_k_EstimateBetweenness[] = "EstimateBetweenness";
static const char __pyx_k_Graph_iterNeighbors[] = "Graph.iterNeighbors";
static const char __pyx_k_HyperbolicGenerator[] = "HyperbolicGenerator";
static const char __pyx_k_LaplacianCentrality[] = "LaplacianCentrality";
static const char __pyx_k_NeighborhoodUtility[] = "NeighborhoodUtility";
static const char __pyx_k_RandomNodeEdgeScore[] = "RandomNodeEdgeScore";
static const char __pyx_k_TotalNeighborsIndex[] = "TotalNeighborsIndex";
static const char __pyx_k_countSelfLoopsTwice[] = "countSelfLoopsTwice";
static const char __pyx_k_getClusterHierarchy[] = "getClusterHierarchy";
static const char __pyx_k_includeOutNeighbors[] = "includeOutNeighbors";
static const char __pyx_k_maxWeightedInDegree[] = "maxWeightedInDegree";
static const char __pyx_k_pyx_unpickle_Volume[] = "__pyx_unpickle_Volume";
static const char __pyx_k_uniformDistribution[] = "uniformDistribution";
static const char __pyx_k_CommonNeighborsIndex[] = "CommonNeighborsIndex";
static const char __pyx_k_DissimilarityMeasure[] = "DissimilarityMeasure";
static const char __pyx_k_DynApproxBetweenness[] = "DynApproxBetweenness";
static const char __pyx_k_DynamicPathGenerator[] = "DynamicPathGenerator";
static const char __pyx_k_GraphClusteringTools[] = "GraphClusteringTools";
static const char __pyx_k_GraphLayoutAlgorithm[] = "GraphLayoutAlgorithm";
static const char __pyx_k_HavelHakimiGenerator[] = "HavelHakimiGenerator";
static const char __pyx_k_HopPlotApproximation[] = "HopPlotApproximation";
static const char __pyx_k_LocalCoverEvaluation[] = "LocalCoverEvaluation";
static const char __pyx_k_LocalSimilarityScore[] = "LocalSimilarityScore";
static const char __pyx_k_MocnikGeneratorBasic[] = "MocnikGeneratorBasic";
static const char __pyx_k_NeighborhoodFunction[] = "NeighborhoodFunction";
static const char __pyx_k_PermanenceCentrality[] = "PermanenceCentrality";
static const char __pyx_k_StablePartitionNodes[] = "StablePartitionNodes";
static const char __pyx_k_StaticGraphGenerator[] = "StaticGraphGenerator";
static const char __pyx_k_TopHarmonicCloseness[] = "TopHarmonicCloseness";
static const char __pyx_k_getContinuousNodeIds[] = "getContinuousNodeIds";
static const char __pyx_k_maxNumberOfNeighbors[] = "maxNumberOfNeighbors";
static const char __pyx_k_networkit__NetworKit[] = "networkit._NetworKit";
static const char __pyx_k_networkit_exceptions[] = "networkit.exceptions";
static const char __pyx_k_BiconnectedComponents[] = "BiconnectedComponents";
static const char __pyx_k_BidirectionalDijkstra[] = "BidirectionalDijkstra";
static const char __pyx_k_BinaryPartitionReader[] = "BinaryPartitionReader";
static const char __pyx_k_BinaryPartitionWriter[] = "BinaryPartitionWriter";
static const char __pyx_k_ClusteringCoefficient[] = "ClusteringCoefficient";
static const char __pyx_k_DynBetweennessOneNode[] = "DynBetweennessOneNode";
static const char __pyx_k_EDGE_WEIGHT_INCREMENT[] = "EDGE_WEIGHT_INCREMENT";
static const char __pyx_k_EigenvectorCentrality[] = "EigenvectorCentrality";
static const char __pyx_k_GlobalThresholdFilter[] = "GlobalThresholdFilter";
static const char __pyx_k_GraphToolBinaryReader[] = "GraphToolBinaryReader";
static const char __pyx_k_GraphToolBinaryWriter[] = "GraphToolBinaryWriter";
static const char __pyx_k_Graph_iterInNeighbors[] = "Graph.iterInNeighbors";
static const char __pyx_k_Implement_in_subclass[] = "Implement in subclass";
static const char __pyx_k_IntrapartitionDensity[] = "IntrapartitionDensity";
static const char __pyx_k_MultipleEdgesHandling[] = "MultipleEdgesHandling";
static const char __pyx_k_NeighborsMeasureIndex[] = "NeighborsMeasureIndex";
static const char __pyx_k_NetworkitBinaryReader[] = "NetworkitBinaryReader";
static const char __pyx_k_NetworkitBinaryWriter[] = "NetworkitBinaryWriter";
static const char __pyx_k_PartitionHubDominance[] = "PartitionHubDominance";
static const char __pyx_k_PartitionIntersection[] = "PartitionIntersection";
static const char __pyx_k_PrecisionRecallMetric[] = "PrecisionRecallMetric";
static const char __pyx_k_SimmelianOverlapScore[] = "SimmelianOverlapScore";
static const char __pyx_k_computeEdgeCentrality[] = "computeEdgeCentrality";
static const char __pyx_k_getMaxNumberOfThreads[] = "getMaxNumberOfThreads";
static const char __pyx_k_isSingletonClustering[] = "isSingletonClustering";
static const char __pyx_k_volume_locals_genexpr[] = "volume.<locals>.genexpr";
static const char __pyx_k_AlgebraicDistanceIndex[] = "AlgebraicDistanceIndex";
static const char __pyx_k_ApproxGroupBetweenness[] = "ApproxGroupBetweenness";
static const char __pyx_k_DynConnectedComponents[] = "DynConnectedComponents";
static const char __pyx_k_DynamicPubWebGenerator[] = "DynamicPubWebGenerator";
static const char __pyx_k_EpidemicSimulationSEIR[] = "EpidemicSimulationSEIR";
static const char __pyx_k_Graph_iterEdgesWeights[] = "Graph.iterEdgesWeights";
static const char __pyx_k_LocalPartitionCoverage[] = "LocalPartitionCoverage";
static const char __pyx_k_PartitionFragmentation[] = "PartitionFragmentation";
static const char __pyx_k_PowerlawDegreeSequence[] = "PowerlawDegreeSequence";
static const char __pyx_k_SpanningEdgeCentrality[] = "SpanningEdgeCentrality";
static const char __pyx_k_WattsStrogatzGenerator[] = "WattsStrogatzGenerator";
static const char __pyx_k_cinit___locals_genexpr[] = "__cinit__.<locals>.genexpr";
static const char __pyx_k_pyx_unpickle_Traversal[] = "__pyx_unpickle_Traversal";
static const char __pyx_k_BarabasiAlbertGenerator[] = "BarabasiAlbertGenerator";
static const char __pyx_k_DegreePreservingShuffle[] = "DegreePreservingShuffle";
static const char __pyx_k_DynTopHarmonicCloseness[] = "DynTopHarmonicCloseness";
static const char __pyx_k_EdgeListPartitionReader[] = "EdgeListPartitionReader";
static const char __pyx_k_HubDominance_getQuality[] = "HubDominance.getQuality";
static const char __pyx_k_ResourceAllocationIndex[] = "ResourceAllocationIndex";
static const char __pyx_k_ThrillGraphBinaryReader[] = "ThrillGraphBinaryReader";
static const char __pyx_k_ThrillGraphBinaryWriter[] = "ThrillGraphBinaryWriter";
static const char __pyx_k_enableNestedParallelism[] = "enableNestedParallelism";
static const char __pyx_k_neighbors_locals_lambda[] = "neighbors.<locals>.<lambda>";
static const char __pyx_k_number_of_global_rounds[] = "number_of_global_rounds";
static const char __pyx_k_pyx_unpickle_GraphTools[] = "__pyx_unpickle_GraphTools";
static const char __pyx_k_volume_locals_is_number[] = "volume.<locals>.is_number";
static const char __pyx_k_LocalCommunityEvaluation[] = "LocalCommunityEvaluation";
static const char __pyx_k_LocalPartitionEvaluation[] = "LocalPartitionEvaluation";
static const char __pyx_k_getExpectedAverageDegree[] = "getExpectedAverageDegree";
static const char __pyx_k_networkit__NetworKit_pyx[] = "networkit/_NetworKit.pyx";
static const char __pyx_k_Graph_edges_is_deprecated[] = "Graph.edges is deprecated.";
static const char __pyx_k_Graph_nodes_is_deprecated[] = "Graph.nodes is deprecated.";
static const char __pyx_k_NeighborhoodDistanceIndex[] = "NeighborhoodDistanceIndex";
static const char __pyx_k_NodeStructuralRandMeasure[] = "NodeStructuralRandMeasure";
static const char __pyx_k_WeaklyConnectedComponents[] = "WeaklyConnectedComponents";
static const char __pyx_k_getCurrentNumberOfThreads[] = "getCurrentNumberOfThreads";
static const char __pyx_k_inNeighbors_locals_lambda[] = "inNeighbors.<locals>.<lambda>";
static const char __pyx_k_pyx_unpickle_Eccentricity[] = "__pyx_unpickle_Eccentricity";
static const char __pyx_k_setGammaFromAverageDegree[] = "setGammaFromAverageDegree";
static const char __pyx_k_weightedDegreeWithCluster[] = "weightedDegreeWithCluster";
static const char __pyx_k_DorogovtsevMendesGenerator[] = "DorogovtsevMendesGenerator";
static const char __pyx_k_DynamicForestFireGenerator[] = "DynamicForestFireGenerator";
static const char __pyx_k_DynamicHyperbolicGenerator[] = "DynamicHyperbolicGenerator";
static const char __pyx_k_GraphStructuralRandMeasure[] = "GraphStructuralRandMeasure";
static const char __pyx_k_LocalClusteringCoefficient[] = "LocalClusteringCoefficient";
static const char __pyx_k_UnionMaximumSpanningForest[] = "UnionMaximumSpanningForest";
static const char __pyx_k_getRandomContinuousNodeIds[] = "getRandomContinuousNodeIds";
static const char __pyx_k_removeEdgesFromIsolatedSet[] = "removeEdgesFromIsolatedSet";
static const char __pyx_k_storeNodesSortedByDistance[] = "storeNodesSortedByDistance";
static const char __pyx_k_useReferenceImplementation[] = "useReferenceImplementation";
static const char __pyx_k_Graph_getName_is_deprecated[] = "Graph.getName is deprecated.";
static const char __pyx_k_Graph_setName_is_deprecated[] = "Graph.setName is deprecated.";
static const char __pyx_k_No_matching_signature_found[] = "No matching signature found";
static const char __pyx_k_ParallelConnectedComponents[] = "ParallelConnectedComponents";
static const char __pyx_k_ParallelPartitionCoarsening[] = "ParallelPartitionCoarsening";
static const char __pyx_k_PreferentialAttachmentIndex[] = "PreferentialAttachmentIndex";
static const char __pyx_k_RandomMaximumSpanningForest[] = "RandomMaximumSpanningForest";
static const char __pyx_k_ReducedFunctionalityWarning[] = "ReducedFunctionalityWarning";
static const char __pyx_k_RegularRingLatticeGenerator[] = "RegularRingLatticeGenerator";
static const char __pyx_k_SNAPEdgeListPartitionReader[] = "SNAPEdgeListPartitionReader";
static const char __pyx_k_StronglyConnectedComponents[] = "StronglyConnectedComponents";
static const char __pyx_k_communityDetectionAlgorithm[] = "communityDetectionAlgorithm";
static const char __pyx_k_enforceBucketQueueAlgorithm[] = "enforceBucketQueueAlgorithm";
static const char __pyx_k_setMinimumFromAverageDegree[] = "setMinimumFromAverageDegree";
static const char __pyx_k_ChanceCorrectedTriangleScore[] = "ChanceCorrectedTriangleScore";
static const char __pyx_k_DynWeaklyConnectedComponents[] = "DynWeaklyConnectedComponents";
static const char __pyx_k_Graph_toString_is_deprecated[] = "Graph.toString is deprecated.";
static const char __pyx_k_pyx_unpickle_LinkThresholder[] = "__pyx_unpickle_LinkThresholder";
static const char __pyx_k_BinaryEdgeListPartitionReader[] = "BinaryEdgeListPartitionReader";
static const char __pyx_k_BinaryEdgeListPartitionWriter[] = "BinaryEdgeListPartitionWriter";
static const char __pyx_k_ClusteredRandomGraphGenerator[] = "ClusteredRandomGraphGenerator";
static const char __pyx_k_CurveballGlobalTradeGenerator[] = "CurveballGlobalTradeGenerator";
static const char __pyx_k_JaccardSimilarityAttributizer[] = "JaccardSimilarityAttributizer";
static const char __pyx_k_NeighborhoodFunctionHeuristic[] = "NeighborhoodFunctionHeuristic";
static const char __pyx_k_Parameter_G_has_to_be_a_graph[] = "Parameter G has to be a graph";
static const char __pyx_k_SCANStructuralSimilarityScore[] = "SCANStructuralSimilarityScore";
static const char __pyx_k_CurveballUniformTradeGenerator[] = "CurveballUniformTradeGenerator";
static const char __pyx_k_EffectiveDiameterApproximation[] = "EffectiveDiameterApproximation";
static const char __pyx_k_NetworKit_Graph_name_0_n_1_m_2[] = "NetworKit.Graph(name={0}, n={1}, m={2})";
static const char __pyx_k_generatePowerlawDegreeSequence[] = "generatePowerlawDegreeSequence";
static const char __pyx_k_pyx_unpickle_ClusteringCoeffic[] = "__pyx_unpickle_ClusteringCoefficient";
static const char __pyx_k_pyx_unpickle_DissimilarityMeas[] = "__pyx_unpickle_DissimilarityMeasure";
static const char __pyx_k_pyx_unpickle_GraphClusteringTo[] = "__pyx_unpickle_GraphClusteringTools";
static const char __pyx_k_pyx_unpickle_NeighborhoodUtili[] = "__pyx_unpickle_NeighborhoodUtility";
static const char __pyx_k_pyx_unpickle_PredictionsSorter[] = "__pyx_unpickle_PredictionsSorter";
static const char __pyx_k_pyx_unpickle_RandomLinkSampler[] = "__pyx_unpickle_RandomLinkSampler";
static const char __pyx_k_using_initiator_matrix_0_1_2_3[] = "using initiator matrix [{0},{1};{2},{3}]";
static const char __pyx_k_ChibaNishizekiTriangleEdgeScore[] = "ChibaNishizekiTriangleEdgeScore";
static const char __pyx_k_Error_you_may_not_use_Algorithm[] = "Error, you may not use Algorithm directly, use a sub-class instead";
static const char __pyx_k_Error_you_may_not_use_EdgeScore[] = "Error, you may not use EdgeScore directly, use a sub-class instead";
static const char __pyx_k_Graph_BFSfrom_is_deprecated_use[] = "Graph.BFSfrom is deprecated, use graph.Traversal.BFSfrom instead";
static const char __pyx_k_Graph_DFSfrom_is_deprecated_use[] = "Graph.DFSfrom is deprecated, use graph.Traversal.DFSfrom instead";
static const char __pyx_k_Graph_density_is_deprecated_use[] = "Graph.density is deprecated, use graphtools.density instead.";
static const char __pyx_k_Graph_maxDegreeIn_is_deprecated[] = "Graph.maxDegreeIn is deprecated, use graphtools.maxInDegree instead.";
static const char __pyx_k_Graph_randomEdges_is_deprecated[] = "Graph.randomEdges is deprecated, use graphtools.randomEdges instead.";
static const char __pyx_k_IsolatedInterpartitionExpansion[] = "IsolatedInterpartitionExpansion";
static const char __pyx_k_N_0_k_1_maxk_2_mu_3_minc_4_maxc[] = "-N {0} -k {1} -maxk {2} -mu {3} -minc {4} -maxc {5} -t1 {6} -t2 {7}";
static const char __pyx_k_WARNING_module_pandas_not_found[] = "WARNING: module 'pandas' not found, some functionality will be restricted";
static const char __pyx_k_moveOut_parameter_is_deprecated[] = "moveOut parameter is deprecated and not used";
static const char __pyx_k_separator_has_to_be_exactly_one[] = "separator has to be exactly one ascii character";
static const char __pyx_k_An_Exception_occurred_aborting_e[] = "An Exception occurred, aborting execution of iterator: {0}";
static const char __pyx_k_ApproxBetweenness2_is_deprecated[] = "ApproxBetweenness2 is deprecated; use EstimateBetweenness instead.";
static const char __pyx_k_CONJUGATE_GRADIENT_DIAGONAL_PREC[] = "CONJUGATE_GRADIENT_DIAGONAL_PRECONDITIONER";
static const char __pyx_k_CONJUGATE_GRADIENT_IDENTITY_PREC[] = "CONJUGATE_GRADIENT_IDENTITY_PRECONDITIONER";
static const char __pyx_k_Cannot_create_edge_0_1_as_at_lea[] = "Cannot create edge ({0}, {1}) as at least one end point does not exsists";
static const char __pyx_k_ChibaNishizekiQuadrangleEdgeScor[] = "ChibaNishizekiQuadrangleEdgeScore";
static const char __pyx_k_Could_not_set_desired_average_co[] = "Could not set desired average community size {}, average will be {} instead";
static const char __pyx_k_DynamicDorogovtsevMendesGenerato[] = "DynamicDorogovtsevMendesGenerator";
static const char __pyx_k_EdgeSwitchingMarkovChainGenerato[] = "EdgeSwitchingMarkovChainGenerator";
static const char __pyx_k_Error_nodes_must_be_a_list_of_no[] = "Error, nodes must be a list of nodes.";
static const char __pyx_k_Error_object_not_properly_initia[] = "Error, object not properly initialized";
static const char __pyx_k_Error_the_third_parameter_must_b[] = "Error: the third parameter must be either a bool or a ClosenessVariant";
static const char __pyx_k_Error_you_may_not_use_Centrality[] = "Error, you may not use Centrality directly, use a sub-class instead";
static const char __pyx_k_Error_you_may_not_use_CommunityD[] = "Error, you may not use CommunityDetector directly, use a sub-class instead";
static const char __pyx_k_Error_you_may_not_use_DynSSSP_di[] = "Error, you may not use DynSSSP directly, use a sub-class instead";
static const char __pyx_k_Error_you_may_not_use_GraphCoars[] = "Error, you may not use GraphCoarsening directly, use a sub-class instead";
static const char __pyx_k_Error_you_may_not_use_GraphLayou[] = "Error, you may not use GraphLayoutAlgorithm directly, use a sub-class instead";
static const char __pyx_k_Error_you_may_not_use_GraphReade[] = "Error, you may not use GraphReader directly, use a sub-class instead";
static const char __pyx_k_Error_you_may_not_use_LocalCommu[] = "Error, you may not use LocalCommunityEvaluation directly, use a sub-class instead";
static const char __pyx_k_Error_you_may_not_use_LocalCover[] = "Error, you may not use LocalCoverEvaluation directly, use a sub-class instead";
static const char __pyx_k_Error_you_may_not_use_LocalParti[] = "Error, you may not use LocalPartitionEvaluation directly, use a sub-class instead";
static const char __pyx_k_Error_you_may_not_use_SSSP_direc[] = "Error, you may not use SSSP directly, use a sub-class instead";
static const char __pyx_k_Error_you_may_not_use_STSP_direc[] = "Error, you may not use STSP directly, use a sub-class instead";
static const char __pyx_k_Error_you_may_not_use_StaticGrap[] = "Error, you may not use StaticGraphGenerator directly, use a sub-class instead";
static const char __pyx_k_Expected_at_least_d_argument_s_g[] = "Expected at least %d argument%s, got %d";
static const char __pyx_k_Exponent_of_power_law_degree_dis[] = "Exponent of power-law degree distribution must be > 2";
static const char __pyx_k_Function_call_with_ambiguous_arg[] = "Function call with ambiguous argument types";
static const char __pyx_k_Graph_BFSEdgesFrom_is_deprecated[] = "Graph.BFSEdgesFrom is deprecated, use graph.Traversal.BFSEdgesFrom instead";
static const char __pyx_k_Graph_DFSEdgesFrom_is_deprecated[] = "Graph.DFSEdgesFrom is deprecated, use graph.Traversal.DFSEdgesFrom instead";
static const char __pyx_k_Graph_append_is_deprecated_use_g[] = "Graph.append is deprecated, use graphtools.append instead.";
static const char __pyx_k_Graph_copyNodes_is_deprecated_us[] = "Graph.copyNodes is deprecated, use graphtools.copyNodes instead.";
static const char __pyx_k_Graph_maxDegree_is_deprecated_us[] = "Graph.maxDegree is deprecated, use graphtools.maxDegree instead.";
static const char __pyx_k_Graph_maxWeightedDegreeIn_is_dep[] = "Graph.maxWeightedDegreeIn is deprecated, use graphtools.maxWeightedInDegree instead.";
static const char __pyx_k_Graph_maxWeightedDegree_is_depre[] = "Graph.maxWeightedDegree is deprecated, use graphtools.maxWeightedDegree instead.";
static const char __pyx_k_Graph_merge_is_deprecated_use_gr[] = "Graph.merge is deprecated, use graphtools.merge instead.";
static const char __pyx_k_Graph_randomEdge_is_deprecated_u[] = "Graph.randomEdge is deprecated, use graphtools.randomEdge instead.";
static const char __pyx_k_Graph_randomNeighbor_is_deprecat[] = "Graph.randomNeighbor is deprecated, use graphtools.randomNeighbor instead.";
static const char __pyx_k_Graph_randomNode_is_deprecated_u[] = "Graph.randomNode is deprecated, use graphtools.randomNode instead.";
static const char __pyx_k_Graph_removeEdgesFromIsolatedSet[] = "Graph.removeEdgesFromIsolatedSet is deprecated, use graphtools.removeEdgesFromIsolatedSet instead.";
static const char __pyx_k_Graph_size_is_deprecated_use_gra[] = "Graph.size is deprecated, use graphtools.size instead.";
static const char __pyx_k_Graph_subgraphFromNodes_is_depre[] = "Graph.subgraphFromNodes is deprecated, use graphtools.subgraphFromNodes instead.";
static const char __pyx_k_Graph_toUndirected_is_deprecated[] = "Graph.toUndirected is deprecated, use graphtools.toUndirected instead.";
static const char __pyx_k_Graph_toUnweighted_is_deprecated[] = "Graph.toUnweighted is deprecated, use graphtools.toUnweighted instead.";
static const char __pyx_k_Graph_transpose_is_deprecated_us[] = "Graph.transpose is deprecated, use graphtools.transpose instead.";
static const char __pyx_k_Incompatible_checksums_s_vs_0xd4[] = "Incompatible checksums (%s vs 0xd41d8cd = ())";
static const char __pyx_k_Increasing_maximum_community_siz[] = "Increasing maximum community size to fit the largest degree";
static const char __pyx_k_Instantiation_of_abstract_base_c[] = "Instantiation of abstract base class";
static const char __pyx_k_IsolatedInterpartitionConductanc[] = "IsolatedInterpartitionConductance";
static const char __pyx_k_NeighborhoodFunctionApproximatio[] = "NeighborhoodFunctionApproximation";
static const char __pyx_k_Nested_parallelism_has_been_depr[] = "Nested parallelism has been deprecated.";
static const char __pyx_k_TODO_figure_out_scaling_scheme_f[] = "TODO: figure out scaling scheme for directed graphs";
static const char __pyx_k_The_graph_is_not_directed_return[] = "The graph is not directed, returning the neighbors!";
static const char __pyx_k_call_setPaths_class_method_first[] = "call setPaths class method first to configure";
static const char __pyx_k_degreePreservingShufflePreproces[] = "degreePreservingShufflePreprocessing";
static const char __pyx_k_extractLargestConnectedComponent[] = "extractLargestConnectedComponent";
static const char __pyx_k_generatePowerlawCommunitySizeSeq[] = "generatePowerlawCommunitySizeSequence";
static const char __pyx_k_no_default___reduce___due_to_non[] = "no default __reduce__ due to non-trivial __cinit__";
static const char __pyx_k_random_nodes_to_delete_to_achiev[] = "random nodes to delete to achieve target node count: ";
static const char __pyx_k_score_must_be_either_a_vector_of[] = "score must be either a vector of integer or float";
static const char __pyx_k_self__this_cannot_be_converted_t[] = "self._this cannot be converted to a Python object for pickling";
static const char __pyx_k_setPathToReferenceImplementation[] = "setPathToReferenceImplementationDir";
static PyObject *__pyx_kp_u_0_benchmark_1;
static PyObject *__pyx_kp_u_0_edgelist;
static PyObject *__pyx_kp_u_0_kronfit;
static PyObject *__pyx_n_s_ALGEBRAIC_DISTANCE;
static PyObject *__pyx_n_s_APSP;
static PyObject *__pyx_n_s_AStar;
static PyObject *__pyx_n_s_AdamicAdarDistance;
static PyObject *__pyx_n_s_AdamicAdarIndex;
static PyObject *__pyx_n_s_AdjustedRandIndex;
static PyObject *__pyx_n_s_AdjustedRandMeasure;
static PyObject *__pyx_n_s_AlgebraicDistance;
static PyObject *__pyx_n_s_AlgebraicDistanceIndex;
static PyObject *__pyx_n_s_Algorithm;
static PyObject *__pyx_n_s_AllSimplePaths;
static PyObject *__pyx_kp_u_An_Exception_occurred_aborting_e;
static PyObject *__pyx_n_s_ApproxBetweenness;
static PyObject *__pyx_n_s_ApproxBetweenness2;
static PyObject *__pyx_kp_u_ApproxBetweenness2_is_deprecated;
static PyObject *__pyx_n_s_ApproxCloseness;
static PyObject *__pyx_n_s_ApproxGroupBetweenness;
static PyObject *__pyx_n_s_Assortativity;
static PyObject *__pyx_n_s_Automatic;
static PyObject *__pyx_n_s_BFS;
static PyObject *__pyx_n_s_BFSEdgesFrom;
static PyObject *__pyx_n_s_BFSfrom;
static PyObject *__pyx_n_s_BarabasiAlbertGenerator;
static PyObject *__pyx_n_s_BaseException;
static PyObject *__pyx_n_s_Betweenness;
static PyObject *__pyx_n_s_BiconnectedComponents;
static PyObject *__pyx_n_s_BidirectionalBFS;
static PyObject *__pyx_n_s_BidirectionalDijkstra;
static PyObject *__pyx_n_s_BinaryEdgeListPartitionReader;
static PyObject *__pyx_n_s_BinaryEdgeListPartitionWriter;
static PyObject *__pyx_n_s_BinaryPartitionReader;
static PyObject *__pyx_n_s_BinaryPartitionWriter;
static PyObject *__pyx_n_s_C;
static PyObject *__pyx_n_s_CONJUGATE_GRADIENT_DIAGONAL_PREC;
static PyObject *__pyx_n_s_CONJUGATE_GRADIENT_IDENTITY_PREC;
static PyObject *__pyx_kp_u_Cannot_create_edge_0_1_as_at_lea;
static PyObject *__pyx_n_s_Centrality;
static PyObject *__pyx_n_s_ChanceCorrectedTriangleScore;
static PyObject *__pyx_n_s_ChibaNishizekiQuadrangleEdgeScor;
static PyObject *__pyx_n_s_ChibaNishizekiTriangleEdgeScore;
static PyObject *__pyx_n_s_ChungLuGenerator;
static PyObject *__pyx_n_s_Closeness;
static PyObject *__pyx_n_s_ClosenessVariant;
static PyObject *__pyx_n_s_ClusteredRandomGraphGenerator;
static PyObject *__pyx_n_s_ClusteringCoefficient;
static PyObject *__pyx_n_s_ClusteringGenerator;
static PyObject *__pyx_n_s_CommonNeighborsIndex;
static PyObject *__pyx_n_s_CommunityDetector;
static PyObject *__pyx_n_s_CommuteTimeDistance;
static PyObject *__pyx_n_s_ConnectedComponents;
static PyObject *__pyx_n_s_CoreDecomposition;
static PyObject *__pyx_kp_u_Could_not_set_desired_average_co;
static PyObject *__pyx_n_s_Cover;
static PyObject *__pyx_n_s_CoverF1Similarity;
static PyObject *__pyx_n_s_CoverHubDominance;
static PyObject *__pyx_n_s_CoverReader;
static PyObject *__pyx_n_s_CoverWriter;
static PyObject *__pyx_n_s_Coverage;
static PyObject *__pyx_n_s_Curveball;
static PyObject *__pyx_n_s_CurveballGlobalTradeGenerator;
static PyObject *__pyx_n_s_CurveballUniformTradeGenerator;
static PyObject *__pyx_n_s_CutClustering;
static PyObject *__pyx_n_s_DFSEdgesFrom;
static PyObject *__pyx_n_s_DFSfrom;
static PyObject *__pyx_n_s_DGSStreamParser;
static PyObject *__pyx_n_s_DGSWriter;
static PyObject *__pyx_n_s_DataFrame;
static PyObject *__pyx_n_s_DegreeCentrality;
static PyObject *__pyx_n_s_DegreePreservingShuffle;
static PyObject *__pyx_n_s_DeprecationWarning;
static PyObject *__pyx_n_s_Diameter;
static PyObject *__pyx_n_s_DiameterAlgo;
static PyObject *__pyx_n_s_Dijkstra;
static PyObject *__pyx_kp_u_Dimension_must_be_0;
static PyObject *__pyx_n_s_DiscardEdges;
static PyObject *__pyx_n_s_DissimilarityMeasure;
static PyObject *__pyx_n_s_DorogovtsevMendesGenerator;
static PyObject *__pyx_n_s_DotGraphWriter;
static PyObject *__pyx_n_s_DynAPSP;
static PyObject *__pyx_n_s_DynApproxBetweenness;
static PyObject *__pyx_n_s_DynBFS;
static PyObject *__pyx_n_s_DynBetweenness;
static PyObject *__pyx_n_s_DynBetweennessOneNode;
static PyObject *__pyx_n_s_DynConnectedComponents;
static PyObject *__pyx_n_s_DynDijkstra;
static PyObject *__pyx_n_s_DynKatzCentrality;
static PyObject *__pyx_n_s_DynSSSP;
static PyObject *__pyx_n_s_DynTopHarmonicCloseness;
static PyObject *__pyx_n_s_DynWeaklyConnectedComponents;
static PyObject *__pyx_n_s_DynamicDorogovtsevMendesGenerato;
static PyObject *__pyx_n_s_DynamicForestFireGenerator;
static PyObject *__pyx_n_s_DynamicHyperbolicGenerator;
static PyObject *__pyx_n_s_DynamicPathGenerator;
static PyObject *__pyx_n_s_DynamicPubWebGenerator;
static PyObject *__pyx_n_s_EDGE_ADDITION;
static PyObject *__pyx_n_s_EDGE_REMOVAL;
static PyObject *__pyx_n_s_EDGE_WEIGHT;
static PyObject *__pyx_n_s_EDGE_WEIGHT_INCREMENT;
static PyObject *__pyx_n_s_EDGE_WEIGHT_UPDATE;
static PyObject *__pyx_n_s_Eccentricity;
static PyObject *__pyx_n_s_EdgeCut;
static PyObject *__pyx_n_s_EdgeList;
static PyObject *__pyx_n_s_EdgeListCoverReader;
static PyObject *__pyx_n_s_EdgeListPartitionReader;
static PyObject *__pyx_n_s_EdgeListReader;
static PyObject *__pyx_n_s_EdgeListTabOne;
static PyObject *__pyx_n_s_EdgeListWriter;
static PyObject *__pyx_n_s_EdgeScore;
static PyObject *__pyx_n_s_EdgeScoreAsWeight;
static PyObject *__pyx_n_s_EdgeScoreBlender;
static PyObject *__pyx_n_s_EdgeScoreLinearizer;
static PyObject *__pyx_n_s_EdgeScoreNormalizer;
static PyObject *__pyx_n_s_EdgeSwitchingMarkovChainGenerato;
static PyObject *__pyx_n_s_EdmondsKarp;
static PyObject *__pyx_n_s_EffectiveDiameter;
static PyObject *__pyx_n_s_EffectiveDiameterApproximation;
static PyObject *__pyx_n_s_EigenvectorCentrality;
static PyObject *__pyx_n_s_EpidemicSimulationSEIR;
static PyObject *__pyx_n_s_ErdosRenyiGenerator;
static PyObject *__pyx_kp_u_Error_nodes_must_be_a_list_of_no;
static PyObject *__pyx_kp_u_Error_object_not_properly_initia;
static PyObject *__pyx_kp_u_Error_the_third_parameter_must_b;
static PyObject *__pyx_kp_u_Error_you_may_not_use_Algorithm;
static PyObject *__pyx_kp_u_Error_you_may_not_use_Centrality;
static PyObject *__pyx_kp_u_Error_you_may_not_use_CommunityD;
static PyObject *__pyx_kp_u_Error_you_may_not_use_DynSSSP_di;
static PyObject *__pyx_kp_u_Error_you_may_not_use_EdgeScore;
static PyObject *__pyx_kp_u_Error_you_may_not_use_GraphCoars;
static PyObject *__pyx_kp_u_Error_you_may_not_use_GraphLayou;
static PyObject *__pyx_kp_u_Error_you_may_not_use_GraphReade;
static PyObject *__pyx_kp_u_Error_you_may_not_use_LocalCommu;
static PyObject *__pyx_kp_u_Error_you_may_not_use_LocalCover;
static PyObject *__pyx_kp_u_Error_you_may_not_use_LocalParti;
static PyObject *__pyx_kp_u_Error_you_may_not_use_SSSP_direc;
static PyObject *__pyx_kp_u_Error_you_may_not_use_STSP_direc;
static PyObject *__pyx_kp_u_Error_you_may_not_use_StaticGrap;
static PyObject *__pyx_n_s_EstimateBetweenness;
static PyObject *__pyx_n_s_EstimatedPedantic;
static PyObject *__pyx_n_s_EstimatedRange;
static PyObject *__pyx_n_s_EstimatedSamples;
static PyObject *__pyx_n_s_EvaluationMetric;
static PyObject *__pyx_n_s_Exact;
static PyObject *__pyx_kp_s_Expected_at_least_d_argument_s_g;
static PyObject *__pyx_kp_u_Exponent_of_power_law_degree_dis;
static PyObject *__pyx_n_s_ForestFireScore;
static PyObject *__pyx_n_s_Format;
static PyObject *__pyx_kp_s_Function_call_with_ambiguous_arg;
static PyObject *__pyx_n_s_G;
static PyObject *__pyx_n_s_G1;
static PyObject *__pyx_n_s_G2;
static PyObject *__pyx_n_s_GCE;
static PyObject *__pyx_n_s_GMLGraphReader;
static PyObject *__pyx_n_s_GMLGraphWriter;
static PyObject *__pyx_n_s_Gcoarse;
static PyObject *__pyx_n_s_Generalized;
static PyObject *__pyx_n_s_GeometricMeanScore;
static PyObject *__pyx_n_s_Gfine;
static PyObject *__pyx_n_s_GlobalCurveball;
static PyObject *__pyx_n_s_GlobalThresholdFilter;
static PyObject *__pyx_n_s_Graph;
static PyObject *__pyx_n_s_GraphClusteringTools;
static PyObject *__pyx_n_s_GraphCoarsening;
static PyObject *__pyx_n_s_GraphDifference;
static PyObject *__pyx_n_s_GraphEvent;
static PyObject *__pyx_n_s_GraphLayoutAlgorithm;
static PyObject *__pyx_n_s_GraphReader;
static PyObject *__pyx_n_s_GraphStructuralRandMeasure;
static PyObject *__pyx_n_s_GraphToolBinaryReader;
static PyObject *__pyx_n_s_GraphToolBinaryWriter;
static PyObject *__pyx_n_s_GraphTools;
static PyObject *__pyx_n_s_GraphUpdater;
static PyObject *__pyx_n_s_GraphWriter;
static PyObject *__pyx_kp_u_Graph_BFSEdgesFrom_is_deprecated;
static PyObject *__pyx_kp_u_Graph_BFSfrom_is_deprecated_use;
static PyObject *__pyx_kp_u_Graph_DFSEdgesFrom_is_deprecated;
static PyObject *__pyx_kp_u_Graph_DFSfrom_is_deprecated_use;
static PyObject *__pyx_kp_u_Graph_append_is_deprecated_use_g;
static PyObject *__pyx_kp_u_Graph_copyNodes_is_deprecated_us;
static PyObject *__pyx_kp_u_Graph_density_is_deprecated_use;
static PyObject *__pyx_kp_u_Graph_edges_is_deprecated;
static PyObject *__pyx_kp_u_Graph_getName_is_deprecated;
static PyObject *__pyx_n_s_Graph_iterEdges;
static PyObject *__pyx_n_s_Graph_iterEdgesWeights;
static PyObject *__pyx_n_s_Graph_iterInNeighbors;
static PyObject *__pyx_n_s_Graph_iterNeighbors;
static PyObject *__pyx_n_s_Graph_iterNodes;
static PyObject *__pyx_kp_u_Graph_maxDegreeIn_is_deprecated;
static PyObject *__pyx_kp_u_Graph_maxDegree_is_deprecated_us;
static PyObject *__pyx_kp_u_Graph_maxWeightedDegreeIn_is_dep;
static PyObject *__pyx_kp_u_Graph_maxWeightedDegree_is_depre;
static PyObject *__pyx_kp_u_Graph_merge_is_deprecated_use_gr;
static PyObject *__pyx_kp_u_Graph_nodes_is_deprecated;
static PyObject *__pyx_kp_u_Graph_randomEdge_is_deprecated_u;
static PyObject *__pyx_kp_u_Graph_randomEdges_is_deprecated;
static PyObject *__pyx_kp_u_Graph_randomNeighbor_is_deprecat;
static PyObject *__pyx_kp_u_Graph_randomNode_is_deprecated_u;
static PyObject *__pyx_kp_u_Graph_removeEdgesFromIsolatedSet;
static PyObject *__pyx_kp_u_Graph_setName_is_deprecated;
static PyObject *__pyx_kp_u_Graph_size_is_deprecated_use_gra;
static PyObject *__pyx_kp_u_Graph_subgraphFromNodes_is_depre;
static PyObject *__pyx_kp_u_Graph_toString_is_deprecated;
static PyObject *__pyx_kp_u_Graph_toUndirected_is_deprecated;
static PyObject *__pyx_kp_u_Graph_toUnweighted_is_deprecated;
static PyObject *__pyx_kp_u_Graph_transpose_is_deprecated_us;
static PyObject *__pyx_n_s_GroupCloseness;
static PyObject *__pyx_n_s_GroupDegree;
static PyObject *__pyx_n_s_H;
static PyObject *__pyx_n_s_HarmonicCloseness;
static PyObject *__pyx_n_s_HavelHakimiGenerator;
static PyObject *__pyx_n_s_HopPlotApproximation;
static PyObject *__pyx_n_s_HubDominance;
static PyObject *__pyx_n_s_HubDominance_getQuality;
static PyObject *__pyx_n_s_HyperbolicGenerator;
static PyObject *__pyx_n_s_INBOUND;
static PyObject *__pyx_kp_u_Implement_in_subclass;
static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0xd4;
static PyObject *__pyx_kp_u_Increasing_maximum_community_siz;
static PyObject *__pyx_kp_u_Instantiation_of_abstract_base_c;
static PyObject *__pyx_n_s_IntrapartitionDensity;
static PyObject *__pyx_n_s_IsolatedInterpartitionConductanc;
static PyObject *__pyx_n_s_IsolatedInterpartitionExpansion;
static PyObject *__pyx_n_s_Iterable;
static PyObject *__pyx_n_s_JaccardDistance;
static PyObject *__pyx_n_s_JaccardIndex;
static PyObject *__pyx_n_s_JaccardMeasure;
static PyObject *__pyx_n_s_JaccardSimilarityAttributizer;
static PyObject *__pyx_n_s_KONECTGraphReader;
static PyObject *__pyx_n_s_KPathCentrality;
static PyObject *__pyx_n_s_KadabraBetweenness;
static PyObject *__pyx_n_s_KatzCentrality;
static PyObject *__pyx_n_s_KatzIndex;
static PyObject *__pyx_n_s_KeepMinimumWeight;
static PyObject *__pyx_n_s_LAMG;
static PyObject *__pyx_n_s_LFRGenerator;
static PyObject *__pyx_n_s_LPDegreeOrdered;
static PyObject *__pyx_n_s_LaplacianCentrality;
static PyObject *__pyx_n_s_LineFileReader;
static PyObject *__pyx_n_s_LinkPredictor;
static PyObject *__pyx_n_s_LinkThresholder;
static PyObject *__pyx_n_s_LocalClusteringCoefficient;
static PyObject *__pyx_n_s_LocalCommunityEvaluation;
static PyObject *__pyx_n_s_LocalCoverEvaluation;
static PyObject *__pyx_n_s_LocalDegreeScore;
static PyObject *__pyx_n_s_LocalFilterScore;
static PyObject *__pyx_n_s_LocalPartitionCoverage;
static PyObject *__pyx_n_s_LocalPartitionEvaluation;
static PyObject *__pyx_n_s_LocalSimilarityScore;
static PyObject *__pyx_n_s_Luby;
static PyObject *__pyx_n_s_M;
static PyObject *__pyx_n_s_METISGraphReader;
static PyObject *__pyx_n_s_METISGraphWriter;
static PyObject *__pyx_n_s_Matcher;
static PyObject *__pyx_n_s_Matching;
static PyObject *__pyx_n_s_MatchingCoarsening;
static PyObject *__pyx_n_s_MaxentStress;
static PyObject *__pyx_n_s_MaximalCliques;
static PyObject *__pyx_n_s_MissingLinksFinder;
static PyObject *__pyx_n_s_MocnikGenerator;
static PyObject *__pyx_n_s_MocnikGeneratorBasic;
static PyObject *__pyx_n_s_Modularity;
static PyObject *__pyx_n_s_MultipleEdgesHandling;
static PyObject *__pyx_n_s_MultiscaleScore;
static PyObject *__pyx_n_s_NMIDistance;
static PyObject *__pyx_n_s_NODE_ADDITION;
static PyObject *__pyx_n_s_NODE_REMOVAL;
static PyObject *__pyx_n_s_NODE_RESTORATION;
static PyObject *__pyx_kp_u_N_0_k_1_maxk_2_mu_3_minc_4_maxc;
static PyObject *__pyx_n_s_NeighborhoodDistanceIndex;
static PyObject *__pyx_n_s_NeighborhoodFunction;
static PyObject *__pyx_n_s_NeighborhoodFunctionApproximatio;
static PyObject *__pyx_n_s_NeighborhoodFunctionHeuristic;
static PyObject *__pyx_n_s_NeighborhoodUtility;
static PyObject *__pyx_n_s_NeighborsMeasureIndex;
static PyObject *__pyx_kp_u_Nested_parallelism_has_been_depr;
static PyObject *__pyx_kp_u_NetworKit_Graph_name_0_n_1_m_2;
static PyObject *__pyx_n_s_NetworkitBinaryReader;
static PyObject *__pyx_n_s_NetworkitBinaryWriter;
static PyObject *__pyx_kp_s_No_matching_signature_found;
static PyObject *__pyx_n_s_NodeStructuralRandMeasure;
static PyObject *__pyx_n_s_OUTBOUND;
static PyObject *__pyx_n_s_P;
static PyObject *__pyx_n_s_PLM;
static PyObject *__pyx_n_s_PLP;
static PyObject *__pyx_n_s_PageRank;
static PyObject *__pyx_n_s_PageRankNibble;
static PyObject *__pyx_n_s_ParallelConnectedComponents;
static PyObject *__pyx_n_s_ParallelPartitionCoarsening;
static PyObject *__pyx_kp_u_Parameter_G_has_to_be_a_graph;
static PyObject *__pyx_n_s_Partition;
static PyObject *__pyx_n_s_PartitionFragmentation;
static PyObject *__pyx_n_s_PartitionHubDominance;
static PyObject *__pyx_n_s_PartitionIntersection;
static PyObject *__pyx_n_s_PartitionReader;
static PyObject *__pyx_n_s_PartitionWriter;
static PyObject *__pyx_n_s_PathGrowingMatcher;
static PyObject *__pyx_n_s_PermanenceCentrality;
static PyObject *__pyx_n_s_PickleError;
static PyObject *__pyx_n_s_PivotMDS;
static PyObject *__pyx_n_s_PowerlawDegreeSequence;
static PyObject *__pyx_n_s_PrecisionRecallMetric;
static PyObject *__pyx_n_s_PredictionsSorter;
static PyObject *__pyx_n_s_PreferentialAttachmentIndex;
static PyObject *__pyx_n_s_PrefixJaccardScore;
static PyObject *__pyx_n_s_PubWebGenerator;
static PyObject *__pyx_n_s_R;
static PyObject *__pyx_n_s_RANDOM;
static PyObject *__pyx_n_s_ROCMetric;
static PyObject *__pyx_n_s_RandomEdgeScore;
static PyObject *__pyx_n_s_RandomLinkSampler;
static PyObject *__pyx_n_s_RandomMaximumSpanningForest;
static PyObject *__pyx_n_s_RandomNodeEdgeScore;
static PyObject *__pyx_n_s_ReducedFunctionalityWarning;
static PyObject *__pyx_n_s_RegularRingLatticeGenerator;
static PyObject *__pyx_n_s_ResourceAllocationIndex;
static PyObject *__pyx_n_s_ReverseBFS;
static PyObject *__pyx_n_s_RmatGenerator;
static PyObject *__pyx_n_s_RuntimeError;
static PyObject *__pyx_n_s_S;
static PyObject *__pyx_n_s_SCANStructuralSimilarityScore;
static PyObject *__pyx_n_s_SNAPEdgeListPartitionReader;
static PyObject *__pyx_n_s_SNAPGraphReader;
static PyObject *__pyx_n_s_SNAPGraphWriter;
static PyObject *__pyx_n_s_SPLIT;
static PyObject *__pyx_n_s_SSSP;
static PyObject *__pyx_n_s_STSP;
static PyObject *__pyx_n_s_SUM;
static PyObject *__pyx_n_s_SameCommunityIndex;
static PyObject *__pyx_n_s_Sfigality;
static PyObject *__pyx_n_s_SimmelianOverlapScore;
static PyObject *__pyx_n_s_SpanningEdgeCentrality;
static PyObject *__pyx_n_s_SpanningForest;
static PyObject *__pyx_n_s_StablePartitionNodes;
static PyObject *__pyx_n_s_Standard;
static PyObject *__pyx_n_s_StaticGraphGenerator;
static PyObject *__pyx_n_s_StronglyConnectedComponents;
static PyObject *__pyx_n_s_SumWeightsUp;
static PyObject *__pyx_n_s_T;
static PyObject *__pyx_n_s_TIME_STEP;
static PyObject *__pyx_kp_u_TODO_figure_out_scaling_scheme_f;
static PyObject *__pyx_n_s_TemporaryDirectory;
static PyObject *__pyx_kp_u_The_graph_is_not_directed_return;
static PyObject *__pyx_n_s_ThrillGraphBinaryReader;
static PyObject *__pyx_n_s_ThrillGraphBinaryWriter;
static PyObject *__pyx_n_s_TopCloseness;
static PyObject *__pyx_n_s_TopHarmonicCloseness;
static PyObject *__pyx_n_s_TotalNeighborsIndex;
static PyObject *__pyx_n_s_Traversal;
static PyObject *__pyx_n_s_TriangleEdgeScore;
static PyObject *__pyx_n_s_TypeError;
static PyObject *__pyx_n_s_UDegreeIndex;
static PyObject *__pyx_n_s_UnionMaximumSpanningForest;
static PyObject *__pyx_n_s_VDegreeIndex;
static PyObject *__pyx_n_s_ValueError;
static PyObject *__pyx_n_s_Volume;
static PyObject *__pyx_kp_u_WARNING_module_pandas_not_found;
static PyObject *__pyx_n_s_WattsStrogatzGenerator;
static PyObject *__pyx_n_s_WeaklyConnectedComponents;
static PyObject *__pyx_kp_u__116;
static PyObject *__pyx_kp_s__179;
static PyObject *__pyx_kp_s__180;
static PyObject *__pyx_kp_s__181;
static PyObject *__pyx_kp_u__88;
static PyObject *__pyx_n_s_a;
static PyObject *__pyx_n_s_above;
static PyObject *__pyx_n_s_addMissing;
static PyObject *__pyx_n_s_algo;
static PyObject *__pyx_n_s_allowSelfLoops;
static PyObject *__pyx_n_s_alpha;
static PyObject *__pyx_n_s_angles;
static PyObject *__pyx_n_s_append;
static PyObject *__pyx_n_s_approxAvgLocal;
static PyObject *__pyx_n_s_approxGlobal;
static PyObject *__pyx_n_s_area;
static PyObject *__pyx_n_s_args;
static PyObject *__pyx_n_s_attribute;
static PyObject *__pyx_n_s_attribute0;
static PyObject *__pyx_n_s_attribute1;
static PyObject *__pyx_n_s_avgDeg;
static PyObject *__pyx_n_s_avgDegree;
static PyObject *__pyx_n_s_avgLocal;
static PyObject *__pyx_n_s_b;
static PyObject *__pyx_n_u_balanced;
static PyObject *__pyx_n_s_baseClustering;
static PyObject *__pyx_n_s_baseIndex;
static PyObject *__pyx_n_s_batagelj;
static PyObject *__pyx_n_s_beta;
static PyObject *__pyx_n_s_bothDirections;
static PyObject *__pyx_n_s_byCount;
static PyObject *__pyx_n_s_byPercentage;
static PyObject *__pyx_n_s_byScore;
static PyObject *__pyx_n_s_c;
static PyObject *__pyx_n_s_cNodeIdMap;
static PyObject *__pyx_n_s_cResult;
static PyObject *__pyx_n_s_call;
static PyObject *__pyx_kp_u_call_setPaths_class_method_first;
static PyObject *__pyx_n_s_callback;
static PyObject *__pyx_n_s_ceil;
static PyObject *__pyx_n_s_cid;
static PyObject *__pyx_n_s_cinit___locals_genexpr;
static PyObject *__pyx_n_s_cline_in_traceback;
static PyObject *__pyx_n_s_close;
static PyObject *__pyx_n_s_coarsen;
static PyObject *__pyx_n_s_coarsening;
static PyObject *__pyx_n_s_collections;
static PyObject *__pyx_n_s_columns;
static PyObject *__pyx_n_s_commentPrefix;
static PyObject *__pyx_n_s_communicationGraph;
static PyObject *__pyx_n_s_communityDetectionAlgorithm;
static PyObject *__pyx_n_s_communitySizeExp;
static PyObject *__pyx_n_s_compactGraph;
static PyObject *__pyx_n_s_computeEdgeCentrality;
static PyObject *__pyx_n_s_continuous;
static PyObject *__pyx_n_s_coordinates;
static PyObject *__pyx_n_s_copyNodes;
static PyObject *__pyx_n_u_count;
static PyObject *__pyx_n_s_countGroupNodes;
static PyObject *__pyx_n_s_countSelfLoopsTwice;
static PyObject *__pyx_n_s_curve;
static PyObject *__pyx_n_s_cutoff;
static PyObject *__pyx_n_s_d;
static PyObject *__pyx_kp_u_d_d;
static PyObject *__pyx_n_s_damp;
static PyObject *__pyx_n_s_dampingValue;
static PyObject *__pyx_n_s_data;
static PyObject *__pyx_n_s_decode;
static PyObject *__pyx_n_s_defaults;
static PyObject *__pyx_n_s_degreePreservingShufflePreproces;
static PyObject *__pyx_n_s_degreeSequence;
static PyObject *__pyx_n_s_delta;
static PyObject *__pyx_n_s_density;
static PyObject *__pyx_n_s_dict;
static PyObject *__pyx_n_s_dim;
static PyObject *__pyx_n_s_directed;
static PyObject *__pyx_n_s_doc;
static PyObject *__pyx_n_s_e;
static PyObject *__pyx_n_s_e1;
static PyObject *__pyx_n_s_e2;
static PyObject *__pyx_n_s_eTime;
static PyObject *__pyx_n_s_edgeFactor;
static PyObject *__pyx_n_s_edgeScores;
static PyObject *__pyx_n_s_eid;
static PyObject *__pyx_n_s_elem;
static PyObject *__pyx_n_s_enableNestedParallelism;
static PyObject *__pyx_n_s_encode;
static PyObject *__pyx_n_s_enforceBucketQueueAlgorithm;
static PyObject *__pyx_n_s_enter;
static PyObject *__pyx_n_s_epsilon;
static PyObject *__pyx_n_s_equalClustering;
static PyObject *__pyx_n_s_err;
static PyObject *__pyx_n_s_error;
static PyObject *__pyx_n_s_eta;
static PyObject *__pyx_n_s_exactGlobal;
static PyObject *__pyx_n_s_exit;
static PyObject *__pyx_n_s_extractLargestConnectedComponent;
static PyObject *__pyx_n_s_factor;
static PyObject *__pyx_n_s_fair_area;
static PyObject *__pyx_n_s_fastComputation;
static PyObject *__pyx_n_s_findall;
static PyObject *__pyx_n_s_first;
static PyObject *__pyx_n_s_firstNode;
static PyObject *__pyx_n_s_first_heu;
static PyObject *__pyx_n_s_fit;
static PyObject *__pyx_n_s_flag;
static PyObject *__pyx_n_s_floor;
static PyObject *__pyx_n_s_forEdgesOf;
static PyObject *__pyx_n_s_forInEdgesOf;
static PyObject *__pyx_n_s_force;
static PyObject *__pyx_n_s_format;
static PyObject *__pyx_n_s_forward;
static PyObject *__pyx_n_s_gamma;
static PyObject *__pyx_n_s_generatePowerlawCommunitySizeSeq;
static PyObject *__pyx_n_s_generatePowerlawDegreeSequence;
static PyObject *__pyx_n_s_genexpr;
static PyObject *__pyx_n_s_getClusterHierarchy;
static PyObject *__pyx_n_s_getCommonNeighbors;
static PyObject *__pyx_n_s_getCompactedGraph;
static PyObject *__pyx_n_s_getContinuousNodeIds;
static PyObject *__pyx_n_s_getCurrentNumberOfThreads;
static PyObject *__pyx_n_s_getDegreeSequence;
static PyObject *__pyx_n_s_getExpectedAverageDegree;
static PyObject *__pyx_n_s_getGamma;
static PyObject *__pyx_n_s_getImbalance;
static PyObject *__pyx_n_s_getLogLevel;
static PyObject *__pyx_n_s_getMaxNumberOfThreads;
static PyObject *__pyx_n_s_getMinimumDegree;
static PyObject *__pyx_n_s_getName;
static PyObject *__pyx_n_s_getNeighborsUnion;
static PyObject *__pyx_n_s_getPartition;
static PyObject *__pyx_n_s_getQuality;
static PyObject *__pyx_n_s_getRandomContinuousNodeIds;
static PyObject *__pyx_n_s_getValue;
static PyObject *__pyx_n_s_getVector;
static PyObject *__pyx_n_s_getstate;
static PyObject *__pyx_kp_u_gi_0;
static PyObject *__pyx_n_s_gini;
static PyObject *__pyx_n_s_graph;
static PyObject *__pyx_n_s_graphDistance;
static PyObject *__pyx_n_s_graphio;
static PyObject *__pyx_n_s_groupOnly;
static PyObject *__pyx_n_s_groupSize;
static PyObject *__pyx_n_s_handlingmethod;
static PyObject *__pyx_n_s_height;
static PyObject *__pyx_n_s_helper;
static PyObject *__pyx_n_s_heu;
static PyObject *__pyx_n_s_i;
static PyObject *__pyx_n_s_iTime;
static PyObject *__pyx_kp_u_i_0;
static PyObject *__pyx_n_s_ignoreIfRealizable;
static PyObject *__pyx_n_s_ignoreSelfLoops;
static PyObject *__pyx_n_s_import;
static PyObject *__pyx_n_s_inNeighbors_locals_lambda;
static PyObject *__pyx_n_s_includeInNeighbors;
static PyObject *__pyx_n_s_includeOutNeighbors;
static PyObject *__pyx_n_s_includeTrail;
static PyObject *__pyx_n_s_initiator;
static PyObject *__pyx_n_u_initiator;
static PyObject *__pyx_n_s_inverse;
static PyObject *__pyx_n_s_isDirected;
static PyObject *__pyx_n_s_isOneClustering;
static PyObject *__pyx_n_s_isProperClustering;
static PyObject *__pyx_n_s_isSingletonClustering;
static PyObject *__pyx_n_s_is_number;
static PyObject *__pyx_n_s_isolatedSet;
static PyObject *__pyx_n_s_iterEdges;
static PyObject *__pyx_n_s_iterEdgesWeights;
static PyObject *__pyx_n_s_iterInNeighbors;
static PyObject *__pyx_n_s_iterNeighbors;
static PyObject *__pyx_n_s_iterNodes;
static PyObject *__pyx_n_s_iterations;
static PyObject *__pyx_n_s_iterativeAlgo;
static PyObject *__pyx_n_s_j;
static PyObject *__pyx_n_s_join;
static PyObject *__pyx_n_s_k;
static PyObject *__pyx_n_s_key;
static PyObject *__pyx_n_s_kronfit;
static PyObject *__pyx_n_u_kronfitPath;
static PyObject *__pyx_n_s_kwargs;
static PyObject *__pyx_n_s_length;
static PyObject *__pyx_n_s_linearSolverType;
static PyObject *__pyx_n_s_log;
static PyObject *__pyx_n_s_logarithmic;
static PyObject *__pyx_n_s_loglevel;
static PyObject *__pyx_n_s_lower;
static PyObject *__pyx_n_s_main;
static PyObject *__pyx_n_s_mapped;
static PyObject *__pyx_n_s_math;
static PyObject *__pyx_n_s_max;
static PyObject *__pyx_n_s_maxCommunitySize;
static PyObject *__pyx_n_s_maxDeg;
static PyObject *__pyx_n_s_maxDegree;
static PyObject *__pyx_n_s_maxDistance;
static PyObject *__pyx_n_s_maxGamma;
static PyObject *__pyx_n_s_maxInDegree;
static PyObject *__pyx_n_s_maxIter;
static PyObject *__pyx_n_s_maxIterations;
static PyObject *__pyx_n_s_maxNumberOfNeighbors;
static PyObject *__pyx_n_s_maxPathLength;
static PyObject *__pyx_n_s_maxRank;
static PyObject *__pyx_n_s_maxWeightedDegree;
static PyObject *__pyx_n_s_maxWeightedInDegree;
static PyObject *__pyx_n_s_maximumOnly;
static PyObject *__pyx_n_s_merge;
static PyObject *__pyx_n_s_metaclass;
static PyObject *__pyx_n_s_min;
static PyObject *__pyx_n_s_minCommunitySize;
static PyObject *__pyx_n_s_minDeg;
static PyObject *__pyx_n_s_minGamma;
static PyObject *__pyx_n_s_minScore;
static PyObject *__pyx_n_s_module;
static PyObject *__pyx_n_s_move;
static PyObject *__pyx_n_s_moveDistance;
static PyObject *__pyx_n_s_moveEachStep;
static PyObject *__pyx_n_s_moveOut;
static PyObject *__pyx_kp_u_moveOut_parameter_is_deprecated;
static PyObject *__pyx_n_s_n;
static PyObject *__pyx_n_s_n0;
static PyObject *__pyx_n_s_nMax;
static PyObject *__pyx_n_s_nNeighbors;
static PyObject *__pyx_n_s_nNodes;
static PyObject *__pyx_n_s_nSamples;
static PyObject *__pyx_n_s_nThreads;
static PyObject *__pyx_n_s_name;
static PyObject *__pyx_n_s_neighborhoodRadius;
static PyObject *__pyx_n_s_neighbors;
static PyObject *__pyx_n_s_neighbors_locals_lambda;
static PyObject *__pyx_kp_u_network_dat;
static PyObject *__pyx_n_s_networkit;
static PyObject *__pyx_n_s_networkit__NetworKit;
static PyObject *__pyx_kp_u_networkit__NetworKit;
static PyObject *__pyx_kp_s_networkit__NetworKit_pyx;
static PyObject *__pyx_n_s_networkit_exceptions;
static PyObject *__pyx_n_s_new;
static PyObject *__pyx_n_s_noSelfLoops;
static PyObject *__pyx_kp_s_no_default___reduce___due_to_non;
static PyObject *__pyx_n_s_node;
static PyObject *__pyx_n_s_nodeCount;
static PyObject *__pyx_n_s_nodeDegreeExp;
static PyObject *__pyx_n_s_nodeIdMap;
static PyObject *__pyx_n_s_nodeMap;
static PyObject *__pyx_n_s_nodeToMetaNode;
static PyObject *__pyx_n_s_nodes;
static PyObject *__pyx_n_s_none;
static PyObject *__pyx_n_s_norm;
static PyObject *__pyx_n_s_normalized;
static PyObject *__pyx_n_s_numEdges;
static PyObject *__pyx_n_s_numLinks;
static PyObject *__pyx_n_s_numNodes;
static PyObject *__pyx_n_s_numThresholds;
static PyObject *__pyx_n_s_num_global_trades;
static PyObject *__pyx_n_s_num_nodes;
static PyObject *__pyx_n_s_num_trades;
static PyObject *__pyx_n_s_numberIterations;
static PyObject *__pyx_n_s_numberOfDenseAreas;
static PyObject *__pyx_n_s_numberOfEdges;
static PyObject *__pyx_n_s_numberOfNodes;
static PyObject *__pyx_n_s_numberOfPivots;
static PyObject *__pyx_n_s_numberSystems;
static PyObject *__pyx_n_s_number_of_global_rounds;
static PyObject *__pyx_n_s_numpy;
static PyObject *__pyx_kp_u_o;
static PyObject *__pyx_n_s_object;
static PyObject *__pyx_n_s_offset;
static PyObject *__pyx_n_s_omega;
static PyObject *__pyx_n_s_open;
static PyObject *__pyx_n_s_os;
static PyObject *__pyx_n_s_outDeg;
static PyObject *__pyx_n_s_p;
static PyObject *__pyx_n_s_pandas;
static PyObject *__pyx_n_s_par;
static PyObject *__pyx_n_s_parallel;
static PyObject *__pyx_n_s_params;
static PyObject *__pyx_n_s_path;
static PyObject *__pyx_n_s_paths;
static PyObject *__pyx_n_s_percentage;
static PyObject *__pyx_n_s_percentageLinks;
static PyObject *__pyx_n_s_pf;
static PyObject *__pyx_n_s_pickle;
static PyObject *__pyx_n_s_pin;
static PyObject *__pyx_n_s_plfit;
static PyObject *__pyx_n_s_pout;
static PyObject *__pyx_n_s_predCopy;
static PyObject *__pyx_n_s_predictions;
static PyObject *__pyx_n_s_prepare;
static PyObject *__pyx_n_s_print;
static PyObject *__pyx_n_s_prob;
static PyObject *__pyx_n_s_prolong;
static PyObject *__pyx_n_s_pyResult;
static PyObject *__pyx_n_s_pybytes;
static PyObject *__pyx_n_s_pystring;
static PyObject *__pyx_n_s_pyx_PickleError;
static PyObject *__pyx_n_s_pyx_checksum;
static PyObject *__pyx_n_s_pyx_result;
static PyObject *__pyx_n_s_pyx_state;
static PyObject *__pyx_n_s_pyx_type;
static PyObject *__pyx_n_s_pyx_unpickle_ClusteringCoeffic;
static PyObject *__pyx_n_s_pyx_unpickle_DissimilarityMeas;
static PyObject *__pyx_n_s_pyx_unpickle_Eccentricity;
static PyObject *__pyx_n_s_pyx_unpickle_GraphClusteringTo;
static PyObject *__pyx_n_s_pyx_unpickle_GraphTools;
static PyObject *__pyx_n_s_pyx_unpickle_LinkThresholder;
static PyObject *__pyx_n_s_pyx_unpickle_NeighborhoodUtili;
static PyObject *__pyx_n_s_pyx_unpickle_PredictionsSorter;
static PyObject *__pyx_n_s_pyx_unpickle_RandomLinkSampler;
static PyObject *__pyx_n_s_pyx_unpickle_Traversal;
static PyObject *__pyx_n_s_pyx_unpickle_Volume;
static PyObject *__pyx_n_s_pyx_vtable;
static PyObject *__pyx_n_s_quality;
static PyObject *__pyx_n_s_qualname;
static PyObject *__pyx_n_s_r;
static PyObject *__pyx_n_s_r_2;
static PyObject *__pyx_n_s_radii;
static PyObject *__pyx_n_s_random;
static PyObject *__pyx_n_s_randomEdge;
static PyObject *__pyx_n_s_randomEdges;
static PyObject *__pyx_n_s_randomNeighbor;
static PyObject *__pyx_n_s_randomNode;
static PyObject *__pyx_kp_u_random_nodes_to_delete_to_achiev;
static PyObject *__pyx_n_s_range;
static PyObject *__pyx_n_s_ranked;
static PyObject *__pyx_n_s_ratio;
static PyObject *__pyx_n_s_re;
static PyObject *__pyx_n_s_readGraph;
static PyObject *__pyx_n_s_recurse;
static PyObject *__pyx_n_s_reduce;
static PyObject *__pyx_n_s_reduceNodes;
static PyObject *__pyx_n_s_reduce_cython;
static PyObject *__pyx_n_s_reduce_ex;
static PyObject *__pyx_n_u_refImplDir;
static PyObject *__pyx_n_u_refImplParams;
static PyObject *__pyx_n_s_reference;
static PyObject *__pyx_n_s_refine;
static PyObject *__pyx_n_s_remapNodes;
static PyObject *__pyx_n_s_removeEdgesFromIsolatedSet;
static PyObject *__pyx_n_s_res;
static PyObject *__pyx_n_s_result;
static PyObject *__pyx_n_s_ret;
static PyObject *__pyx_n_s_rs;
static PyObject *__pyx_n_s_run;
static PyObject *__pyx_n_s_s;
static PyObject *__pyx_n_s_s1;
static PyObject *__pyx_n_s_s2;
static PyObject *__pyx_n_s_sample;
static PyObject *__pyx_n_s_samples;
static PyObject *__pyx_n_s_scale;
static PyObject *__pyx_n_s_score;
static PyObject *__pyx_kp_u_score_must_be_either_a_vector_of;
static PyObject *__pyx_n_s_scores;
static PyObject *__pyx_n_s_sec_heu;
static PyObject *__pyx_n_s_second;
static PyObject *__pyx_n_s_seed;
static PyObject *__pyx_n_s_selection;
static PyObject *__pyx_n_s_self;
static PyObject *__pyx_n_s_selfLoops;
static PyObject *__pyx_kp_s_self__this_cannot_be_converted_t;
static PyObject *__pyx_n_s_send;
static PyObject *__pyx_n_s_sepChar;
static PyObject *__pyx_n_s_separator;
static PyObject *__pyx_kp_u_separator_has_to_be_exactly_one;
static PyObject *__pyx_n_s_sequentialAvgLocal;
static PyObject *__pyx_n_s_setDegreeSequence;
static PyObject *__pyx_n_s_setGammaFromAverageDegree;
static PyObject *__pyx_n_s_setLogLevel;
static PyObject *__pyx_n_s_setMinimumFromAverageDegree;
static PyObject *__pyx_n_s_setMu;
static PyObject *__pyx_n_s_setNumberOfThreads;
static PyObject *__pyx_n_s_setPartition;
static PyObject *__pyx_n_s_setPathToReferenceImplementation;
static PyObject *__pyx_n_s_setPaths;
static PyObject *__pyx_n_s_setPrintLocation;
static PyObject *__pyx_n_s_setSeed;
static PyObject *__pyx_n_s_setstate;
static PyObject *__pyx_n_s_setstate_cython;
static PyObject *__pyx_n_s_sink;
static PyObject *__pyx_n_s_size;
static PyObject *__pyx_n_s_sort2;
static PyObject *__pyx_n_s_sortByNodePair;
static PyObject *__pyx_n_s_sortByScore;
static PyObject *__pyx_n_s_sorted_list;
static PyObject *__pyx_n_s_source;
static PyObject *__pyx_n_s_sources;
static PyObject *__pyx_n_s_split;
static PyObject *__pyx_n_s_squared;
static PyObject *__pyx_n_s_start;
static PyObject *__pyx_n_s_startFactor;
static PyObject *__pyx_n_u_state;
static PyObject *__pyx_n_s_staticmethod;
static PyObject *__pyx_n_s_stdstring;
static PyObject *__pyx_n_s_storeNodeOrder;
static PyObject *__pyx_n_s_storeNodesSortedByDistance;
static PyObject *__pyx_n_s_storePaths;
static PyObject *__pyx_n_s_storePred;
static PyObject *__pyx_n_s_storePredecessors;
static PyObject *__pyx_n_s_strategy;
static PyObject *__pyx_n_s_stream;
static PyObject *__pyx_kp_s_stringsource;
static PyObject *__pyx_n_s_strip;
static PyObject *__pyx_n_s_subgraphFromNodes;
static PyObject *__pyx_n_s_subprocess;
static PyObject *__pyx_n_s_subsetSizes;
static PyObject *__pyx_n_s_sum;
static PyObject *__pyx_n_s_summ;
static PyObject *__pyx_n_s_system;
static PyObject *__pyx_n_s_t;
static PyObject *__pyx_n_s_t1;
static PyObject *__pyx_n_s_t2;
static PyObject *__pyx_n_s_tMax;
static PyObject *__pyx_n_s_target;
static PyObject *__pyx_n_s_tebr;
static PyObject *__pyx_n_s_tempfile;
static PyObject *__pyx_n_s_test;
static PyObject *__pyx_n_s_testGraph;
static PyObject *__pyx_n_s_third;
static PyObject *__pyx_n_s_throw;
static PyObject *__pyx_n_u_time;
static PyObject *__pyx_n_s_toString;
static PyObject *__pyx_n_s_toUndirected;
static PyObject *__pyx_n_s_toUnweighted;
static PyObject *__pyx_n_s_toWeighted;
static PyObject *__pyx_n_s_tol;
static PyObject *__pyx_n_s_tolerance;
static PyObject *__pyx_n_s_transP;
static PyObject *__pyx_n_s_transpose;
static PyObject *__pyx_n_s_trials;
static PyObject *__pyx_n_s_triangles;
static PyObject *__pyx_n_s_triangles_2;
static PyObject *__pyx_n_s_turbo;
static PyObject *__pyx_n_s_type;
static PyObject *__pyx_n_s_u;
static PyObject *__pyx_n_s_uniformDistribution;
static PyObject *__pyx_n_s_unionSample;
static PyObject *__pyx_n_s_universalConstant;
static PyObject *__pyx_n_s_update;
static PyObject *__pyx_n_s_updateThreshold;
static PyObject *__pyx_n_s_upper;
static PyObject *__pyx_n_s_upperBound;
static PyObject *__pyx_n_s_useBFSbound;
static PyObject *__pyx_n_s_useGraphBuilder;
static PyObject *__pyx_n_s_useReferenceImplementation;
static PyObject *__pyx_n_s_useThreadId;
static PyObject *__pyx_n_s_useTurbo;
static PyObject *__pyx_kp_u_using_initiator_matrix_0_1_2_3;
static PyObject *__pyx_kp_u_utf_8;
static PyObject *__pyx_n_s_v;
static PyObject *__pyx_n_s_v_2;
static PyObject *__pyx_n_s_value;
static PyObject *__pyx_n_s_values;
static PyObject *__pyx_n_s_vanilla;
static PyObject *__pyx_n_s_volume;
static PyObject *__pyx_n_s_volume_locals_genexpr;
static PyObject *__pyx_n_s_volume_locals_is_number;
static PyObject *__pyx_n_s_vs;
static PyObject *__pyx_n_s_w;
static PyObject *__pyx_n_s_warn;
static PyObject *__pyx_n_s_warnings;
static PyObject *__pyx_n_s_weighted;
static PyObject *__pyx_n_s_weightedDegreeWithCluster;
static PyObject *__pyx_n_s_width;
static PyObject *__pyx_n_s_withEdgeScores;
static PyObject *__pyx_n_s_wrapper;
static PyObject *__pyx_n_s_writeGraph;
static PyObject *__pyx_n_s_z;
static PyObject *__pyx_n_s_zero;
static PyObject *__pyx_n_u_zero;
static PyObject *__pyx_n_s_zeta;
static PyObject *__pyx_n_s_zetaCoarse;
static PyObject *__pyx_pf_9networkit_10_NetworKit_stdstring(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pystring); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_2pystring(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stdstring); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_9Algorithm___init__(struct __pyx_obj_9networkit_10_NetworKit_Algorithm *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_9Algorithm_2__cinit__(struct __pyx_obj_9networkit_10_NetworKit_Algorithm *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_9Algorithm_4__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_Algorithm *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Algorithm_6run(struct __pyx_obj_9networkit_10_NetworKit_Algorithm *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Algorithm_8hasFinished(struct __pyx_obj_9networkit_10_NetworKit_Algorithm *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Algorithm_10toString(struct __pyx_obj_9networkit_10_NetworKit_Algorithm *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Algorithm_12isParallel(struct __pyx_obj_9networkit_10_NetworKit_Algorithm *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Algorithm_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Algorithm *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Algorithm_16__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Algorithm *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_20StaticGraphGenerator___init__(struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_20StaticGraphGenerator_2__cinit__(struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_20StaticGraphGenerator_4__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20StaticGraphGenerator_6generate(struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20StaticGraphGenerator_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20StaticGraphGenerator_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_4getLogLevel(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_6setLogLevel(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_loglevel); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_8setPrintLocation(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_flag); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10setNumberOfThreads(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_nThreads); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12getCurrentNumberOfThreads(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14getMaxNumberOfThreads(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_16enableNestedParallelism(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18setSeed(CYTHON_UNUSED PyObject *__pyx_self, uint64_t __pyx_v_seed, bool __pyx_v_useThreadId); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_5Graph___cinit__(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_n, bool __pyx_v_weighted, bool __pyx_v_directed); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_2__copy__(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_4__deepcopy__(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_memo); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_6__str__(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_8copyNodes(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_10indexEdges(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, bool __pyx_v_force); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_12hasEdgeIds(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_14edgeId(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_16numberOfNodes(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_18numberOfEdges(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_20size(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_22density(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_24upperNodeIdBound(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_26upperEdgeIdBound(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_28degree(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_30degreeIn(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_32degreeOut(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_34weightedDegree(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_countSelfLoopsTwice); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_36weightedDegreeIn(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_countSelfLoopsTwice); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_38maxDegree(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_40maxDegreeIn(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_42maxWeightedDegree(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_44maxWeightedDegreeIn(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_46isIsolated(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_48addNode(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_50addNodes(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_numberOfNewNodes); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_52removeNode(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_54restoreNode(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_56hasNode(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_58append(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_60merge(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_62addEdge(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v, PyObject *__pyx_v_w, PyObject *__pyx_v_addMissing); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_64setWeight(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v, PyObject *__pyx_v_w); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_66increaseWeight(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v, PyObject *__pyx_v_w); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_68removeEdge(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_70removeAllEdges(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_72removeEdgesFromIsolatedSet(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_nodes); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_74removeSelfLoops(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_76removeMultiEdges(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_78swapEdge(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_s1, __pyx_t_9networkit_10_NetworKit_node __pyx_v_t1, __pyx_t_9networkit_10_NetworKit_node __pyx_v_s2, __pyx_t_9networkit_10_NetworKit_node __pyx_v_t2); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_80compactEdges(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_82sortEdges(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_84hasEdge(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_86weight(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_88nodes(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_90edges(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_lambda_funcdef_lambda(PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_u, PyObject *__pyx_v_v, CYTHON_UNUSED PyObject *__pyx_v_w, CYTHON_UNUSED PyObject *__pyx_v_eid); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_92neighbors(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u); /* proto */
static PyObject *__pyx_lambda_funcdef_lambda1(PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_u, PyObject *__pyx_v_v, CYTHON_UNUSED PyObject *__pyx_v_w, CYTHON_UNUSED PyObject *__pyx_v_eid); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_94inNeighbors(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_96forNodes(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_callback); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_98forNodesInRandomOrder(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_callback); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_100forNodePairs(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_callback); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_102forEdges(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_callback); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_104forEdgesOf(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, PyObject *__pyx_v_callback); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_106forInEdgesOf(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, PyObject *__pyx_v_callback); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_108toUndirected(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_110toUnweighted(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_112transpose(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_114isWeighted(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_116isDirected(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_118toString(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_120getName(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_122setName(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_124totalEdgeWeight(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_126randomNode(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_128randomNeighbor(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_130randomEdge(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, bool __pyx_v_uniformDistribution); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_132randomEdges(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_count __pyx_v_numEdges); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_134numberOfSelfLoops(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_136BFSfrom(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_start, PyObject *__pyx_v_callback); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_138BFSEdgesFrom(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_start, PyObject *__pyx_v_callback); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_140DFSfrom(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_start, PyObject *__pyx_v_callback); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_142DFSEdgesFrom(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_start, PyObject *__pyx_v_callback); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_144checkConsistency(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_146subgraphFromNodes(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_nodes, PyObject *__pyx_v_includeOutNeighbors, PyObject *__pyx_v_includeInNeighbors); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_148iterNodes(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_151iterEdges(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_154iterEdgesWeights(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_157iterNeighbors(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_160iterInNeighbors(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_163__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_165__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_4STSP___init__(struct __pyx_obj_9networkit_10_NetworKit_STSP *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_4STSP_2getPath(struct __pyx_obj_9networkit_10_NetworKit_STSP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_4STSP_4getPredecessors(struct __pyx_obj_9networkit_10_NetworKit_STSP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_4STSP_6getDistance(struct __pyx_obj_9networkit_10_NetworKit_STSP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_4STSP_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_STSP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_4STSP_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_STSP *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_16BidirectionalBFS___cinit__(struct __pyx_obj_9networkit_10_NetworKit_BidirectionalBFS *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_node __pyx_v_source, __pyx_t_9networkit_10_NetworKit_node __pyx_v_target, bool __pyx_v_storePred); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_16BidirectionalBFS_2getHops(struct __pyx_obj_9networkit_10_NetworKit_BidirectionalBFS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_16BidirectionalBFS_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BidirectionalBFS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_16BidirectionalBFS_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BidirectionalBFS *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_21BidirectionalDijkstra___cinit__(struct __pyx_obj_9networkit_10_NetworKit_BidirectionalDijkstra *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_node __pyx_v_source, __pyx_t_9networkit_10_NetworKit_node __pyx_v_target, bool __pyx_v_storePred); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21BidirectionalDijkstra_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BidirectionalDijkstra *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21BidirectionalDijkstra_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BidirectionalDijkstra *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_5AStar___cinit__(struct __pyx_obj_9networkit_10_NetworKit_AStar *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<double>  __pyx_v_heu, __pyx_t_9networkit_10_NetworKit_node __pyx_v_source, __pyx_t_9networkit_10_NetworKit_node __pyx_v_target, bool __pyx_v_storePred); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5AStar_2run(struct __pyx_obj_9networkit_10_NetworKit_AStar *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5AStar_4getPath(struct __pyx_obj_9networkit_10_NetworKit_AStar *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5AStar_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AStar *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5AStar_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AStar *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_4SSSP___init__(struct __pyx_obj_9networkit_10_NetworKit_SSSP *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_4SSSP_2getDistances(struct __pyx_obj_9networkit_10_NetworKit_SSSP *__pyx_v_self, PyObject *__pyx_v_moveOut); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_4SSSP_4distance(struct __pyx_obj_9networkit_10_NetworKit_SSSP *__pyx_v_self, PyObject *__pyx_v_t); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_4SSSP_6getPredecessors(struct __pyx_obj_9networkit_10_NetworKit_SSSP *__pyx_v_self, PyObject *__pyx_v_t); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_4SSSP_8getPath(struct __pyx_obj_9networkit_10_NetworKit_SSSP *__pyx_v_self, PyObject *__pyx_v_t, PyObject *__pyx_v_forward); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_4SSSP_10getPaths(struct __pyx_obj_9networkit_10_NetworKit_SSSP *__pyx_v_self, PyObject *__pyx_v_t, PyObject *__pyx_v_forward); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_4SSSP_12getNodesSortedByDistance(struct __pyx_obj_9networkit_10_NetworKit_SSSP *__pyx_v_self, PyObject *__pyx_v_moveOut); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_4SSSP_14numberOfPaths(struct __pyx_obj_9networkit_10_NetworKit_SSSP *__pyx_v_self, PyObject *__pyx_v_t); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_4SSSP_16setSource(struct __pyx_obj_9networkit_10_NetworKit_SSSP *__pyx_v_self, PyObject *__pyx_v_s); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_4SSSP_18setTarget(struct __pyx_obj_9networkit_10_NetworKit_SSSP *__pyx_v_self, PyObject *__pyx_v_t); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_4SSSP_20__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SSSP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_4SSSP_22__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SSSP *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_7DynSSSP___init__(struct __pyx_obj_9networkit_10_NetworKit_DynSSSP *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_7DynSSSP_2update(struct __pyx_obj_9networkit_10_NetworKit_DynSSSP *__pyx_v_self, PyObject *__pyx_v_ev); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_7DynSSSP_4updateBatch(struct __pyx_obj_9networkit_10_NetworKit_DynSSSP *__pyx_v_self, PyObject *__pyx_v_batch); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_7DynSSSP_6modified(struct __pyx_obj_9networkit_10_NetworKit_DynSSSP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_7DynSSSP_8setTargetNode(struct __pyx_obj_9networkit_10_NetworKit_DynSSSP *__pyx_v_self, PyObject *__pyx_v_t); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_7DynSSSP_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynSSSP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_7DynSSSP_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynSSSP *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_3BFS___cinit__(struct __pyx_obj_9networkit_10_NetworKit_BFS *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_source, PyObject *__pyx_v_storePaths, PyObject *__pyx_v_storeNodesSortedByDistance, PyObject *__pyx_v_target); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_3BFS_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BFS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_3BFS_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BFS *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_6DynBFS___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynBFS *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_source); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_6DynBFS_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynBFS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_6DynBFS_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynBFS *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_10ReverseBFS___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ReverseBFS *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_source, PyObject *__pyx_v_storePaths, PyObject *__pyx_v_storeNodesSortedByDistance, PyObject *__pyx_v_target); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10ReverseBFS_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ReverseBFS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10ReverseBFS_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ReverseBFS *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_8Dijkstra___cinit__(struct __pyx_obj_9networkit_10_NetworKit_Dijkstra *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_source, PyObject *__pyx_v_storePaths, PyObject *__pyx_v_storeNodesSortedByDistance, __pyx_t_9networkit_10_NetworKit_node __pyx_v_target); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_8Dijkstra_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Dijkstra *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_8Dijkstra_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Dijkstra *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_11DynDijkstra___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynDijkstra *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_source); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11DynDijkstra_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynDijkstra *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11DynDijkstra_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynDijkstra *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_14AllSimplePaths___cinit__(struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_source, PyObject *__pyx_v_target, PyObject *__pyx_v_cutoff); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_14AllSimplePaths_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14AllSimplePaths_4run(struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14AllSimplePaths_6numberOfSimplePaths(struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14AllSimplePaths_8getAllSimplePaths(struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14AllSimplePaths_10forAllSimplePaths(struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *__pyx_v_self, PyObject *__pyx_v_callback); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14AllSimplePaths_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14AllSimplePaths_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_4APSP___cinit__(struct __pyx_obj_9networkit_10_NetworKit_APSP *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_4APSP_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_APSP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_4APSP_4getDistances(struct __pyx_obj_9networkit_10_NetworKit_APSP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_4APSP_6getDistance(struct __pyx_obj_9networkit_10_NetworKit_APSP *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_4APSP_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_APSP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_4APSP_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_APSP *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_7DynAPSP___init__(struct __pyx_obj_9networkit_10_NetworKit_DynAPSP *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_7DynAPSP_2update(struct __pyx_obj_9networkit_10_NetworKit_DynAPSP *__pyx_v_self, PyObject *__pyx_v_ev); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_7DynAPSP_4updateBatch(struct __pyx_obj_9networkit_10_NetworKit_DynAPSP *__pyx_v_self, PyObject *__pyx_v_batch); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_7DynAPSP_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynAPSP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_7DynAPSP_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynAPSP *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_14SpanningForest___cinit__(struct __pyx_obj_9networkit_10_NetworKit_SpanningForest *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_14SpanningForest_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_SpanningForest *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14SpanningForest_4generate(struct __pyx_obj_9networkit_10_NetworKit_SpanningForest *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14SpanningForest_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SpanningForest *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14SpanningForest_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SpanningForest *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_26UnionMaximumSpanningForest___cinit__(struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<double>  __pyx_v_attribute); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_26UnionMaximumSpanningForest_2getUMSF(struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest *__pyx_v_self, bool __pyx_v_move); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_26UnionMaximumSpanningForest_4getAttribute(struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest *__pyx_v_self, bool __pyx_v_move); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_26UnionMaximumSpanningForest_6inUMST(struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_26UnionMaximumSpanningForest_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_26UnionMaximumSpanningForest_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_27RandomMaximumSpanningForest___cinit__(struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<double>  __pyx_v_attribute); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27RandomMaximumSpanningForest_2getMSF(struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest *__pyx_v_self, bool __pyx_v_move); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27RandomMaximumSpanningForest_4getAttribute(struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest *__pyx_v_self, bool __pyx_v_move); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27RandomMaximumSpanningForest_6inMSF(struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27RandomMaximumSpanningForest_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27RandomMaximumSpanningForest_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_4Luby_run(struct __pyx_obj_9networkit_10_NetworKit_Luby *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_4Luby_2toString(struct __pyx_obj_9networkit_10_NetworKit_Luby *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_4Luby_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Luby *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_4Luby_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Luby *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_23BarabasiAlbertGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_BarabasiAlbertGenerator *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_count __pyx_v_k, __pyx_t_9networkit_10_NetworKit_count __pyx_v_nMax, PyObject *__pyx_v_n0, bool __pyx_v_batagelj); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_23BarabasiAlbertGenerator_2fit(PyTypeObject *__pyx_v_cls, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_scale); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_23BarabasiAlbertGenerator_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BarabasiAlbertGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_23BarabasiAlbertGenerator_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BarabasiAlbertGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_15PubWebGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PubWebGenerator *__pyx_v_self, PyObject *__pyx_v_numNodes, PyObject *__pyx_v_numberOfDenseAreas, PyObject *__pyx_v_neighborhoodRadius, PyObject *__pyx_v_maxNumberOfNeighbors); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15PubWebGenerator_2getCoordinates(struct __pyx_obj_9networkit_10_NetworKit_PubWebGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15PubWebGenerator_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PubWebGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15PubWebGenerator_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PubWebGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_19ErdosRenyiGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ErdosRenyiGenerator *__pyx_v_self, PyObject *__pyx_v_nNodes, PyObject *__pyx_v_prob, PyObject *__pyx_v_directed, PyObject *__pyx_v_selfLoops); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19ErdosRenyiGenerator_2fit(PyTypeObject *__pyx_v_cls, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_scale); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19ErdosRenyiGenerator_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ErdosRenyiGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19ErdosRenyiGenerator_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ErdosRenyiGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_26DorogovtsevMendesGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DorogovtsevMendesGenerator *__pyx_v_self, PyObject *__pyx_v_nNodes); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_26DorogovtsevMendesGenerator_2fit(PyTypeObject *__pyx_v_cls, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_scale); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_26DorogovtsevMendesGenerator_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DorogovtsevMendesGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_26DorogovtsevMendesGenerator_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DorogovtsevMendesGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_27RegularRingLatticeGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_RegularRingLatticeGenerator *__pyx_v_self, PyObject *__pyx_v_nNodes, PyObject *__pyx_v_nNeighbors); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27RegularRingLatticeGenerator_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_RegularRingLatticeGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27RegularRingLatticeGenerator_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_RegularRingLatticeGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_22WattsStrogatzGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_WattsStrogatzGenerator *__pyx_v_self, PyObject *__pyx_v_nNodes, PyObject *__pyx_v_nNeighbors, PyObject *__pyx_v_p); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22WattsStrogatzGenerator_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_WattsStrogatzGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22WattsStrogatzGenerator_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_WattsStrogatzGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_29ClusteredRandomGraphGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ClusteredRandomGraphGenerator *__pyx_v_self, PyObject *__pyx_v_n, PyObject *__pyx_v_k, PyObject *__pyx_v_pin, PyObject *__pyx_v_pout); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_29ClusteredRandomGraphGenerator_2getCommunities(struct __pyx_obj_9networkit_10_NetworKit_ClusteredRandomGraphGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_29ClusteredRandomGraphGenerator_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ClusteredRandomGraphGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_29ClusteredRandomGraphGenerator_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ClusteredRandomGraphGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_16ChungLuGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ChungLuGenerator *__pyx_v_self, std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_degreeSequence); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_16ChungLuGenerator_2fit(PyTypeObject *__pyx_v_cls, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_scale); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_16ChungLuGenerator_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ChungLuGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_16ChungLuGenerator_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ChungLuGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_20HavelHakimiGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_HavelHakimiGenerator *__pyx_v_self, std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_degreeSequence, PyObject *__pyx_v_ignoreIfRealizable); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20HavelHakimiGenerator_2isRealizable(struct __pyx_obj_9networkit_10_NetworKit_HavelHakimiGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20HavelHakimiGenerator_4getRealizable(struct __pyx_obj_9networkit_10_NetworKit_HavelHakimiGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20HavelHakimiGenerator_6fit(PyTypeObject *__pyx_v_cls, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_scale); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20HavelHakimiGenerator_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_HavelHakimiGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20HavelHakimiGenerator_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_HavelHakimiGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator *__pyx_v_self, std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_degreeSequence, bool __pyx_v_ignoreIfRealizable); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_2isRealizable(struct __pyx_obj_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_4getRealizable(struct __pyx_obj_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_6fit(PyTypeObject *__pyx_v_cls, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_scale); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator *__pyx_v_self, PyObject *__pyx_v_n, PyObject *__pyx_v_k, PyObject *__pyx_v_gamma, PyObject *__pyx_v_T); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator_2setLeafCapacity(struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator *__pyx_v_self, PyObject *__pyx_v_capacity); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator_4setBalance(struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator *__pyx_v_self, PyObject *__pyx_v_balance); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator_6setTheoreticalSplit(struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator *__pyx_v_self, PyObject *__pyx_v_theoreticalSplit); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator_8getElapsedMilliseconds(struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator_10generate_advanced(struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator *__pyx_v_self, PyObject *__pyx_v_angles, PyObject *__pyx_v_radii, PyObject *__pyx_v_R, PyObject *__pyx_v_T); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator_12fit(PyTypeObject *__pyx_v_cls, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_scale); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator_16__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___3genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___6genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___9genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___12genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___15genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___18genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___21genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___24genexpr(PyObject *__pyx_self); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_15MocnikGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_MocnikGenerator *__pyx_v_self, PyObject *__pyx_v_dim, PyObject *__pyx_v_n, PyObject *__pyx_v_k, PyObject *__pyx_v_weighted); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MocnikGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MocnikGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_20MocnikGeneratorBasic___cinit__(struct __pyx_obj_9networkit_10_NetworKit_MocnikGeneratorBasic *__pyx_v_self, PyObject *__pyx_v_dim, PyObject *__pyx_v_n, PyObject *__pyx_v_k); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20MocnikGeneratorBasic_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MocnikGeneratorBasic *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20MocnikGeneratorBasic_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MocnikGeneratorBasic *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_13RmatGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_RmatGenerator *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_count __pyx_v_scale, __pyx_t_9networkit_10_NetworKit_count __pyx_v_edgeFactor, double __pyx_v_a, double __pyx_v_b, double __pyx_v_c, double __pyx_v_d, bool __pyx_v_weighted, __pyx_t_9networkit_10_NetworKit_count __pyx_v_reduceNodes); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_13RmatGenerator_2setPaths(PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_kronfitPath); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_13RmatGenerator_4fit(PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_G, PyObject *__pyx_v_scale, PyObject *__pyx_v_initiator, PyObject *__pyx_v_kronfit, PyObject *__pyx_v_iterations); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_13RmatGenerator_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_RmatGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_13RmatGenerator_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_RmatGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self, PyObject *__pyx_v_minDeg, __pyx_t_9networkit_10_NetworKit_count __pyx_v_maxDeg, double __pyx_v_gamma); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_4setMinimumFromAverageDegree(struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self, double __pyx_v_avgDeg); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_6setGammaFromAverageDegree(struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self, double __pyx_v_avgDeg, double __pyx_v_minGamma, double __pyx_v_maxGamma); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_8getExpectedAverageDegree(struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_10getMinimumDegree(struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_12setGamma(struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self, double __pyx_v_gamma); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_14getGamma(struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_16getMaximumDegree(struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_18run(struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_20getDegreeSequence(struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_count __pyx_v_numNodes); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_22getDegree(struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_24__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_26__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_12LFRGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_count __pyx_v_n); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_2setDegreeSequence(struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *__pyx_v_self, std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_degreeSequence); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_4generatePowerlawDegreeSequence(struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_count __pyx_v_avgDegree, __pyx_t_9networkit_10_NetworKit_count __pyx_v_maxDegree, double __pyx_v_nodeDegreeExp); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_6setCommunitySizeSequence(struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *__pyx_v_self, std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_communitySizeSequence); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_8setPartition(struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_10generatePowerlawCommunitySizeSequence(struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_count __pyx_v_minCommunitySize, __pyx_t_9networkit_10_NetworKit_count __pyx_v_maxCommunitySize, double __pyx_v_communitySizeExp); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_12setMu(struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *__pyx_v_self, PyObject *__pyx_v_mu); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_14setMuWithBinomialDistribution(struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *__pyx_v_self, double __pyx_v_mu); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_16getGraph(struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_18generate(struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *__pyx_v_self, PyObject *__pyx_v_useReferenceImplementation); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_20getPartition(struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_22setPathToReferenceImplementationDir(PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_path); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_24fit(PyTypeObject *__pyx_v_cls, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_scale, PyObject *__pyx_v_vanilla, PyObject *__pyx_v_communityDetectionAlgorithm, PyObject *__pyx_v_plfit); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_26__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_28__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_11GraphReader___init__(struct __pyx_obj_9networkit_10_NetworKit_GraphReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_11GraphReader_2__cinit__(struct __pyx_obj_9networkit_10_NetworKit_GraphReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_11GraphReader_4__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_GraphReader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11GraphReader_6read(struct __pyx_obj_9networkit_10_NetworKit_GraphReader *__pyx_v_self, PyObject *__pyx_v_path); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11GraphReader_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphReader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11GraphReader_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_11GraphWriter___init__(struct __pyx_obj_9networkit_10_NetworKit_GraphWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_11GraphWriter_2__cinit__(struct __pyx_obj_9networkit_10_NetworKit_GraphWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_11GraphWriter_4__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_GraphWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11GraphWriter_6write(struct __pyx_obj_9networkit_10_NetworKit_GraphWriter *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_path); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11GraphWriter_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11GraphWriter_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_16METISGraphReader___cinit__(struct __pyx_obj_9networkit_10_NetworKit_METISGraphReader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_16METISGraphReader_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_METISGraphReader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_16METISGraphReader_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_METISGraphReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_21NetworkitBinaryReader___cinit__(struct __pyx_obj_9networkit_10_NetworKit_NetworkitBinaryReader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21NetworkitBinaryReader_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NetworkitBinaryReader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21NetworkitBinaryReader_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NetworkitBinaryReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_21NetworkitBinaryWriter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_NetworkitBinaryWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21NetworkitBinaryWriter_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NetworkitBinaryWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21NetworkitBinaryWriter_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NetworkitBinaryWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_21GraphToolBinaryReader___cinit__(struct __pyx_obj_9networkit_10_NetworKit_GraphToolBinaryReader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21GraphToolBinaryReader_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphToolBinaryReader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21GraphToolBinaryReader_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphToolBinaryReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_23ThrillGraphBinaryReader___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryReader *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_count __pyx_v_n); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_23ThrillGraphBinaryReader_2read(struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryReader *__pyx_v_self, PyObject *__pyx_v_paths); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_23ThrillGraphBinaryReader_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryReader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_23ThrillGraphBinaryReader_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_23ThrillGraphBinaryWriter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_23ThrillGraphBinaryWriter_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_23ThrillGraphBinaryWriter_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_14EdgeListReader___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EdgeListReader *__pyx_v_self, PyObject *__pyx_v_separator, PyObject *__pyx_v_firstNode, PyObject *__pyx_v_commentPrefix, PyObject *__pyx_v_continuous, PyObject *__pyx_v_directed); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14EdgeListReader_2getNodeMap(struct __pyx_obj_9networkit_10_NetworKit_EdgeListReader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14EdgeListReader_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeListReader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14EdgeListReader_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeListReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_17KONECTGraphReader___cinit__(struct __pyx_obj_9networkit_10_NetworKit_KONECTGraphReader *__pyx_v_self, PyObject *__pyx_v_remapNodes, PyObject *__pyx_v_handlingmethod); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17KONECTGraphReader_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_KONECTGraphReader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17KONECTGraphReader_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_KONECTGraphReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_14GMLGraphReader___cinit__(struct __pyx_obj_9networkit_10_NetworKit_GMLGraphReader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14GMLGraphReader_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GMLGraphReader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14GMLGraphReader_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GMLGraphReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_16METISGraphWriter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_METISGraphWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_16METISGraphWriter_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_METISGraphWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_16METISGraphWriter_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_METISGraphWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_21GraphToolBinaryWriter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_GraphToolBinaryWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21GraphToolBinaryWriter_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphToolBinaryWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21GraphToolBinaryWriter_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphToolBinaryWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_14DotGraphWriter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DotGraphWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14DotGraphWriter_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DotGraphWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14DotGraphWriter_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DotGraphWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_14GMLGraphWriter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_GMLGraphWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14GMLGraphWriter_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GMLGraphWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14GMLGraphWriter_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GMLGraphWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_14EdgeListWriter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EdgeListWriter *__pyx_v_self, PyObject *__pyx_v_separator, PyObject *__pyx_v_firstNode, bool __pyx_v_bothDirections); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14EdgeListWriter_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeListWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14EdgeListWriter_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeListWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14LineFileReader_read(struct __pyx_obj_9networkit_10_NetworKit_LineFileReader *__pyx_v_self, PyObject *__pyx_v_path); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14LineFileReader_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LineFileReader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14LineFileReader_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LineFileReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_15SNAPGraphWriter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_SNAPGraphWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15SNAPGraphWriter_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SNAPGraphWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15SNAPGraphWriter_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SNAPGraphWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_15SNAPGraphReader___cinit__(struct __pyx_obj_9networkit_10_NetworKit_SNAPGraphReader *__pyx_v_self, PyObject *__pyx_v_directed, PyObject *__pyx_v_remapNodes, PyObject *__pyx_v_nodeCount); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15SNAPGraphReader_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SNAPGraphReader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15SNAPGraphReader_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SNAPGraphReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15PartitionReader_read(struct __pyx_obj_9networkit_10_NetworKit_PartitionReader *__pyx_v_self, PyObject *__pyx_v_path); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15PartitionReader_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PartitionReader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15PartitionReader_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PartitionReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15PartitionWriter_write(struct __pyx_obj_9networkit_10_NetworKit_PartitionWriter *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta, PyObject *__pyx_v_path); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15PartitionWriter_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PartitionWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15PartitionWriter_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PartitionWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_21BinaryPartitionReader___cinit__(struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionReader *__pyx_v_self, uint8_t __pyx_v_width); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21BinaryPartitionReader_2read(struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionReader *__pyx_v_self, PyObject *__pyx_v_path); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21BinaryPartitionReader_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionReader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21BinaryPartitionReader_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_21BinaryPartitionWriter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionWriter *__pyx_v_self, uint8_t __pyx_v_width); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21BinaryPartitionWriter_2write(struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionWriter *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_P, PyObject *__pyx_v_path); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21BinaryPartitionWriter_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21BinaryPartitionWriter_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_23EdgeListPartitionReader___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EdgeListPartitionReader *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_firstNode, PyObject *__pyx_v_sepChar); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_23EdgeListPartitionReader_2read(struct __pyx_obj_9networkit_10_NetworKit_EdgeListPartitionReader *__pyx_v_self, PyObject *__pyx_v_path); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_23EdgeListPartitionReader_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeListPartitionReader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_23EdgeListPartitionReader_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeListPartitionReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_29BinaryEdgeListPartitionReader___cinit__(struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionReader *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_firstNode, uint8_t __pyx_v_width); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_29BinaryEdgeListPartitionReader_2read(struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionReader *__pyx_v_self, PyObject *__pyx_v_paths); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_29BinaryEdgeListPartitionReader_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionReader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_29BinaryEdgeListPartitionReader_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_29BinaryEdgeListPartitionWriter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_firstNode, uint8_t __pyx_v_width); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_29BinaryEdgeListPartitionWriter_2write(struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_P, PyObject *__pyx_v_path); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_29BinaryEdgeListPartitionWriter_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_29BinaryEdgeListPartitionWriter_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27SNAPEdgeListPartitionReader_read(struct __pyx_obj_9networkit_10_NetworKit_SNAPEdgeListPartitionReader *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_nodeMap, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27SNAPEdgeListPartitionReader_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SNAPEdgeListPartitionReader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27SNAPEdgeListPartitionReader_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SNAPEdgeListPartitionReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11CoverReader_read(struct __pyx_obj_9networkit_10_NetworKit_CoverReader *__pyx_v_self, PyObject *__pyx_v_path, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11CoverReader_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CoverReader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11CoverReader_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CoverReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11CoverWriter_write(struct __pyx_obj_9networkit_10_NetworKit_CoverWriter *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_zeta, PyObject *__pyx_v_path); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11CoverWriter_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CoverWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11CoverWriter_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CoverWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_19EdgeListCoverReader___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EdgeListCoverReader *__pyx_v_self, PyObject *__pyx_v_firstNode); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19EdgeListCoverReader_2read(struct __pyx_obj_9networkit_10_NetworKit_EdgeListCoverReader *__pyx_v_self, PyObject *__pyx_v_path, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19EdgeListCoverReader_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeListCoverReader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19EdgeListCoverReader_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeListCoverReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_9Partition___cinit__(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_size, std::vector<__pyx_t_9networkit_10_NetworKit_index>  __pyx_v_data); /* proto */
static Py_ssize_t __pyx_pf_9networkit_10_NetworKit_9Partition_2__len__(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_4__getitem__(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_e); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_9Partition_6__setitem__(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_e, __pyx_t_9networkit_10_NetworKit_index __pyx_v_s); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_8__copy__(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_10__deepcopy__(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_12subsetOf(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, PyObject *__pyx_v_e); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_14extend(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_16addToSubset(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, PyObject *__pyx_v_s, PyObject *__pyx_v_e); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_18moveToSubset(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_s, __pyx_t_9networkit_10_NetworKit_index __pyx_v_e); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_20toSingleton(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_e); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_22allToSingletons(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_24mergeSubsets(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_s, __pyx_t_9networkit_10_NetworKit_index __pyx_v_t); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_26setUpperBound(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_upper); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_28upperBound(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_30lowerBound(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_32compact(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, PyObject *__pyx_v_useTurbo); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_34contains(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_e); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_36inSameSubset(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_e1, __pyx_t_9networkit_10_NetworKit_index __pyx_v_e2); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_38subsetSizes(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_40subsetSizeMap(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_42getMembers(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, PyObject *__pyx_v_s); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_44numberOfElements(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_46numberOfSubsets(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_48getVector(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_50setName(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, std::string __pyx_v_name); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_52getName(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_54getSubsetIds(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_56__eq__(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_58__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_60__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_5Cover___cinit__(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self, PyObject *__pyx_v_n); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_2subsetsOf(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self, PyObject *__pyx_v_e); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_4extend(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_6addToSubset(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self, PyObject *__pyx_v_s, PyObject *__pyx_v_e); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_8removeFromSubset(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self, PyObject *__pyx_v_s, PyObject *__pyx_v_e); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_10moveToSubset(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_s, __pyx_t_9networkit_10_NetworKit_index __pyx_v_e); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_12toSingleton(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_e); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_14allToSingletons(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_16mergeSubsets(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_s, __pyx_t_9networkit_10_NetworKit_index __pyx_v_t); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_18setUpperBound(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_upper); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_20upperBound(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_22lowerBound(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_24contains(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_e); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_26inSameSubset(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_e1, __pyx_t_9networkit_10_NetworKit_index __pyx_v_e2); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_28subsetSizes(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_30subsetSizeMap(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_32getMembers(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self, PyObject *__pyx_v_s); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_34numberOfElements(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_36numberOfSubsets(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_38getSubsetIds(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_40__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_42__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19ClusteringGenerator_makeSingletonClustering(struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19ClusteringGenerator_2makeOneClustering(struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19ClusteringGenerator_4makeRandomClustering(struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_k); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19ClusteringGenerator_6makeContinuousBalancedClustering(struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_k); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19ClusteringGenerator_8makeNoncontinuousBalancedClustering(struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_k); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19ClusteringGenerator_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19ClusteringGenerator_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_getImbalance(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_2communicationGraph(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_4weightedDegreeWithCluster(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_index __pyx_v_cid); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_6isProperClustering(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_8isSingletonClustering(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_10isOneClustering(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_12equalClustering(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_eta, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_14__reduce_cython__(struct __pyx_obj_9networkit_10_NetworKit_GraphClusteringTools *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_16__setstate_cython__(struct __pyx_obj_9networkit_10_NetworKit_GraphClusteringTools *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Traversal_BFSfrom(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph, PyObject *__pyx_v_start, PyObject *__pyx_v_callback); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Traversal_2BFSEdgesFrom(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph, __pyx_t_9networkit_10_NetworKit_node __pyx_v_start, PyObject *__pyx_v_callback); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Traversal_4DFSfrom(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph, __pyx_t_9networkit_10_NetworKit_node __pyx_v_start, PyObject *__pyx_v_callback); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Traversal_6DFSEdgesFrom(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph, __pyx_t_9networkit_10_NetworKit_node __pyx_v_start, PyObject *__pyx_v_callback); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Traversal_8__reduce_cython__(struct __pyx_obj_9networkit_10_NetworKit_Traversal *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Traversal_10__setstate_cython__(struct __pyx_obj_9networkit_10_NetworKit_Traversal *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_maxDegree(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_2maxInDegree(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_4maxWeightedDegree(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_6maxWeightedInDegree(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_8randomNode(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_10randomNeighbor(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_12randomEdge(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_uniformDistribution); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_14randomEdges(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_numEdges); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_16append(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G1); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_18merge(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G1); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_20removeEdgesFromIsolatedSet(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph, PyObject *__pyx_v_nodes); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_22toUndirected(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_24toUnweighted(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_26toWeighted(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_28size(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_30density(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_32copyNodes(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_34subgraphFromNodes(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph, PyObject *__pyx_v_nodes, PyObject *__pyx_v_includeOutNeighbors, PyObject *__pyx_v_includeInNeighbors); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_36transpose(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_38getCompactedGraph(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph, PyObject *__pyx_v_nodeIdMap); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_40getContinuousNodeIds(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_42getRandomContinuousNodeIds(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_44__reduce_cython__(struct __pyx_obj_9networkit_10_NetworKit_GraphTools *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_46__setstate_cython__(struct __pyx_obj_9networkit_10_NetworKit_GraphTools *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21PartitionIntersection_calculate(struct __pyx_obj_9networkit_10_NetworKit_PartitionIntersection *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_eta); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21PartitionIntersection_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PartitionIntersection *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21PartitionIntersection_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PartitionIntersection *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_8Coverage_getQuality(struct __pyx_obj_9networkit_10_NetworKit_Coverage *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_8Coverage_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Coverage *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_8Coverage_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Coverage *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_7EdgeCut_getQuality(struct __pyx_obj_9networkit_10_NetworKit_EdgeCut *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_7EdgeCut_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeCut *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_7EdgeCut_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeCut *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10Modularity_getQuality(struct __pyx_obj_9networkit_10_NetworKit_Modularity *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10Modularity_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Modularity *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10Modularity_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Modularity *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12HubDominance_getQuality(struct __pyx_obj_9networkit_10_NetworKit_HubDominance *__pyx_v_signatures, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs, CYTHON_UNUSED PyObject *__pyx_v_defaults); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12HubDominance_2getQuality(struct __pyx_obj_9networkit_10_NetworKit_HubDominance *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12HubDominance_4getQuality(struct __pyx_obj_9networkit_10_NetworKit_HubDominance *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_zeta, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12HubDominance_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_HubDominance *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12HubDominance_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_HubDominance *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_17CommunityDetector___init__(struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17CommunityDetector_2getPartition(struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17CommunityDetector_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17CommunityDetector_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_3PLP___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PLP *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_updateThreshold, __pyx_t_9networkit_10_NetworKit_count __pyx_v_maxIterations, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_baseClustering); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_3PLP_2numberOfIterations(struct __pyx_obj_9networkit_10_NetworKit_PLP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_3PLP_4getTiming(struct __pyx_obj_9networkit_10_NetworKit_PLP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_3PLP_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PLP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_3PLP_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PLP *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_15LPDegreeOrdered___cinit__(struct __pyx_obj_9networkit_10_NetworKit_LPDegreeOrdered *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15LPDegreeOrdered_2numberOfIterations(struct __pyx_obj_9networkit_10_NetworKit_LPDegreeOrdered *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15LPDegreeOrdered_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LPDegreeOrdered *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15LPDegreeOrdered_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LPDegreeOrdered *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_3PLM___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PLM *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_refine, PyObject *__pyx_v_gamma, PyObject *__pyx_v_par, PyObject *__pyx_v_maxIter, PyObject *__pyx_v_turbo, PyObject *__pyx_v_recurse); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_3PLM_2getTiming(struct __pyx_obj_9networkit_10_NetworKit_PLM *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_3PLM_4coarsen(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta, CYTHON_UNUSED bool __pyx_v_parallel); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_3PLM_6prolong(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_Gcoarse, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zetaCoarse, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_Gfine, std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_nodeToMetaNode); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_3PLM_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PLM *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_3PLM_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PLM *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_13CutClustering___cinit__(struct __pyx_obj_9networkit_10_NetworKit_CutClustering *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_v_alpha); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_13CutClustering_2getClusterHierarchy(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_13CutClustering_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CutClustering *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_13CutClustering_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CutClustering *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20DissimilarityMeasure___reduce_cython__(struct __pyx_obj_9networkit_10_NetworKit_DissimilarityMeasure *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20DissimilarityMeasure_2__setstate_cython__(struct __pyx_obj_9networkit_10_NetworKit_DissimilarityMeasure *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_25NodeStructuralRandMeasure_getDissimilarity(struct __pyx_obj_9networkit_10_NetworKit_NodeStructuralRandMeasure *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_first, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_second); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_25NodeStructuralRandMeasure_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NodeStructuralRandMeasure *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_25NodeStructuralRandMeasure_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NodeStructuralRandMeasure *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_26GraphStructuralRandMeasure_getDissimilarity(struct __pyx_obj_9networkit_10_NetworKit_GraphStructuralRandMeasure *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_first, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_second); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_26GraphStructuralRandMeasure_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphStructuralRandMeasure *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_26GraphStructuralRandMeasure_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphStructuralRandMeasure *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14JaccardMeasure_getDissimilarity(struct __pyx_obj_9networkit_10_NetworKit_JaccardMeasure *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_first, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_second); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14JaccardMeasure_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_JaccardMeasure *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14JaccardMeasure_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_JaccardMeasure *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11NMIDistance_getDissimilarity(struct __pyx_obj_9networkit_10_NetworKit_NMIDistance *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_first, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_second); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11NMIDistance_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NMIDistance *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11NMIDistance_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NMIDistance *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19AdjustedRandMeasure_getDissimilarity(struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandMeasure *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_first, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_second); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19AdjustedRandMeasure_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandMeasure *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19AdjustedRandMeasure_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandMeasure *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation___init__(struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_2getWeightedAverage(struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_4getUnweightedAverage(struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_6getMaximumValue(struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_8getMinimumValue(struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_10getValue(struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_i); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_12getValues(struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_14isSmallBetter(struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_24LocalPartitionEvaluation___init__(struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_24LocalPartitionEvaluation_2__cinit__(struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_P, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_24LocalPartitionEvaluation_4__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_24LocalPartitionEvaluation_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_24LocalPartitionEvaluation_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_20LocalCoverEvaluation___init__(struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_20LocalCoverEvaluation_2__cinit__(struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_C, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_20LocalCoverEvaluation_4__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20LocalCoverEvaluation_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20LocalCoverEvaluation_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_21IntrapartitionDensity___cinit__(struct __pyx_obj_9networkit_10_NetworKit_IntrapartitionDensity *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21IntrapartitionDensity_2getGlobal(struct __pyx_obj_9networkit_10_NetworKit_IntrapartitionDensity *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21IntrapartitionDensity_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_IntrapartitionDensity *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21IntrapartitionDensity_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_IntrapartitionDensity *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_33IsolatedInterpartitionConductance___cinit__(struct __pyx_obj_9networkit_10_NetworKit_IsolatedInterpartitionConductance *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_33IsolatedInterpartitionConductance_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_IsolatedInterpartitionConductance *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_33IsolatedInterpartitionConductance_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_IsolatedInterpartitionConductance *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_31IsolatedInterpartitionExpansion___cinit__(struct __pyx_obj_9networkit_10_NetworKit_IsolatedInterpartitionExpansion *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_31IsolatedInterpartitionExpansion_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_IsolatedInterpartitionExpansion *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_31IsolatedInterpartitionExpansion_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_IsolatedInterpartitionExpansion *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_17CoverHubDominance___cinit__(struct __pyx_obj_9networkit_10_NetworKit_CoverHubDominance *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17CoverHubDominance_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CoverHubDominance *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17CoverHubDominance_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CoverHubDominance *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_21PartitionHubDominance___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PartitionHubDominance *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21PartitionHubDominance_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PartitionHubDominance *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21PartitionHubDominance_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PartitionHubDominance *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_22PartitionFragmentation___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PartitionFragmentation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22PartitionFragmentation_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PartitionFragmentation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22PartitionFragmentation_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PartitionFragmentation *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_20StablePartitionNodes___cinit__(struct __pyx_obj_9networkit_10_NetworKit_StablePartitionNodes *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20StablePartitionNodes_2isStable(struct __pyx_obj_9networkit_10_NetworKit_StablePartitionNodes *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20StablePartitionNodes_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_StablePartitionNodes *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20StablePartitionNodes_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_StablePartitionNodes *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_17CoverF1Similarity___cinit__(struct __pyx_obj_9networkit_10_NetworKit_CoverF1Similarity *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_C, struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_reference); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17CoverF1Similarity_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CoverF1Similarity *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17CoverF1Similarity_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CoverF1Similarity *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_11EdmondsKarp___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph, __pyx_t_9networkit_10_NetworKit_node __pyx_v_source, __pyx_t_9networkit_10_NetworKit_node __pyx_v_sink); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_11EdmondsKarp_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11EdmondsKarp_4run(struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11EdmondsKarp_6getMaxFlow(struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11EdmondsKarp_8getSourceSet(struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11EdmondsKarp_10getFlow(struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11EdmondsKarp_12getFlowVector(struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11EdmondsKarp_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11EdmondsKarp_16__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_19ConnectedComponents___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19ConnectedComponents_2getPartition(struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19ConnectedComponents_4numberOfComponents(struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19ConnectedComponents_6componentOfNode(struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *__pyx_v_self, PyObject *__pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19ConnectedComponents_8getComponentSizes(struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19ConnectedComponents_10getComponents(struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19ConnectedComponents_12extractLargestConnectedComponent(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph, bool __pyx_v_compactGraph); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19ConnectedComponents_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19ConnectedComponents_16__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_27ParallelConnectedComponents___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_coarsening); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27ParallelConnectedComponents_2getPartition(struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27ParallelConnectedComponents_4numberOfComponents(struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27ParallelConnectedComponents_6componentOfNode(struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents *__pyx_v_self, PyObject *__pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27ParallelConnectedComponents_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27ParallelConnectedComponents_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents___cinit__(struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_iterativeAlgo); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_4run(struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_6runIteratively(struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_8runRecursively(struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_10getPartition(struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_12numberOfComponents(struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_14componentOfNode(struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *__pyx_v_self, PyObject *__pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_25WeaklyConnectedComponents___cinit__(struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_25WeaklyConnectedComponents_2numberOfComponents(struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_25WeaklyConnectedComponents_4componentOfNode(struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *__pyx_v_self, PyObject *__pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_25WeaklyConnectedComponents_6getComponentSizes(struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_25WeaklyConnectedComponents_8getComponents(struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_25WeaklyConnectedComponents_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_25WeaklyConnectedComponents_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_21BiconnectedComponents___cinit__(struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21BiconnectedComponents_2numberOfComponents(struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21BiconnectedComponents_4getComponentSizes(struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21BiconnectedComponents_6getComponents(struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21BiconnectedComponents_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21BiconnectedComponents_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents_2numberOfComponents(struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents_4componentOfNode(struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *__pyx_v_self, PyObject *__pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents_6getComponentSizes(struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents_8getComponents(struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents_10update(struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *__pyx_v_self, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents_12updateBatch(struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *__pyx_v_self, PyObject *__pyx_v_batch); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents_16__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_2numberOfComponents(struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_4componentOfNode(struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *__pyx_v_self, PyObject *__pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_6getComponentSizes(struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_8getComponents(struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_10update(struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *__pyx_v_self, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_12updateBatch(struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *__pyx_v_self, PyObject *__pyx_v_batch); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_16__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21ClusteringCoefficient_avgLocal(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, bool __pyx_v_turbo); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21ClusteringCoefficient_2sequentialAvgLocal(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21ClusteringCoefficient_4approxAvgLocal(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_trials); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21ClusteringCoefficient_6exactGlobal(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21ClusteringCoefficient_8approxGlobal(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_trials); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21ClusteringCoefficient_10__reduce_cython__(struct __pyx_obj_9networkit_10_NetworKit_ClusteringCoefficient *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21ClusteringCoefficient_12__setstate_cython__(struct __pyx_obj_9networkit_10_NetworKit_ClusteringCoefficient *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_8Diameter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_Diameter *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_algo, PyObject *__pyx_v_error, PyObject *__pyx_v_nSamples); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_8Diameter_2getDiameter(struct __pyx_obj_9networkit_10_NetworKit_Diameter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_8Diameter_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Diameter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_8Diameter_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Diameter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12Eccentricity_getValue(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12Eccentricity_2__reduce_cython__(struct __pyx_obj_9networkit_10_NetworKit_Eccentricity *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12Eccentricity_4__setstate_cython__(struct __pyx_obj_9networkit_10_NetworKit_Eccentricity *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_17EffectiveDiameter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameter *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, double __pyx_v_ratio); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17EffectiveDiameter_2getEffectiveDiameter(struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17EffectiveDiameter_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17EffectiveDiameter_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_30EffectiveDiameterApproximation___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameterApproximation *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, double __pyx_v_ratio, __pyx_t_9networkit_10_NetworKit_count __pyx_v_k, __pyx_t_9networkit_10_NetworKit_count __pyx_v_r); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_30EffectiveDiameterApproximation_2getEffectiveDiameter(struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameterApproximation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_30EffectiveDiameterApproximation_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameterApproximation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_30EffectiveDiameterApproximation_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameterApproximation *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_20HopPlotApproximation___cinit__(struct __pyx_obj_9networkit_10_NetworKit_HopPlotApproximation *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_maxDistance, __pyx_t_9networkit_10_NetworKit_count __pyx_v_k, __pyx_t_9networkit_10_NetworKit_count __pyx_v_r); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20HopPlotApproximation_2getHopPlot(struct __pyx_obj_9networkit_10_NetworKit_HopPlotApproximation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20HopPlotApproximation_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_HopPlotApproximation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20HopPlotApproximation_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_HopPlotApproximation *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_20NeighborhoodFunction___cinit__(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunction *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20NeighborhoodFunction_2getNeighborhoodFunction(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunction *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20NeighborhoodFunction_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunction *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20NeighborhoodFunction_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunction *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_33NeighborhoodFunctionApproximation___cinit__(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionApproximation *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_k, __pyx_t_9networkit_10_NetworKit_count __pyx_v_r); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_33NeighborhoodFunctionApproximation_2getNeighborhoodFunction(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionApproximation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_33NeighborhoodFunctionApproximation_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionApproximation *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_33NeighborhoodFunctionApproximation_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionApproximation *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_29NeighborhoodFunctionHeuristic___cinit__(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_nSamples, PyObject *__pyx_v_strategy); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_29NeighborhoodFunctionHeuristic_2getNeighborhoodFunction(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_29NeighborhoodFunctionHeuristic_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_29NeighborhoodFunctionHeuristic_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_13Assortativity___cinit__(struct __pyx_obj_9networkit_10_NetworKit_Assortativity *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_data); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_13Assortativity_2getCoefficient(struct __pyx_obj_9networkit_10_NetworKit_Assortativity *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_13Assortativity_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Assortativity *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_13Assortativity_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Assortativity *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_10Centrality___init__(struct __pyx_obj_9networkit_10_NetworKit_Centrality *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_10Centrality_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_Centrality *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10Centrality_4scores(struct __pyx_obj_9networkit_10_NetworKit_Centrality *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10Centrality_6score(struct __pyx_obj_9networkit_10_NetworKit_Centrality *__pyx_v_self, PyObject *__pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10Centrality_8ranking(struct __pyx_obj_9networkit_10_NetworKit_Centrality *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10Centrality_10maximum(struct __pyx_obj_9networkit_10_NetworKit_Centrality *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10Centrality_12centralization(struct __pyx_obj_9networkit_10_NetworKit_Centrality *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10Centrality_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Centrality *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10Centrality_16__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Centrality *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_12TopCloseness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_TopCloseness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_k, PyObject *__pyx_v_first_heu, PyObject *__pyx_v_sec_heu); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12TopCloseness_2topkNodesList(struct __pyx_obj_9networkit_10_NetworKit_TopCloseness *__pyx_v_self, PyObject *__pyx_v_includeTrail); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12TopCloseness_4topkScoresList(struct __pyx_obj_9networkit_10_NetworKit_TopCloseness *__pyx_v_self, PyObject *__pyx_v_includeTrail); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12TopCloseness_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_TopCloseness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12TopCloseness_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_TopCloseness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_20TopHarmonicCloseness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_TopHarmonicCloseness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_k, PyObject *__pyx_v_useBFSbound); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20TopHarmonicCloseness_2topkNodesList(struct __pyx_obj_9networkit_10_NetworKit_TopHarmonicCloseness *__pyx_v_self, PyObject *__pyx_v_includeTrail); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20TopHarmonicCloseness_4topkScoresList(struct __pyx_obj_9networkit_10_NetworKit_TopHarmonicCloseness *__pyx_v_self, PyObject *__pyx_v_includeTrail); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20TopHarmonicCloseness_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_TopHarmonicCloseness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20TopHarmonicCloseness_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_TopHarmonicCloseness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_17DynKatzCentrality___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_k, PyObject *__pyx_v_groupOnly, PyObject *__pyx_v_tolerance); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17DynKatzCentrality_2update(struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality *__pyx_v_self, PyObject *__pyx_v_ev); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17DynKatzCentrality_4updateBatch(struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality *__pyx_v_self, PyObject *__pyx_v_batch); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17DynKatzCentrality_6top(struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality *__pyx_v_self, PyObject *__pyx_v_n); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17DynKatzCentrality_8bound(struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality *__pyx_v_self, PyObject *__pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17DynKatzCentrality_10areDistinguished(struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17DynKatzCentrality_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17DynKatzCentrality_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_23DynTopHarmonicCloseness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_k, PyObject *__pyx_v_useBFSbound); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_23DynTopHarmonicCloseness_2ranking(struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *__pyx_v_self, PyObject *__pyx_v_includeTrail); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_23DynTopHarmonicCloseness_4topkNodesList(struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *__pyx_v_self, PyObject *__pyx_v_includeTrail); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_23DynTopHarmonicCloseness_6topkScoresList(struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *__pyx_v_self, PyObject *__pyx_v_includeTrail); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_23DynTopHarmonicCloseness_8update(struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *__pyx_v_self, PyObject *__pyx_v_ev); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_23DynTopHarmonicCloseness_10updateBatch(struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *__pyx_v_self, PyObject *__pyx_v_batch); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_23DynTopHarmonicCloseness_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_23DynTopHarmonicCloseness_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_11GroupDegree___cinit__(struct __pyx_obj_9networkit_10_NetworKit_GroupDegree *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_k, PyObject *__pyx_v_countGroupNodes); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11GroupDegree_2groupMaxDegree(struct __pyx_obj_9networkit_10_NetworKit_GroupDegree *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11GroupDegree_4getScore(struct __pyx_obj_9networkit_10_NetworKit_GroupDegree *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11GroupDegree_6scoreOfGroup(struct __pyx_obj_9networkit_10_NetworKit_GroupDegree *__pyx_v_self, std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_group); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11GroupDegree_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GroupDegree *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11GroupDegree_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GroupDegree *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_14GroupCloseness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_k, PyObject *__pyx_v_H); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14GroupCloseness_2groupMaxCloseness(struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14GroupCloseness_4computeFarness(struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness *__pyx_v_self, PyObject *__pyx_v_S, PyObject *__pyx_v_H); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14GroupCloseness_6scoreOfGroup(struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness *__pyx_v_self, PyObject *__pyx_v_group); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14GroupCloseness_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14GroupCloseness_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_16DegreeCentrality___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DegreeCentrality *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, bool __pyx_v_normalized, bool __pyx_v_outDeg, bool __pyx_v_ignoreSelfLoops); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_16DegreeCentrality_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DegreeCentrality *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_16DegreeCentrality_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DegreeCentrality *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_11Betweenness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_Betweenness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_normalized, PyObject *__pyx_v_computeEdgeCentrality); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11Betweenness_2edgeScores(struct __pyx_obj_9networkit_10_NetworKit_Betweenness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11Betweenness_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Betweenness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_11Betweenness_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Betweenness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_22ApproxGroupBetweenness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ApproxGroupBetweenness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_groupSize, PyObject *__pyx_v_epsilon); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22ApproxGroupBetweenness_2groupMaxBetweenness(struct __pyx_obj_9networkit_10_NetworKit_ApproxGroupBetweenness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22ApproxGroupBetweenness_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ApproxGroupBetweenness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22ApproxGroupBetweenness_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ApproxGroupBetweenness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_9Closeness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_Closeness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_normalized, PyObject *__pyx_v_third); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Closeness_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Closeness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Closeness_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Closeness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_17HarmonicCloseness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_HarmonicCloseness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_normalized); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17HarmonicCloseness_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_HarmonicCloseness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17HarmonicCloseness_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_HarmonicCloseness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_15KPathCentrality___cinit__(struct __pyx_obj_9networkit_10_NetworKit_KPathCentrality *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_alpha, PyObject *__pyx_v_k); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15KPathCentrality_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_KPathCentrality *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15KPathCentrality_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_KPathCentrality *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_14KatzCentrality___cinit__(struct __pyx_obj_9networkit_10_NetworKit_KatzCentrality *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_alpha, PyObject *__pyx_v_beta, PyObject *__pyx_v_tol); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14KatzCentrality_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_KatzCentrality *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14KatzCentrality_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_KatzCentrality *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_15GraphDifference___cinit__(struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G1, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G2); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphDifference_2getEdits(struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphDifference_4getNumberOfEdits(struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphDifference_6getNumberOfNodeAdditions(struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphDifference_8getNumberOfNodeRemovals(struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphDifference_10getNumberOfNodeRestorations(struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphDifference_12getNumberOfEdgeAdditions(struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphDifference_14getNumberOfEdgeRemovals(struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphDifference_16getNumberOfEdgeWeightUpdates(struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphDifference_18__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphDifference_20__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_17ApproxBetweenness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_epsilon, PyObject *__pyx_v_delta, PyObject *__pyx_v_universalConstant); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17ApproxBetweenness_2numberOfSamples(struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17ApproxBetweenness_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17ApproxBetweenness_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_err, PyObject *__pyx_v_delta, PyObject *__pyx_v_k, PyObject *__pyx_v_unionSample, PyObject *__pyx_v_startFactor); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness_2ranking(struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness_4topkNodesList(struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness_6topkScoresList(struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness_8scores(struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness_10getNumberOfIterations(struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness_12getOmega(struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness_16__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_19EstimateBetweenness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EstimateBetweenness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_nSamples, PyObject *__pyx_v_normalized, PyObject *__pyx_v_parallel); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19EstimateBetweenness_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EstimateBetweenness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19EstimateBetweenness_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EstimateBetweenness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_18ApproxBetweenness2___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness2 *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_nSamples, PyObject *__pyx_v_normalized, PyObject *__pyx_v_parallel); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18ApproxBetweenness2_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18ApproxBetweenness2_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness2 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_15ApproxCloseness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ApproxCloseness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_nSamples, PyObject *__pyx_v_epsilon, PyObject *__pyx_v_normalized, enum NetworKit::ApproxCloseness::CLOSENESS_TYPE __pyx_v_type); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15ApproxCloseness_2getSquareErrorEstimates(struct __pyx_obj_9networkit_10_NetworKit_ApproxCloseness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15ApproxCloseness_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ApproxCloseness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15ApproxCloseness_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ApproxCloseness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_8PageRank___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PageRank *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, double __pyx_v_damp, double __pyx_v_tol); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_8PageRank_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PageRank *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_8PageRank_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PageRank *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_21EigenvectorCentrality___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EigenvectorCentrality *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, double __pyx_v_tol); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21EigenvectorCentrality_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EigenvectorCentrality *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21EigenvectorCentrality_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EigenvectorCentrality *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_17CoreDecomposition___cinit__(struct __pyx_obj_9networkit_10_NetworKit_CoreDecomposition *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, bool __pyx_v_normalized, bool __pyx_v_enforceBucketQueueAlgorithm, bool __pyx_v_storeNodeOrder); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17CoreDecomposition_2maxCoreNumber(struct __pyx_obj_9networkit_10_NetworKit_CoreDecomposition *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17CoreDecomposition_4getCover(struct __pyx_obj_9networkit_10_NetworKit_CoreDecomposition *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17CoreDecomposition_6getPartition(struct __pyx_obj_9networkit_10_NetworKit_CoreDecomposition *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17CoreDecomposition_8getNodeOrder(struct __pyx_obj_9networkit_10_NetworKit_CoreDecomposition *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17CoreDecomposition_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CoreDecomposition *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17CoreDecomposition_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CoreDecomposition *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_26LocalClusteringCoefficient___cinit__(struct __pyx_obj_9networkit_10_NetworKit_LocalClusteringCoefficient *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, bool __pyx_v_turbo); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_26LocalClusteringCoefficient_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalClusteringCoefficient *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_26LocalClusteringCoefficient_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalClusteringCoefficient *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_9Sfigality___cinit__(struct __pyx_obj_9networkit_10_NetworKit_Sfigality *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Sfigality_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Sfigality *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Sfigality_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Sfigality *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_epsilon, PyObject *__pyx_v_delta, PyObject *__pyx_v_storePredecessors, PyObject *__pyx_v_universalConstant); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness_2update(struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *__pyx_v_self, PyObject *__pyx_v_ev); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness_4updateBatch(struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *__pyx_v_self, PyObject *__pyx_v_batch); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness_6scores(struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness_8score(struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *__pyx_v_self, PyObject *__pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness_10ranking(struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness_12getNumberOfSamples(struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness_16__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_14DynBetweenness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14DynBetweenness_2update(struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *__pyx_v_self, PyObject *__pyx_v_ev); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14DynBetweenness_4updateBatch(struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *__pyx_v_self, PyObject *__pyx_v_batch); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14DynBetweenness_6scores(struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14DynBetweenness_8score(struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *__pyx_v_self, PyObject *__pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14DynBetweenness_10ranking(struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14DynBetweenness_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14DynBetweenness_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_node); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_4run(struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_6update(struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *__pyx_v_self, PyObject *__pyx_v_ev); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_8updateBatch(struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *__pyx_v_self, PyObject *__pyx_v_batch); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_10getDistance(struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_12getSigma(struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_14getSigmax(struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_16getbcx(struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_18__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_20__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_20PermanenceCentrality___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PermanenceCentrality *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_P); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20PermanenceCentrality_2getIntraClustering(struct __pyx_obj_9networkit_10_NetworKit_PermanenceCentrality *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20PermanenceCentrality_4getPermanence(struct __pyx_obj_9networkit_10_NetworKit_PermanenceCentrality *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20PermanenceCentrality_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PermanenceCentrality *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20PermanenceCentrality_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PermanenceCentrality *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_22LocalPartitionCoverage___cinit__(struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionCoverage *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_P); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22LocalPartitionCoverage_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionCoverage *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22LocalPartitionCoverage_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionCoverage *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_19LaplacianCentrality___cinit__(struct __pyx_obj_9networkit_10_NetworKit_LaplacianCentrality *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_normalized); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19LaplacianCentrality_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LaplacianCentrality *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19LaplacianCentrality_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LaplacianCentrality *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphEvent_4type___get__(struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_10GraphEvent_4type_2__set__(struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self, PyObject *__pyx_v_t); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphEvent_1u___get__(struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_10GraphEvent_1u_2__set__(struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self, PyObject *__pyx_v_u); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphEvent_1v___get__(struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_10GraphEvent_1v_2__set__(struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self, PyObject *__pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphEvent_1w___get__(struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_10GraphEvent_1w_2__set__(struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self, PyObject *__pyx_v_w); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_10GraphEvent___cinit__(struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self, enum NetworKit::GraphEvent::Type __pyx_v_type, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v, __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_v_w); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphEvent_2toString(struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphEvent_4__repr__(struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphEvent_6__eq__(struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphEvent_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphEvent_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_15DGSStreamParser___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DGSStreamParser *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_mapped, PyObject *__pyx_v_baseIndex); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_15DGSStreamParser_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_DGSStreamParser *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15DGSStreamParser_4getStream(struct __pyx_obj_9networkit_10_NetworKit_DGSStreamParser *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15DGSStreamParser_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DGSStreamParser *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15DGSStreamParser_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DGSStreamParser *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_9DGSWriter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DGSWriter *__pyx_v_self); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_9DGSWriter_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_DGSWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9DGSWriter_4write(struct __pyx_obj_9networkit_10_NetworKit_DGSWriter *__pyx_v_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_path); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9DGSWriter_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DGSWriter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9DGSWriter_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DGSWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_20DynamicPathGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynamicPathGenerator *__pyx_v_self); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_20DynamicPathGenerator_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_DynamicPathGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20DynamicPathGenerator_4generate(struct __pyx_obj_9networkit_10_NetworKit_DynamicPathGenerator *__pyx_v_self, PyObject *__pyx_v_nSteps); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20DynamicPathGenerator_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynamicPathGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20DynamicPathGenerator_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynamicPathGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator *__pyx_v_self); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_4generate(struct __pyx_obj_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator *__pyx_v_self, PyObject *__pyx_v_nSteps); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_22DynamicPubWebGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator *__pyx_v_self, PyObject *__pyx_v_numNodes, PyObject *__pyx_v_numberOfDenseAreas, PyObject *__pyx_v_neighborhoodRadius, PyObject *__pyx_v_maxNumberOfNeighbors); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_22DynamicPubWebGenerator_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynamicPubWebGenerator_4generate(struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator *__pyx_v_self, PyObject *__pyx_v_nSteps); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynamicPubWebGenerator_6getGraph(struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynamicPubWebGenerator_8getCoordinates(struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynamicPubWebGenerator_10getNewCoordinates(struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynamicPubWebGenerator_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynamicPubWebGenerator_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_26DynamicHyperbolicGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynamicHyperbolicGenerator *__pyx_v_self, PyObject *__pyx_v_numNodes, CYTHON_UNUSED PyObject *__pyx_v_avgDegree, PyObject *__pyx_v_gamma, CYTHON_UNUSED PyObject *__pyx_v_T, CYTHON_UNUSED PyObject *__pyx_v_moveEachStep, CYTHON_UNUSED PyObject *__pyx_v_moveDistance); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_DynamicHyperbolicGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_4generate(struct __pyx_obj_9networkit_10_NetworKit_DynamicHyperbolicGenerator *__pyx_v_self, PyObject *__pyx_v_nSteps); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_6getGraph(struct __pyx_obj_9networkit_10_NetworKit_DynamicHyperbolicGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_8getCoordinates(struct __pyx_obj_9networkit_10_NetworKit_DynamicHyperbolicGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynamicHyperbolicGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynamicHyperbolicGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_26DynamicForestFireGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynamicForestFireGenerator *__pyx_v_self, PyObject *__pyx_v_p, PyObject *__pyx_v_directed, PyObject *__pyx_v_r); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_26DynamicForestFireGenerator_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_DynamicForestFireGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_26DynamicForestFireGenerator_4generate(struct __pyx_obj_9networkit_10_NetworKit_DynamicForestFireGenerator *__pyx_v_self, PyObject *__pyx_v_nSteps); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_26DynamicForestFireGenerator_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynamicForestFireGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_26DynamicForestFireGenerator_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynamicForestFireGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_12GraphUpdater___cinit__(struct __pyx_obj_9networkit_10_NetworKit_GraphUpdater *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_12GraphUpdater_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_GraphUpdater *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12GraphUpdater_4update(struct __pyx_obj_9networkit_10_NetworKit_GraphUpdater *__pyx_v_self, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12GraphUpdater_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphUpdater *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12GraphUpdater_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphUpdater *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_15GraphCoarsening___init__(struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphCoarsening_2getCoarseGraph(struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphCoarsening_4getFineToCoarseNodeMapping(struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphCoarsening_6getCoarseToFineNodeMapping(struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphCoarsening_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphCoarsening_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_27ParallelPartitionCoarsening___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ParallelPartitionCoarsening *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta, PyObject *__pyx_v_useGraphBuilder); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27ParallelPartitionCoarsening_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ParallelPartitionCoarsening *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27ParallelPartitionCoarsening_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ParallelPartitionCoarsening *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_18MatchingCoarsening___cinit__(struct __pyx_obj_9networkit_10_NetworKit_MatchingCoarsening *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_M, bool __pyx_v_noSelfLoops); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18MatchingCoarsening_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MatchingCoarsening *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18MatchingCoarsening_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MatchingCoarsening *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_14PageRankNibble___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PageRankNibble *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, double __pyx_v_alpha, double __pyx_v_epsilon); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14PageRankNibble_2run(struct __pyx_obj_9networkit_10_NetworKit_PageRankNibble *__pyx_v_self, std::set<__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_seeds); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14PageRankNibble_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PageRankNibble *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14PageRankNibble_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PageRankNibble *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_3GCE___cinit__(struct __pyx_obj_9networkit_10_NetworKit_GCE *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_quality); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_3GCE_2run(struct __pyx_obj_9networkit_10_NetworKit_GCE *__pyx_v_self, std::set<__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_seeds); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_3GCE_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GCE *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_3GCE_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GCE *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_14MaximalCliques___cinit__(struct __pyx_obj_9networkit_10_NetworKit_MaximalCliques *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, bool __pyx_v_maximumOnly, PyObject *__pyx_v_callback); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_14MaximalCliques_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_MaximalCliques *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14MaximalCliques_4getCliques(struct __pyx_obj_9networkit_10_NetworKit_MaximalCliques *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14MaximalCliques_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MaximalCliques *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_14MaximalCliques_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MaximalCliques *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_13LinkPredictor___cinit__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_13LinkPredictor_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_13LinkPredictor_4setGraph(struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_newGraph); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_13LinkPredictor_6run(struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_13LinkPredictor_8runAll(struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_13LinkPredictor_10runOn(struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor *__pyx_v_self, std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> >  __pyx_v_nodePairs); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_13LinkPredictor_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_13LinkPredictor_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_9KatzIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_KatzIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_maxPathLength, double __pyx_v_dampingValue); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9KatzIndex_2run(struct __pyx_obj_9networkit_10_NetworKit_KatzIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9KatzIndex_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_KatzIndex *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9KatzIndex_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_KatzIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_20CommonNeighborsIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_CommonNeighborsIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20CommonNeighborsIndex_2run(struct __pyx_obj_9networkit_10_NetworKit_CommonNeighborsIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20CommonNeighborsIndex_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CommonNeighborsIndex *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20CommonNeighborsIndex_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CommonNeighborsIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_27PreferentialAttachmentIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PreferentialAttachmentIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27PreferentialAttachmentIndex_2run(struct __pyx_obj_9networkit_10_NetworKit_PreferentialAttachmentIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27PreferentialAttachmentIndex_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PreferentialAttachmentIndex *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_27PreferentialAttachmentIndex_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PreferentialAttachmentIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_6Volume_6volume_is_number(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_s); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_6Volume_6volume_2genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_6Volume_volume(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_r, __pyx_t_9networkit_10_NetworKit_count __pyx_v_samples); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_6Volume_2__reduce_cython__(struct __pyx_obj_9networkit_10_NetworKit_Volume *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_6Volume_4__setstate_cython__(struct __pyx_obj_9networkit_10_NetworKit_Volume *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_12JaccardIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_JaccardIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12JaccardIndex_2run(struct __pyx_obj_9networkit_10_NetworKit_JaccardIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12JaccardIndex_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_JaccardIndex *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12JaccardIndex_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_JaccardIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_15AdamicAdarIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15AdamicAdarIndex_2run(struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15AdamicAdarIndex_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarIndex *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15AdamicAdarIndex_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_12UDegreeIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_UDegreeIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12UDegreeIndex_2run(struct __pyx_obj_9networkit_10_NetworKit_UDegreeIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12UDegreeIndex_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_UDegreeIndex *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12UDegreeIndex_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_UDegreeIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_12VDegreeIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_VDegreeIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12VDegreeIndex_2run(struct __pyx_obj_9networkit_10_NetworKit_VDegreeIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12VDegreeIndex_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_VDegreeIndex *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12VDegreeIndex_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_VDegreeIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_22AlgebraicDistanceIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistanceIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_numberSystems, __pyx_t_9networkit_10_NetworKit_count __pyx_v_numberIterations, double __pyx_v_omega, __pyx_t_9networkit_10_NetworKit_index __pyx_v_norm); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22AlgebraicDistanceIndex_2preprocess(struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistanceIndex *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22AlgebraicDistanceIndex_4run(struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistanceIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22AlgebraicDistanceIndex_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistanceIndex *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22AlgebraicDistanceIndex_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistanceIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_25NeighborhoodDistanceIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodDistanceIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_25NeighborhoodDistanceIndex_2run(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodDistanceIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_25NeighborhoodDistanceIndex_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodDistanceIndex *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_25NeighborhoodDistanceIndex_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodDistanceIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_19TotalNeighborsIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_TotalNeighborsIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19TotalNeighborsIndex_2run(struct __pyx_obj_9networkit_10_NetworKit_TotalNeighborsIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19TotalNeighborsIndex_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_TotalNeighborsIndex *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19TotalNeighborsIndex_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_TotalNeighborsIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_21NeighborsMeasureIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_NeighborsMeasureIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21NeighborsMeasureIndex_2run(struct __pyx_obj_9networkit_10_NetworKit_NeighborsMeasureIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21NeighborsMeasureIndex_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NeighborsMeasureIndex *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21NeighborsMeasureIndex_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NeighborsMeasureIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_18SameCommunityIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_SameCommunityIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18SameCommunityIndex_2run(struct __pyx_obj_9networkit_10_NetworKit_SameCommunityIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18SameCommunityIndex_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SameCommunityIndex *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18SameCommunityIndex_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SameCommunityIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_17AdjustedRandIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17AdjustedRandIndex_2run(struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17AdjustedRandIndex_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandIndex *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17AdjustedRandIndex_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_23ResourceAllocationIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ResourceAllocationIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_23ResourceAllocationIndex_2run(struct __pyx_obj_9networkit_10_NetworKit_ResourceAllocationIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_23ResourceAllocationIndex_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ResourceAllocationIndex *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_23ResourceAllocationIndex_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ResourceAllocationIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17RandomLinkSampler_byPercentage(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, double __pyx_v_percentage); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17RandomLinkSampler_2byCount(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_numLinks); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17RandomLinkSampler_4__reduce_cython__(struct __pyx_obj_9networkit_10_NetworKit_RandomLinkSampler *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17RandomLinkSampler_6__setstate_cython__(struct __pyx_obj_9networkit_10_NetworKit_RandomLinkSampler *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_16EvaluationMetric___cinit__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EvaluationMetric *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_16EvaluationMetric_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_EvaluationMetric *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_16EvaluationMetric_4setTestGraph(struct __pyx_obj_9networkit_10_NetworKit_EvaluationMetric *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_newTestGraph); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_16EvaluationMetric_6getCurve(struct __pyx_obj_9networkit_10_NetworKit_EvaluationMetric *__pyx_v_self, std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_v_predictions, __pyx_t_9networkit_10_NetworKit_count __pyx_v_numThresholds); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_16EvaluationMetric_8getAreaUnderCurve(struct __pyx_obj_9networkit_10_NetworKit_EvaluationMetric *__pyx_v_self, std::pair<std::vector<double> ,std::vector<double> >  __pyx_v_curve); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_16EvaluationMetric_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EvaluationMetric *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_16EvaluationMetric_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EvaluationMetric *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_9ROCMetric___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ROCMetric *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_testGraph); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9ROCMetric_2getCurve(struct __pyx_obj_9networkit_10_NetworKit_ROCMetric *__pyx_v_self, std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_v_predictions, __pyx_t_9networkit_10_NetworKit_count __pyx_v_numThresholds); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9ROCMetric_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ROCMetric *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9ROCMetric_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ROCMetric *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_21PrecisionRecallMetric___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PrecisionRecallMetric *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_testGraph); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21PrecisionRecallMetric_2getCurve(struct __pyx_obj_9networkit_10_NetworKit_PrecisionRecallMetric *__pyx_v_self, std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_v_predictions, __pyx_t_9networkit_10_NetworKit_count __pyx_v_numThresholds); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21PrecisionRecallMetric_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PrecisionRecallMetric *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21PrecisionRecallMetric_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PrecisionRecallMetric *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_18MissingLinksFinder___cinit__(struct __pyx_obj_9networkit_10_NetworKit_MissingLinksFinder *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_18MissingLinksFinder_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_MissingLinksFinder *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18MissingLinksFinder_4findAtDistance(struct __pyx_obj_9networkit_10_NetworKit_MissingLinksFinder *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_count __pyx_v_k); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18MissingLinksFinder_6findFromNode(struct __pyx_obj_9networkit_10_NetworKit_MissingLinksFinder *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_count __pyx_v_k); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18MissingLinksFinder_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MissingLinksFinder *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18MissingLinksFinder_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MissingLinksFinder *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19NeighborhoodUtility_getNeighborsUnion(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19NeighborhoodUtility_2getCommonNeighbors(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19NeighborhoodUtility_4__reduce_cython__(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodUtility *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19NeighborhoodUtility_6__setstate_cython__(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodUtility *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15LinkThresholder_byScore(std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_v_predictions, double __pyx_v_minScore); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15LinkThresholder_2byCount(std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_v_predictions, __pyx_t_9networkit_10_NetworKit_count __pyx_v_numLinks); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15LinkThresholder_4byPercentage(std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_v_predictions, double __pyx_v_percentageLinks); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15LinkThresholder_6__reduce_cython__(struct __pyx_obj_9networkit_10_NetworKit_LinkThresholder *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15LinkThresholder_8__setstate_cython__(struct __pyx_obj_9networkit_10_NetworKit_LinkThresholder *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17PredictionsSorter_sortByScore(PyObject *__pyx_v_predictions); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17PredictionsSorter_2sortByNodePair(PyObject *__pyx_v_predictions); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17PredictionsSorter_4__reduce_cython__(struct __pyx_obj_9networkit_10_NetworKit_PredictionsSorter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17PredictionsSorter_6__setstate_cython__(struct __pyx_obj_9networkit_10_NetworKit_PredictionsSorter *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_9EdgeScore___init__(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_9EdgeScore_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9EdgeScore_4score(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9EdgeScore_6scores(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9EdgeScore_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9EdgeScore_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_31ChibaNishizekiTriangleEdgeScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_31ChibaNishizekiTriangleEdgeScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_31ChibaNishizekiTriangleEdgeScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_33ChibaNishizekiQuadrangleEdgeScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_33ChibaNishizekiQuadrangleEdgeScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_33ChibaNishizekiQuadrangleEdgeScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_17TriangleEdgeScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_TriangleEdgeScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17TriangleEdgeScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_TriangleEdgeScore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17TriangleEdgeScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_TriangleEdgeScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_19EdgeScoreLinearizer___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreLinearizer *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<double>  __pyx_v_score, PyObject *__pyx_v_inverse); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19EdgeScoreLinearizer_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreLinearizer *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19EdgeScoreLinearizer_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreLinearizer *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_19EdgeScoreNormalizer___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreNormalizer *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_score, bool __pyx_v_inverse, double __pyx_v_lower, double __pyx_v_upper); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19EdgeScoreNormalizer_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreNormalizer *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19EdgeScoreNormalizer_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreNormalizer *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_16EdgeScoreBlender___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreBlender *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<double>  __pyx_v_attribute0, std::vector<double>  __pyx_v_attribute1, std::vector<bool>  __pyx_v_selection); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_16EdgeScoreBlender_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreBlender *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_16EdgeScoreBlender_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreBlender *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_18GeometricMeanScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_GeometricMeanScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<double>  __pyx_v_attribute); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18GeometricMeanScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GeometricMeanScore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18GeometricMeanScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GeometricMeanScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_17EdgeScoreAsWeight___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreAsWeight *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<double>  __pyx_v_score, bool __pyx_v_squared, __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_v_offset, __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_v_factor); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_17EdgeScoreAsWeight_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreAsWeight *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17EdgeScoreAsWeight_4getWeightedGraph(struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreAsWeight *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17EdgeScoreAsWeight_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreAsWeight *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17EdgeScoreAsWeight_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreAsWeight *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_18AdamicAdarDistance___cinit__(struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_18AdamicAdarDistance_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18AdamicAdarDistance_4preprocess(struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18AdamicAdarDistance_6getAttribute(struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18AdamicAdarDistance_8distance(struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18AdamicAdarDistance_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18AdamicAdarDistance_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_21SimmelianOverlapScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_SimmelianOverlapScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_triangles, __pyx_t_9networkit_10_NetworKit_count __pyx_v_maxRank); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21SimmelianOverlapScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SimmelianOverlapScore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21SimmelianOverlapScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SimmelianOverlapScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_18PrefixJaccardScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PrefixJaccardScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<double>  __pyx_v_attribute); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18PrefixJaccardScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PrefixJaccardScore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18PrefixJaccardScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PrefixJaccardScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_15MultiscaleScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_MultiscaleScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<double>  __pyx_v_attribute); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15MultiscaleScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MultiscaleScore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15MultiscaleScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MultiscaleScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_15RandomEdgeScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_RandomEdgeScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15RandomEdgeScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_RandomEdgeScore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15RandomEdgeScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_RandomEdgeScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_20LocalSimilarityScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_LocalSimilarityScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_triangles); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20LocalSimilarityScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalSimilarityScore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20LocalSimilarityScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalSimilarityScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_15ForestFireScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ForestFireScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, double __pyx_v_pf, double __pyx_v_tebr); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15ForestFireScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ForestFireScore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15ForestFireScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ForestFireScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_16LocalDegreeScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_LocalDegreeScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_16LocalDegreeScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalDegreeScore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_16LocalDegreeScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalDegreeScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_15JaccardDistance___cinit__(struct __pyx_obj_9networkit_10_NetworKit_JaccardDistance *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_triangles); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_15JaccardDistance_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_JaccardDistance *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15JaccardDistance_4getAttribute(struct __pyx_obj_9networkit_10_NetworKit_JaccardDistance *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15JaccardDistance_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_JaccardDistance *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15JaccardDistance_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_JaccardDistance *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_17AlgebraicDistance___cinit__(struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_numberSystems, __pyx_t_9networkit_10_NetworKit_count __pyx_v_numberIterations, double __pyx_v_omega, __pyx_t_9networkit_10_NetworKit_index __pyx_v_norm, bool __pyx_v_withEdgeScores); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_17AlgebraicDistance_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17AlgebraicDistance_4preprocess(struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17AlgebraicDistance_6distance(struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17AlgebraicDistance_8getEdgeScores(struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17AlgebraicDistance_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_17AlgebraicDistance_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_29JaccardSimilarityAttributizer___cinit__(struct __pyx_obj_9networkit_10_NetworKit_JaccardSimilarityAttributizer *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_triangles); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_JaccardSimilarityAttributizer *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_4getAttribute(struct __pyx_obj_9networkit_10_NetworKit_JaccardSimilarityAttributizer *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_JaccardSimilarityAttributizer *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_JaccardSimilarityAttributizer *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_19RandomNodeEdgeScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_RandomNodeEdgeScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19RandomNodeEdgeScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_RandomNodeEdgeScore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19RandomNodeEdgeScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_RandomNodeEdgeScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_16LocalFilterScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_LocalFilterScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<double>  __pyx_v_a, bool __pyx_v_logarithmic); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_16LocalFilterScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalFilterScore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_16LocalFilterScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalFilterScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_28ChanceCorrectedTriangleScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ChanceCorrectedTriangleScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_triangles); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_28ChanceCorrectedTriangleScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ChanceCorrectedTriangleScore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_28ChanceCorrectedTriangleScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ChanceCorrectedTriangleScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_29SCANStructuralSimilarityScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_SCANStructuralSimilarityScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_triangles); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_29SCANStructuralSimilarityScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SCANStructuralSimilarityScore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_29SCANStructuralSimilarityScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SCANStructuralSimilarityScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_21GlobalThresholdFilter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_GlobalThresholdFilter *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<double>  __pyx_v_attribute, double __pyx_v_e, bool __pyx_v_above); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_21GlobalThresholdFilter_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_GlobalThresholdFilter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21GlobalThresholdFilter_4calculate(struct __pyx_obj_9networkit_10_NetworKit_GlobalThresholdFilter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21GlobalThresholdFilter_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GlobalThresholdFilter *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_21GlobalThresholdFilter_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GlobalThresholdFilter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_8Matching___cinit__(struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_z); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_8Matching_2match(struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_8Matching_4unmatch(struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_8Matching_6isMatched(struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_8Matching_8areMatched(struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_8Matching_10isProper(struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_8Matching_12size(struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_8Matching_14mate(struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_8Matching_16weight(struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_8Matching_18toPartition(struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_8Matching_20getVector(struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_8Matching_22__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_8Matching_24__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_7Matcher___init__(struct __pyx_obj_9networkit_10_NetworKit_Matcher *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_7Matcher_2getMatching(struct __pyx_obj_9networkit_10_NetworKit_Matcher *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_7Matcher_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Matcher *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_7Matcher_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Matcher *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_18PathGrowingMatcher___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PathGrowingMatcher *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_edgeScores); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18PathGrowingMatcher_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PathGrowingMatcher *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_18PathGrowingMatcher_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PathGrowingMatcher *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20ranked(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_sample); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22sort2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_sample); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_19CommuteTimeDistance___cinit__(struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, double __pyx_v_tol); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19CommuteTimeDistance_2runApproximation(struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19CommuteTimeDistance_4runParallelApproximation(struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19CommuteTimeDistance_6distance(struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19CommuteTimeDistance_8runSinglePair(struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19CommuteTimeDistance_10runSingleSource(struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *__pyx_v_self, PyObject *__pyx_v_u); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19CommuteTimeDistance_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_19CommuteTimeDistance_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_24gini(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_values); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_22EpidemicSimulationSEIR___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EpidemicSimulationSEIR *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_tMax, double __pyx_v_transP, __pyx_t_9networkit_10_NetworKit_count __pyx_v_eTime, __pyx_t_9networkit_10_NetworKit_count __pyx_v_iTime, __pyx_t_9networkit_10_NetworKit_node __pyx_v_zero); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22EpidemicSimulationSEIR_2getData(struct __pyx_obj_9networkit_10_NetworKit_EpidemicSimulationSEIR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22EpidemicSimulationSEIR_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EpidemicSimulationSEIR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22EpidemicSimulationSEIR_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EpidemicSimulationSEIR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_22SpanningEdgeCentrality___cinit__(struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, double __pyx_v_tol); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22SpanningEdgeCentrality_2runApproximation(struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22SpanningEdgeCentrality_4runParallelApproximation(struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22SpanningEdgeCentrality_6scores(struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22SpanningEdgeCentrality_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_22SpanningEdgeCentrality_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_20GraphLayoutAlgorithm___init__(struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_20GraphLayoutAlgorithm_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphLayoutAlgorithm_4numEdgeCrossings(struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphLayoutAlgorithm_6getCoordinates(struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphLayoutAlgorithm_8writeGraphToGML(struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *__pyx_v_self, PyObject *__pyx_v_path); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphLayoutAlgorithm_10writeKinemage(struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *__pyx_v_self, std::string __pyx_v_path); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphLayoutAlgorithm_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphLayoutAlgorithm_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_12MaxentStress___cinit__(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_dim, __pyx_t_9networkit_10_NetworKit_count __pyx_v_k, std::vector<std::pair<double,double> >  __pyx_v_coordinates, double __pyx_v_tolerance, enum NetworKit::MaxentStress::LinearSolverType __pyx_v_linearSolverType, bool __pyx_v_fastComputation, enum NetworKit::MaxentStress::GraphDistance __pyx_v_graphDistance); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_12MaxentStress_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_4run(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_6scaleLayout(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_8computeScalingFactor(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_10fullStressMeasure(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_12maxentMeasure(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_14meanDistanceError(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_16ldme(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_18setQ(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self, double __pyx_v_q); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_20setAlpha(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self, double __pyx_v_alpha); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_22setAlphaReduction(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self, double __pyx_v_alphaReduction); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_24setFinalAlpha(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self, double __pyx_v_finalAlpha); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_26setConvergenceThreshold(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self, double __pyx_v_convThreshold); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_28getRhs(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_30getApproxEntropyTerm(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_32getSolveTime(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_34__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_36__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_8PivotMDS___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PivotMDS *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_dim, __pyx_t_9networkit_10_NetworKit_count __pyx_v_numberOfPivots); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_8PivotMDS_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_PivotMDS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_8PivotMDS_4run(struct __pyx_obj_9networkit_10_NetworKit_PivotMDS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_8PivotMDS_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PivotMDS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_8PivotMDS_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PivotMDS *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_15GlobalCurveball___cinit__(struct __pyx_obj_9networkit_10_NetworKit_GlobalCurveball *__pyx_v_self, PyObject *__pyx_v_G, PyObject *__pyx_v_number_of_global_rounds, PyObject *__pyx_v_allowSelfLoops, PyObject *__pyx_v_degreePreservingShufflePreprocessing); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15GlobalCurveball_2getGraph(struct __pyx_obj_9networkit_10_NetworKit_GlobalCurveball *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15GlobalCurveball_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GlobalCurveball *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_15GlobalCurveball_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GlobalCurveball *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_30CurveballUniformTradeGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_CurveballUniformTradeGenerator *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_count __pyx_v_num_trades, __pyx_t_9networkit_10_NetworKit_count __pyx_v_num_nodes); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_CurveballUniformTradeGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_4generate(struct __pyx_obj_9networkit_10_NetworKit_CurveballUniformTradeGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CurveballUniformTradeGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CurveballUniformTradeGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_CurveballGlobalTradeGenerator *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_count __pyx_v_num_global_trades, __pyx_t_9networkit_10_NetworKit_count __pyx_v_num_nodes); /* proto */
static void __pyx_pf_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_CurveballGlobalTradeGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_4generate(struct __pyx_obj_9networkit_10_NetworKit_CurveballGlobalTradeGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CurveballGlobalTradeGenerator *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CurveballGlobalTradeGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_9Curveball___cinit__(struct __pyx_obj_9networkit_10_NetworKit_Curveball *__pyx_v_self, PyObject *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Curveball_2run(struct __pyx_obj_9networkit_10_NetworKit_Curveball *__pyx_v_self, std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> >  __pyx_v_trades); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Curveball_4getGraph(struct __pyx_obj_9networkit_10_NetworKit_Curveball *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Curveball_6getNumberOfAffectedEdges(struct __pyx_obj_9networkit_10_NetworKit_Curveball *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Curveball_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Curveball *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_9Curveball_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Curveball *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9networkit_10_NetworKit_23DegreePreservingShuffle___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DegreePreservingShuffle *__pyx_v_self, PyObject *__pyx_v_G); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_23DegreePreservingShuffle_2getGraph(struct __pyx_obj_9networkit_10_NetworKit_DegreePreservingShuffle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_23DegreePreservingShuffle_4getPermutation(struct __pyx_obj_9networkit_10_NetworKit_DegreePreservingShuffle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_23DegreePreservingShuffle_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DegreePreservingShuffle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_23DegreePreservingShuffle_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DegreePreservingShuffle *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9networkit_10_NetworKit_26__pyx_unpickle_GraphClusteringTools(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_9networkit_10_NetworKit_28__pyx_unpickle_Traversal(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_9networkit_10_NetworKit_30__pyx_unpickle_GraphTools(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_9networkit_10_NetworKit_32__pyx_unpickle_DissimilarityMeasure(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_9networkit_10_NetworKit_34__pyx_unpickle_ClusteringCoefficient(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_9networkit_10_NetworKit_36__pyx_unpickle_Eccentricity(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_9networkit_10_NetworKit_38__pyx_unpickle_Volume(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_9networkit_10_NetworKit_40__pyx_unpickle_RandomLinkSampler(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_9networkit_10_NetworKit_42__pyx_unpickle_NeighborhoodUtility(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_9networkit_10_NetworKit_44__pyx_unpickle_LinkThresholder(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_9networkit_10_NetworKit_46__pyx_unpickle_PredictionsSorter(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_9networkit_10_NetworKit_Algorithm(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_StaticGraphGenerator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Graph(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_STSP(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_BidirectionalBFS(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_BidirectionalDijkstra(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_AStar(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_SSSP(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynSSSP(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_BFS(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynBFS(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ReverseBFS(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Dijkstra(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynDijkstra(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_AllSimplePaths(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_APSP(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynAPSP(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_SpanningForest(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_UnionMaximumSpanningForest(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_RandomMaximumSpanningForest(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Luby(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_BarabasiAlbertGenerator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PubWebGenerator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ErdosRenyiGenerator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DorogovtsevMendesGenerator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_RegularRingLatticeGenerator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_WattsStrogatzGenerator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ClusteredRandomGraphGenerator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ChungLuGenerator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_HavelHakimiGenerator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_HyperbolicGenerator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_MocnikGenerator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_MocnikGeneratorBasic(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_RmatGenerator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PowerlawDegreeSequence(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LFRGenerator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GraphReader(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GraphWriter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_METISGraphReader(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_NetworkitBinaryReader(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_NetworkitBinaryWriter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GraphToolBinaryReader(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ThrillGraphBinaryReader(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ThrillGraphBinaryWriter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EdgeListReader(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_KONECTGraphReader(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GMLGraphReader(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_METISGraphWriter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GraphToolBinaryWriter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DotGraphWriter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GMLGraphWriter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EdgeListWriter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LineFileReader(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_SNAPGraphWriter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_SNAPGraphReader(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PartitionReader(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PartitionWriter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_BinaryPartitionReader(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_BinaryPartitionWriter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EdgeListPartitionReader(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_BinaryEdgeListPartitionReader(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_SNAPEdgeListPartitionReader(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_CoverReader(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_CoverWriter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EdgeListCoverReader(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Partition(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Cover(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ClusteringGenerator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GraphClusteringTools(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Traversal(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GraphTools(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PartitionIntersection(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Coverage(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EdgeCut(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Modularity(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_HubDominance(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_CommunityDetector(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PLP(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LPDegreeOrdered(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PLM(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_CutClustering(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DissimilarityMeasure(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_NodeStructuralRandMeasure(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GraphStructuralRandMeasure(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_JaccardMeasure(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_NMIDistance(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_AdjustedRandMeasure(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LocalCommunityEvaluation(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LocalPartitionEvaluation(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LocalCoverEvaluation(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_IntrapartitionDensity(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_IsolatedInterpartitionConductance(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_IsolatedInterpartitionExpansion(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_CoverHubDominance(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PartitionHubDominance(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PartitionFragmentation(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_StablePartitionNodes(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_CoverF1Similarity(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EdmondsKarp(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ConnectedComponents(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ParallelConnectedComponents(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_StronglyConnectedComponents(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_WeaklyConnectedComponents(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_BiconnectedComponents(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynConnectedComponents(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynWeaklyConnectedComponents(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ClusteringCoefficient(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Diameter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Eccentricity(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EffectiveDiameter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EffectiveDiameterApproximation(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_HopPlotApproximation(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_NeighborhoodFunction(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_NeighborhoodFunctionApproximation(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Assortativity(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Centrality(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_TopCloseness(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_TopHarmonicCloseness(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynKatzCentrality(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynTopHarmonicCloseness(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GroupDegree(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GroupCloseness(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DegreeCentrality(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Betweenness(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ApproxGroupBetweenness(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Closeness(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_HarmonicCloseness(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_KPathCentrality(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_KatzCentrality(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GraphDifference(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ApproxBetweenness(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_KadabraBetweenness(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EstimateBetweenness(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ApproxBetweenness2(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ApproxCloseness(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PageRank(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EigenvectorCentrality(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_CoreDecomposition(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LocalClusteringCoefficient(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Sfigality(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynApproxBetweenness(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynBetweenness(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynBetweennessOneNode(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PermanenceCentrality(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LocalPartitionCoverage(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LaplacianCentrality(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GraphEvent(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DGSStreamParser(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DGSWriter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynamicPathGenerator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynamicPubWebGenerator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynamicHyperbolicGenerator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynamicForestFireGenerator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GraphUpdater(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GraphCoarsening(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ParallelPartitionCoarsening(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_MatchingCoarsening(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PageRankNibble(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GCE(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_MaximalCliques(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LinkPredictor(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_KatzIndex(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_CommonNeighborsIndex(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PreferentialAttachmentIndex(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Volume(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_JaccardIndex(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_AdamicAdarIndex(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_UDegreeIndex(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_VDegreeIndex(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_AlgebraicDistanceIndex(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_NeighborhoodDistanceIndex(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_TotalNeighborsIndex(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_NeighborsMeasureIndex(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_SameCommunityIndex(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_AdjustedRandIndex(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ResourceAllocationIndex(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_RandomLinkSampler(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EvaluationMetric(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ROCMetric(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PrecisionRecallMetric(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_MissingLinksFinder(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_NeighborhoodUtility(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LinkThresholder(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PredictionsSorter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EdgeScore(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_TriangleEdgeScore(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EdgeScoreLinearizer(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EdgeScoreNormalizer(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EdgeScoreBlender(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GeometricMeanScore(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EdgeScoreAsWeight(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_AdamicAdarDistance(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_SimmelianOverlapScore(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PrefixJaccardScore(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_MultiscaleScore(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_RandomEdgeScore(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LocalSimilarityScore(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ForestFireScore(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LocalDegreeScore(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_JaccardDistance(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_AlgebraicDistance(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_JaccardSimilarityAttributizer(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_RandomNodeEdgeScore(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LocalFilterScore(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ChanceCorrectedTriangleScore(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_SCANStructuralSimilarityScore(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GlobalThresholdFilter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Matching(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Matcher(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PathGrowingMatcher(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_CommuteTimeDistance(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EpidemicSimulationSEIR(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_SpanningEdgeCentrality(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GraphLayoutAlgorithm(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_MaxentStress(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PivotMDS(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GlobalCurveball(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_CurveballUniformTradeGenerator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_CurveballGlobalTradeGenerator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Curveball(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DegreePreservingShuffle(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct__neighbors(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_17_volume(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_float_2_;
static PyObject *__pyx_float_0_1;
static PyObject *__pyx_float_0_2;
static PyObject *__pyx_float_1_0;
static PyObject *__pyx_float_0_01;
static PyObject *__pyx_float_1_05;
static PyObject *__pyx_float_1eneg_4;
static PyObject *__pyx_float_1eneg_8;
static PyObject *__pyx_float_1eneg_9;
static PyObject *__pyx_float_0_001;
static PyObject *__pyx_float_neg_1_;
static PyObject *__pyx_int_0;
static PyObject *__pyx_int_1;
static PyObject *__pyx_int_2;
static PyObject *__pyx_int_3;
static PyObject *__pyx_int_4;
static PyObject *__pyx_int_5;
static PyObject *__pyx_int_6;
static PyObject *__pyx_int_7;
static PyObject *__pyx_int_20;
static PyObject *__pyx_int_32;
static PyObject *__pyx_int_50;
static PyObject *__pyx_int_100;
static PyObject *__pyx_int_222419149;
static PyObject *__pyx_int_neg_1;
static PyObject *__pyx_k__25;
static PyObject *__pyx_k__30;
static __pyx_t_9networkit_10_NetworKit_node __pyx_k__33;
static PyObject *__pyx_k__38;
static std::vector<double>  __pyx_k__47;
static __pyx_t_9networkit_10_NetworKit_node __pyx_k__48;
static std::vector<double>  __pyx_k__51;
static __pyx_t_9networkit_10_NetworKit_node __pyx_k__52;
static PyObject *__pyx_k__94;
static PyObject *__pyx_k__120;
static std::vector<__pyx_t_9networkit_10_NetworKit_index>  __pyx_k__163;
static __pyx_t_9networkit_10_NetworKit_count __pyx_k__189;
static __pyx_t_9networkit_10_NetworKit_count __pyx_k__190;
static __pyx_t_9networkit_10_NetworKit_node __pyx_k__234;
static PyObject *__pyx_k__251;
static PyObject *__pyx_k__264;
static enum NetworKit::ApproxCloseness::CLOSENESS_TYPE __pyx_k__310;
static std::pair<std::vector<double> ,std::vector<double> >  __pyx_k__398;
static __pyx_t_9networkit_10_NetworKit_node __pyx_k__469;
static std::vector<std::pair<double,double> >  __pyx_k__477;
static enum NetworKit::MaxentStress::LinearSolverType __pyx_k__478;
static enum NetworKit::MaxentStress::GraphDistance __pyx_k__479;
static PyObject *__pyx_tuple_;
static PyObject *__pyx_tuple__2;
static PyObject *__pyx_tuple__3;
static PyObject *__pyx_tuple__4;
static PyObject *__pyx_tuple__5;
static PyObject *__pyx_tuple__6;
static PyObject *__pyx_tuple__7;
static PyObject *__pyx_tuple__8;
static PyObject *__pyx_tuple__9;
static PyObject *__pyx_slice__96;
static PyObject *__pyx_tuple__10;
static PyObject *__pyx_tuple__11;
static PyObject *__pyx_tuple__12;
static PyObject *__pyx_tuple__13;
static PyObject *__pyx_tuple__14;
static PyObject *__pyx_tuple__15;
static PyObject *__pyx_tuple__16;
static PyObject *__pyx_tuple__17;
static PyObject *__pyx_tuple__18;
static PyObject *__pyx_tuple__19;
static PyObject *__pyx_tuple__20;
static PyObject *__pyx_tuple__21;
static PyObject *__pyx_tuple__22;
static PyObject *__pyx_tuple__23;
static PyObject *__pyx_tuple__24;
static PyObject *__pyx_tuple__26;
static PyObject *__pyx_tuple__27;
static PyObject *__pyx_tuple__28;
static PyObject *__pyx_tuple__29;
static PyObject *__pyx_tuple__31;
static PyObject *__pyx_tuple__32;
static PyObject *__pyx_tuple__34;
static PyObject *__pyx_tuple__35;
static PyObject *__pyx_tuple__36;
static PyObject *__pyx_tuple__37;
static PyObject *__pyx_tuple__39;
static PyObject *__pyx_tuple__40;
static PyObject *__pyx_tuple__41;
static PyObject *__pyx_tuple__42;
static PyObject *__pyx_tuple__43;
static PyObject *__pyx_tuple__44;
static PyObject *__pyx_tuple__45;
static PyObject *__pyx_tuple__46;
static PyObject *__pyx_tuple__49;
static PyObject *__pyx_tuple__50;
static PyObject *__pyx_tuple__53;
static PyObject *__pyx_tuple__54;
static PyObject *__pyx_tuple__55;
static PyObject *__pyx_tuple__56;
static PyObject *__pyx_tuple__57;
static PyObject *__pyx_tuple__58;
static PyObject *__pyx_tuple__59;
static PyObject *__pyx_tuple__60;
static PyObject *__pyx_tuple__61;
static PyObject *__pyx_tuple__62;
static PyObject *__pyx_tuple__63;
static PyObject *__pyx_tuple__64;
static PyObject *__pyx_tuple__65;
static PyObject *__pyx_tuple__66;
static PyObject *__pyx_tuple__67;
static PyObject *__pyx_tuple__68;
static PyObject *__pyx_tuple__69;
static PyObject *__pyx_tuple__70;
static PyObject *__pyx_tuple__71;
static PyObject *__pyx_tuple__72;
static PyObject *__pyx_tuple__73;
static PyObject *__pyx_tuple__74;
static PyObject *__pyx_tuple__75;
static PyObject *__pyx_tuple__76;
static PyObject *__pyx_tuple__77;
static PyObject *__pyx_tuple__78;
static PyObject *__pyx_tuple__79;
static PyObject *__pyx_tuple__80;
static PyObject *__pyx_tuple__81;
static PyObject *__pyx_tuple__82;
static PyObject *__pyx_tuple__83;
static PyObject *__pyx_tuple__84;
static PyObject *__pyx_tuple__85;
static PyObject *__pyx_tuple__86;
static PyObject *__pyx_tuple__87;
static PyObject *__pyx_tuple__89;
static PyObject *__pyx_tuple__90;
static PyObject *__pyx_tuple__91;
static PyObject *__pyx_tuple__92;
static PyObject *__pyx_tuple__93;
static PyObject *__pyx_tuple__95;
static PyObject *__pyx_tuple__97;
static PyObject *__pyx_tuple__98;
static PyObject *__pyx_tuple__99;
static PyObject *__pyx_tuple__100;
static PyObject *__pyx_tuple__101;
static PyObject *__pyx_tuple__102;
static PyObject *__pyx_tuple__103;
static PyObject *__pyx_tuple__104;
static PyObject *__pyx_tuple__105;
static PyObject *__pyx_tuple__106;
static PyObject *__pyx_tuple__107;
static PyObject *__pyx_tuple__108;
static PyObject *__pyx_tuple__109;
static PyObject *__pyx_tuple__110;
static PyObject *__pyx_tuple__111;
static PyObject *__pyx_tuple__112;
static PyObject *__pyx_tuple__113;
static PyObject *__pyx_tuple__114;
static PyObject *__pyx_tuple__115;
static PyObject *__pyx_tuple__117;
static PyObject *__pyx_tuple__118;
static PyObject *__pyx_tuple__119;
static PyObject *__pyx_tuple__121;
static PyObject *__pyx_tuple__122;
static PyObject *__pyx_tuple__123;
static PyObject *__pyx_tuple__124;
static PyObject *__pyx_tuple__125;
static PyObject *__pyx_tuple__126;
static PyObject *__pyx_tuple__127;
static PyObject *__pyx_tuple__128;
static PyObject *__pyx_tuple__129;
static PyObject *__pyx_tuple__130;
static PyObject *__pyx_tuple__131;
static PyObject *__pyx_tuple__132;
static PyObject *__pyx_tuple__133;
static PyObject *__pyx_tuple__134;
static PyObject *__pyx_tuple__135;
static PyObject *__pyx_tuple__136;
static PyObject *__pyx_tuple__137;
static PyObject *__pyx_tuple__138;
static PyObject *__pyx_tuple__139;
static PyObject *__pyx_tuple__140;
static PyObject *__pyx_tuple__141;
static PyObject *__pyx_tuple__142;
static PyObject *__pyx_tuple__143;
static PyObject *__pyx_tuple__144;
static PyObject *__pyx_tuple__145;
static PyObject *__pyx_tuple__146;
static PyObject *__pyx_tuple__147;
static PyObject *__pyx_tuple__148;
static PyObject *__pyx_tuple__149;
static PyObject *__pyx_tuple__150;
static PyObject *__pyx_tuple__151;
static PyObject *__pyx_tuple__152;
static PyObject *__pyx_tuple__153;
static PyObject *__pyx_tuple__154;
static PyObject *__pyx_tuple__155;
static PyObject *__pyx_tuple__156;
static PyObject *__pyx_tuple__157;
static PyObject *__pyx_tuple__158;
static PyObject *__pyx_tuple__159;
static PyObject *__pyx_tuple__160;
static PyObject *__pyx_tuple__161;
static PyObject *__pyx_tuple__162;
static PyObject *__pyx_tuple__164;
static PyObject *__pyx_tuple__165;
static PyObject *__pyx_tuple__166;
static PyObject *__pyx_tuple__167;
static PyObject *__pyx_tuple__168;
static PyObject *__pyx_tuple__169;
static PyObject *__pyx_tuple__170;
static PyObject *__pyx_tuple__171;
static PyObject *__pyx_tuple__172;
static PyObject *__pyx_tuple__173;
static PyObject *__pyx_tuple__174;
static PyObject *__pyx_tuple__175;
static PyObject *__pyx_tuple__176;
static PyObject *__pyx_tuple__177;
static PyObject *__pyx_tuple__178;
static PyObject *__pyx_tuple__182;
static PyObject *__pyx_tuple__183;
static PyObject *__pyx_tuple__184;
static PyObject *__pyx_tuple__185;
static PyObject *__pyx_tuple__186;
static PyObject *__pyx_tuple__187;
static PyObject *__pyx_tuple__188;
static PyObject *__pyx_tuple__191;
static PyObject *__pyx_tuple__192;
static PyObject *__pyx_tuple__193;
static PyObject *__pyx_tuple__194;
static PyObject *__pyx_tuple__195;
static PyObject *__pyx_tuple__196;
static PyObject *__pyx_tuple__197;
static PyObject *__pyx_tuple__198;
static PyObject *__pyx_tuple__199;
static PyObject *__pyx_tuple__200;
static PyObject *__pyx_tuple__201;
static PyObject *__pyx_tuple__202;
static PyObject *__pyx_tuple__203;
static PyObject *__pyx_tuple__204;
static PyObject *__pyx_tuple__205;
static PyObject *__pyx_tuple__206;
static PyObject *__pyx_tuple__207;
static PyObject *__pyx_tuple__208;
static PyObject *__pyx_tuple__209;
static PyObject *__pyx_tuple__210;
static PyObject *__pyx_tuple__211;
static PyObject *__pyx_tuple__212;
static PyObject *__pyx_tuple__213;
static PyObject *__pyx_tuple__214;
static PyObject *__pyx_tuple__215;
static PyObject *__pyx_tuple__216;
static PyObject *__pyx_tuple__217;
static PyObject *__pyx_tuple__218;
static PyObject *__pyx_tuple__219;
static PyObject *__pyx_tuple__220;
static PyObject *__pyx_tuple__221;
static PyObject *__pyx_tuple__222;
static PyObject *__pyx_tuple__223;
static PyObject *__pyx_tuple__224;
static PyObject *__pyx_tuple__225;
static PyObject *__pyx_tuple__226;
static PyObject *__pyx_tuple__227;
static PyObject *__pyx_tuple__228;
static PyObject *__pyx_tuple__229;
static PyObject *__pyx_tuple__230;
static PyObject *__pyx_tuple__231;
static PyObject *__pyx_tuple__232;
static PyObject *__pyx_tuple__233;
static PyObject *__pyx_tuple__235;
static PyObject *__pyx_tuple__236;
static PyObject *__pyx_tuple__237;
static PyObject *__pyx_tuple__238;
static PyObject *__pyx_tuple__239;
static PyObject *__pyx_tuple__240;
static PyObject *__pyx_tuple__241;
static PyObject *__pyx_tuple__242;
static PyObject *__pyx_tuple__243;
static PyObject *__pyx_tuple__244;
static PyObject *__pyx_tuple__245;
static PyObject *__pyx_tuple__246;
static PyObject *__pyx_tuple__247;
static PyObject *__pyx_tuple__248;
static PyObject *__pyx_tuple__249;
static PyObject *__pyx_tuple__250;
static PyObject *__pyx_tuple__252;
static PyObject *__pyx_tuple__253;
static PyObject *__pyx_tuple__254;
static PyObject *__pyx_tuple__255;
static PyObject *__pyx_tuple__256;
static PyObject *__pyx_tuple__257;
static PyObject *__pyx_tuple__258;
static PyObject *__pyx_tuple__259;
static PyObject *__pyx_tuple__260;
static PyObject *__pyx_tuple__261;
static PyObject *__pyx_tuple__262;
static PyObject *__pyx_tuple__263;
static PyObject *__pyx_tuple__265;
static PyObject *__pyx_tuple__266;
static PyObject *__pyx_tuple__267;
static PyObject *__pyx_tuple__268;
static PyObject *__pyx_tuple__269;
static PyObject *__pyx_tuple__270;
static PyObject *__pyx_tuple__271;
static PyObject *__pyx_tuple__272;
static PyObject *__pyx_tuple__273;
static PyObject *__pyx_tuple__274;
static PyObject *__pyx_tuple__275;
static PyObject *__pyx_tuple__276;
static PyObject *__pyx_tuple__277;
static PyObject *__pyx_tuple__278;
static PyObject *__pyx_tuple__279;
static PyObject *__pyx_tuple__280;
static PyObject *__pyx_tuple__281;
static PyObject *__pyx_tuple__282;
static PyObject *__pyx_tuple__283;
static PyObject *__pyx_tuple__284;
static PyObject *__pyx_tuple__285;
static PyObject *__pyx_tuple__286;
static PyObject *__pyx_tuple__287;
static PyObject *__pyx_tuple__288;
static PyObject *__pyx_tuple__289;
static PyObject *__pyx_tuple__290;
static PyObject *__pyx_tuple__291;
static PyObject *__pyx_tuple__292;
static PyObject *__pyx_tuple__293;
static PyObject *__pyx_tuple__294;
static PyObject *__pyx_tuple__295;
static PyObject *__pyx_tuple__296;
static PyObject *__pyx_tuple__297;
static PyObject *__pyx_tuple__298;
static PyObject *__pyx_tuple__299;
static PyObject *__pyx_tuple__300;
static PyObject *__pyx_tuple__301;
static PyObject *__pyx_tuple__302;
static PyObject *__pyx_tuple__303;
static PyObject *__pyx_tuple__304;
static PyObject *__pyx_tuple__305;
static PyObject *__pyx_tuple__306;
static PyObject *__pyx_tuple__307;
static PyObject *__pyx_tuple__308;
static PyObject *__pyx_tuple__309;
static PyObject *__pyx_tuple__311;
static PyObject *__pyx_tuple__312;
static PyObject *__pyx_tuple__313;
static PyObject *__pyx_tuple__314;
static PyObject *__pyx_tuple__315;
static PyObject *__pyx_tuple__316;
static PyObject *__pyx_tuple__317;
static PyObject *__pyx_tuple__318;
static PyObject *__pyx_tuple__319;
static PyObject *__pyx_tuple__320;
static PyObject *__pyx_tuple__321;
static PyObject *__pyx_tuple__322;
static PyObject *__pyx_tuple__323;
static PyObject *__pyx_tuple__324;
static PyObject *__pyx_tuple__325;
static PyObject *__pyx_tuple__326;
static PyObject *__pyx_tuple__327;
static PyObject *__pyx_tuple__328;
static PyObject *__pyx_tuple__329;
static PyObject *__pyx_tuple__330;
static PyObject *__pyx_tuple__331;
static PyObject *__pyx_tuple__332;
static PyObject *__pyx_tuple__333;
static PyObject *__pyx_tuple__334;
static PyObject *__pyx_tuple__335;
static PyObject *__pyx_tuple__336;
static PyObject *__pyx_tuple__337;
static PyObject *__pyx_tuple__338;
static PyObject *__pyx_tuple__339;
static PyObject *__pyx_tuple__340;
static PyObject *__pyx_tuple__341;
static PyObject *__pyx_tuple__342;
static PyObject *__pyx_tuple__343;
static PyObject *__pyx_tuple__344;
static PyObject *__pyx_tuple__345;
static PyObject *__pyx_tuple__346;
static PyObject *__pyx_tuple__347;
static PyObject *__pyx_tuple__348;
static PyObject *__pyx_tuple__349;
static PyObject *__pyx_tuple__350;
static PyObject *__pyx_tuple__351;
static PyObject *__pyx_tuple__352;
static PyObject *__pyx_tuple__353;
static PyObject *__pyx_tuple__354;
static PyObject *__pyx_tuple__355;
static PyObject *__pyx_tuple__356;
static PyObject *__pyx_tuple__357;
static PyObject *__pyx_tuple__358;
static PyObject *__pyx_tuple__359;
static PyObject *__pyx_tuple__360;
static PyObject *__pyx_tuple__361;
static PyObject *__pyx_tuple__362;
static PyObject *__pyx_tuple__363;
static PyObject *__pyx_tuple__364;
static PyObject *__pyx_tuple__365;
static PyObject *__pyx_tuple__366;
static PyObject *__pyx_tuple__367;
static PyObject *__pyx_tuple__368;
static PyObject *__pyx_tuple__369;
static PyObject *__pyx_tuple__370;
static PyObject *__pyx_tuple__371;
static PyObject *__pyx_tuple__372;
static PyObject *__pyx_tuple__373;
static PyObject *__pyx_tuple__374;
static PyObject *__pyx_tuple__376;
static PyObject *__pyx_tuple__377;
static PyObject *__pyx_tuple__378;
static PyObject *__pyx_tuple__379;
static PyObject *__pyx_tuple__380;
static PyObject *__pyx_tuple__381;
static PyObject *__pyx_tuple__382;
static PyObject *__pyx_tuple__383;
static PyObject *__pyx_tuple__384;
static PyObject *__pyx_tuple__385;
static PyObject *__pyx_tuple__386;
static PyObject *__pyx_tuple__387;
static PyObject *__pyx_tuple__388;
static PyObject *__pyx_tuple__389;
static PyObject *__pyx_tuple__390;
static PyObject *__pyx_tuple__391;
static PyObject *__pyx_tuple__392;
static PyObject *__pyx_tuple__393;
static PyObject *__pyx_tuple__394;
static PyObject *__pyx_tuple__395;
static PyObject *__pyx_tuple__396;
static PyObject *__pyx_tuple__397;
static PyObject *__pyx_tuple__399;
static PyObject *__pyx_tuple__400;
static PyObject *__pyx_tuple__401;
static PyObject *__pyx_tuple__402;
static PyObject *__pyx_tuple__403;
static PyObject *__pyx_tuple__404;
static PyObject *__pyx_tuple__405;
static PyObject *__pyx_tuple__406;
static PyObject *__pyx_tuple__407;
static PyObject *__pyx_tuple__408;
static PyObject *__pyx_tuple__409;
static PyObject *__pyx_tuple__410;
static PyObject *__pyx_tuple__411;
static PyObject *__pyx_tuple__412;
static PyObject *__pyx_tuple__413;
static PyObject *__pyx_tuple__414;
static PyObject *__pyx_tuple__415;
static PyObject *__pyx_tuple__416;
static PyObject *__pyx_tuple__417;
static PyObject *__pyx_tuple__418;
static PyObject *__pyx_tuple__419;
static PyObject *__pyx_tuple__420;
static PyObject *__pyx_tuple__421;
static PyObject *__pyx_tuple__422;
static PyObject *__pyx_tuple__423;
static PyObject *__pyx_tuple__424;
static PyObject *__pyx_tuple__425;
static PyObject *__pyx_tuple__426;
static PyObject *__pyx_tuple__427;
static PyObject *__pyx_tuple__428;
static PyObject *__pyx_tuple__429;
static PyObject *__pyx_tuple__430;
static PyObject *__pyx_tuple__431;
static PyObject *__pyx_tuple__432;
static PyObject *__pyx_tuple__433;
static PyObject *__pyx_tuple__434;
static PyObject *__pyx_tuple__435;
static PyObject *__pyx_tuple__436;
static PyObject *__pyx_tuple__437;
static PyObject *__pyx_tuple__438;
static PyObject *__pyx_tuple__439;
static PyObject *__pyx_tuple__440;
static PyObject *__pyx_tuple__441;
static PyObject *__pyx_tuple__442;
static PyObject *__pyx_tuple__443;
static PyObject *__pyx_tuple__444;
static PyObject *__pyx_tuple__445;
static PyObject *__pyx_tuple__446;
static PyObject *__pyx_tuple__447;
static PyObject *__pyx_tuple__448;
static PyObject *__pyx_tuple__449;
static PyObject *__pyx_tuple__450;
static PyObject *__pyx_tuple__451;
static PyObject *__pyx_tuple__452;
static PyObject *__pyx_tuple__453;
static PyObject *__pyx_tuple__454;
static PyObject *__pyx_tuple__455;
static PyObject *__pyx_tuple__456;
static PyObject *__pyx_tuple__457;
static PyObject *__pyx_tuple__458;
static PyObject *__pyx_tuple__459;
static PyObject *__pyx_tuple__460;
static PyObject *__pyx_tuple__461;
static PyObject *__pyx_tuple__462;
static PyObject *__pyx_tuple__463;
static PyObject *__pyx_tuple__464;
static PyObject *__pyx_tuple__465;
static PyObject *__pyx_tuple__466;
static PyObject *__pyx_tuple__467;
static PyObject *__pyx_tuple__468;
static PyObject *__pyx_tuple__470;
static PyObject *__pyx_tuple__471;
static PyObject *__pyx_tuple__472;
static PyObject *__pyx_tuple__473;
static PyObject *__pyx_tuple__474;
static PyObject *__pyx_tuple__475;
static PyObject *__pyx_tuple__476;
static PyObject *__pyx_tuple__480;
static PyObject *__pyx_tuple__481;
static PyObject *__pyx_tuple__482;
static PyObject *__pyx_tuple__483;
static PyObject *__pyx_tuple__484;
static PyObject *__pyx_tuple__485;
static PyObject *__pyx_tuple__486;
static PyObject *__pyx_tuple__487;
static PyObject *__pyx_tuple__488;
static PyObject *__pyx_tuple__489;
static PyObject *__pyx_tuple__490;
static PyObject *__pyx_tuple__491;
static PyObject *__pyx_tuple__492;
static PyObject *__pyx_tuple__493;
static PyObject *__pyx_tuple__494;
static PyObject *__pyx_tuple__495;
static PyObject *__pyx_tuple__497;
static PyObject *__pyx_tuple__500;
static PyObject *__pyx_tuple__502;
static PyObject *__pyx_tuple__504;
static PyObject *__pyx_tuple__508;
static PyObject *__pyx_tuple__510;
static PyObject *__pyx_tuple__512;
static PyObject *__pyx_tuple__514;
static PyObject *__pyx_tuple__516;
static PyObject *__pyx_tuple__518;
static PyObject *__pyx_tuple__520;
static PyObject *__pyx_tuple__522;
static PyObject *__pyx_tuple__524;
static PyObject *__pyx_tuple__526;
static PyObject *__pyx_tuple__528;
static PyObject *__pyx_tuple__530;
static PyObject *__pyx_tuple__532;
static PyObject *__pyx_tuple__534;
static PyObject *__pyx_tuple__536;
static PyObject *__pyx_tuple__538;
static PyObject *__pyx_tuple__540;
static PyObject *__pyx_tuple__542;
static PyObject *__pyx_tuple__544;
static PyObject *__pyx_tuple__546;
static PyObject *__pyx_tuple__548;
static PyObject *__pyx_tuple__550;
static PyObject *__pyx_tuple__552;
static PyObject *__pyx_tuple__554;
static PyObject *__pyx_tuple__556;
static PyObject *__pyx_tuple__558;
static PyObject *__pyx_tuple__560;
static PyObject *__pyx_tuple__562;
static PyObject *__pyx_tuple__564;
static PyObject *__pyx_tuple__566;
static PyObject *__pyx_tuple__568;
static PyObject *__pyx_tuple__570;
static PyObject *__pyx_tuple__572;
static PyObject *__pyx_tuple__574;
static PyObject *__pyx_tuple__576;
static PyObject *__pyx_tuple__578;
static PyObject *__pyx_tuple__580;
static PyObject *__pyx_tuple__582;
static PyObject *__pyx_tuple__584;
static PyObject *__pyx_tuple__586;
static PyObject *__pyx_tuple__588;
static PyObject *__pyx_tuple__590;
static PyObject *__pyx_tuple__592;
static PyObject *__pyx_tuple__594;
static PyObject *__pyx_tuple__596;
static PyObject *__pyx_tuple__598;
static PyObject *__pyx_tuple__599;
static PyObject *__pyx_tuple__601;
static PyObject *__pyx_tuple__602;
static PyObject *__pyx_tuple__604;
static PyObject *__pyx_tuple__606;
static PyObject *__pyx_tuple__608;
static PyObject *__pyx_tuple__610;
static PyObject *__pyx_tuple__612;
static PyObject *__pyx_tuple__614;
static PyObject *__pyx_tuple__616;
static PyObject *__pyx_tuple__618;
static PyObject *__pyx_tuple__620;
static PyObject *__pyx_tuple__622;
static PyObject *__pyx_tuple__624;
static PyObject *__pyx_tuple__626;
static PyObject *__pyx_tuple__628;
static PyObject *__pyx_tuple__630;
static PyObject *__pyx_tuple__632;
static PyObject *__pyx_tuple__634;
static PyObject *__pyx_tuple__636;
static PyObject *__pyx_tuple__638;
static PyObject *__pyx_tuple__640;
static PyObject *__pyx_tuple__642;
static PyObject *__pyx_tuple__644;
static PyObject *__pyx_tuple__646;
static PyObject *__pyx_tuple__648;
static PyObject *__pyx_codeobj__375;
static PyObject *__pyx_codeobj__496;
static PyObject *__pyx_codeobj__498;
static PyObject *__pyx_codeobj__499;
static PyObject *__pyx_codeobj__501;
static PyObject *__pyx_codeobj__503;
static PyObject *__pyx_codeobj__505;
static PyObject *__pyx_codeobj__506;
static PyObject *__pyx_codeobj__507;
static PyObject *__pyx_codeobj__509;
static PyObject *__pyx_codeobj__511;
static PyObject *__pyx_codeobj__513;
static PyObject *__pyx_codeobj__515;
static PyObject *__pyx_codeobj__517;
static PyObject *__pyx_codeobj__519;
static PyObject *__pyx_codeobj__521;
static PyObject *__pyx_codeobj__523;
static PyObject *__pyx_codeobj__525;
static PyObject *__pyx_codeobj__527;
static PyObject *__pyx_codeobj__529;
static PyObject *__pyx_codeobj__531;
static PyObject *__pyx_codeobj__533;
static PyObject *__pyx_codeobj__535;
static PyObject *__pyx_codeobj__537;
static PyObject *__pyx_codeobj__539;
static PyObject *__pyx_codeobj__541;
static PyObject *__pyx_codeobj__543;
static PyObject *__pyx_codeobj__545;
static PyObject *__pyx_codeobj__547;
static PyObject *__pyx_codeobj__549;
static PyObject *__pyx_codeobj__551;
static PyObject *__pyx_codeobj__553;
static PyObject *__pyx_codeobj__555;
static PyObject *__pyx_codeobj__557;
static PyObject *__pyx_codeobj__559;
static PyObject *__pyx_codeobj__561;
static PyObject *__pyx_codeobj__563;
static PyObject *__pyx_codeobj__565;
static PyObject *__pyx_codeobj__567;
static PyObject *__pyx_codeobj__569;
static PyObject *__pyx_codeobj__571;
static PyObject *__pyx_codeobj__573;
static PyObject *__pyx_codeobj__575;
static PyObject *__pyx_codeobj__577;
static PyObject *__pyx_codeobj__579;
static PyObject *__pyx_codeobj__581;
static PyObject *__pyx_codeobj__583;
static PyObject *__pyx_codeobj__585;
static PyObject *__pyx_codeobj__587;
static PyObject *__pyx_codeobj__589;
static PyObject *__pyx_codeobj__591;
static PyObject *__pyx_codeobj__593;
static PyObject *__pyx_codeobj__595;
static PyObject *__pyx_codeobj__597;
static PyObject *__pyx_codeobj__600;
static PyObject *__pyx_codeobj__603;
static PyObject *__pyx_codeobj__605;
static PyObject *__pyx_codeobj__607;
static PyObject *__pyx_codeobj__609;
static PyObject *__pyx_codeobj__611;
static PyObject *__pyx_codeobj__613;
static PyObject *__pyx_codeobj__615;
static PyObject *__pyx_codeobj__617;
static PyObject *__pyx_codeobj__619;
static PyObject *__pyx_codeobj__621;
static PyObject *__pyx_codeobj__623;
static PyObject *__pyx_codeobj__625;
static PyObject *__pyx_codeobj__627;
static PyObject *__pyx_codeobj__629;
static PyObject *__pyx_codeobj__631;
static PyObject *__pyx_codeobj__633;
static PyObject *__pyx_codeobj__635;
static PyObject *__pyx_codeobj__637;
static PyObject *__pyx_codeobj__639;
static PyObject *__pyx_codeobj__641;
static PyObject *__pyx_codeobj__643;
static PyObject *__pyx_codeobj__645;
static PyObject *__pyx_codeobj__647;
static PyObject *__pyx_codeobj__649;
/* Late includes */

/* "networkit/_NetworKit.pyx":79
 * # Cython helper functions
 * 
 * def stdstring(pystring):             # <<<<<<<<<<<<<<
 * 	""" convert a Python string to a bytes object which is automatically coerced to std::string"""
 * 	pybytes = pystring.encode("utf-8")
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_1stdstring(PyObject *__pyx_self, PyObject *__pyx_v_pystring); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_stdstring[] = " convert a Python string to a bytes object which is automatically coerced to std::string";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_1stdstring = {"stdstring", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_1stdstring, METH_O, __pyx_doc_9networkit_10_NetworKit_stdstring};
static PyObject *__pyx_pw_9networkit_10_NetworKit_1stdstring(PyObject *__pyx_self, PyObject *__pyx_v_pystring) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("stdstring (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_stdstring(__pyx_self, ((PyObject *)__pyx_v_pystring));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_stdstring(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pystring) {
  PyObject *__pyx_v_pybytes = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("stdstring", 0);

  /* "networkit/_NetworKit.pyx":81
 * def stdstring(pystring):
 * 	""" convert a Python string to a bytes object which is automatically coerced to std::string"""
 * 	pybytes = pystring.encode("utf-8")             # <<<<<<<<<<<<<<
 * 	return pybytes
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_pystring, __pyx_n_s_encode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 81, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_u_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_u_utf_8);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 81, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_pybytes = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":82
 * 	""" convert a Python string to a bytes object which is automatically coerced to std::string"""
 * 	pybytes = pystring.encode("utf-8")
 * 	return pybytes             # <<<<<<<<<<<<<<
 * 
 * def pystring(stdstring):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_pybytes);
  __pyx_r = __pyx_v_pybytes;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":79
 * # Cython helper functions
 * 
 * def stdstring(pystring):             # <<<<<<<<<<<<<<
 * 	""" convert a Python string to a bytes object which is automatically coerced to std::string"""
 * 	pybytes = pystring.encode("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("networkit._NetworKit.stdstring", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pybytes);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":84
 * 	return pybytes
 * 
 * def pystring(stdstring):             # <<<<<<<<<<<<<<
 * 	""" convert a std::string (= python byte string) to a normal Python string"""
 * 	return stdstring.decode("utf-8")
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_3pystring(PyObject *__pyx_self, PyObject *__pyx_v_stdstring); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_2pystring[] = " convert a std::string (= python byte string) to a normal Python string";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_3pystring = {"pystring", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_3pystring, METH_O, __pyx_doc_9networkit_10_NetworKit_2pystring};
static PyObject *__pyx_pw_9networkit_10_NetworKit_3pystring(PyObject *__pyx_self, PyObject *__pyx_v_stdstring) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("pystring (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_2pystring(__pyx_self, ((PyObject *)__pyx_v_stdstring));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_2pystring(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stdstring) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("pystring", 0);

  /* "networkit/_NetworKit.pyx":86
 * def pystring(stdstring):
 * 	""" convert a std::string (= python byte string) to a normal Python string"""
 * 	return stdstring.decode("utf-8")             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_stdstring, __pyx_n_s_decode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 86, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_u_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_u_utf_8);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 86, __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;

  /* "networkit/_NetworKit.pyx":84
 * 	return pybytes
 * 
 * def pystring(stdstring):             # <<<<<<<<<<<<<<
 * 	""" convert a std::string (= python byte string) to a normal Python string"""
 * 	return stdstring.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("networkit._NetworKit.pystring", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":102
 * 	cdef _Algorithm *_this
 * 
 * 	def __init__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == Algorithm:
 * 			raise RuntimeError("Error, you may not use Algorithm directly, use a sub-class instead")
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_namedargs = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Algorithm___init__(((struct __pyx_obj_9networkit_10_NetworKit_Algorithm *)__pyx_v_self), __pyx_v_args, __pyx_v_namedargs);

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

static int __pyx_pf_9networkit_10_NetworKit_9Algorithm___init__(struct __pyx_obj_9networkit_10_NetworKit_Algorithm *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "networkit/_NetworKit.pyx":103
 * 
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == Algorithm:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use Algorithm directly, use a sub-class instead")
 * 
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), ((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Algorithm), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 103, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 103, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(__pyx_t_2)) {

    /* "networkit/_NetworKit.pyx":104
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == Algorithm:
 * 			raise RuntimeError("Error, you may not use Algorithm directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def __cinit__(self, *args, **namedargs):
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 104, __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(0, 104, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":103
 * 
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == Algorithm:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use Algorithm directly, use a sub-class instead")
 * 
 */
  }

  /* "networkit/_NetworKit.pyx":102
 * 	cdef _Algorithm *_this
 * 
 * 	def __init__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == Algorithm:
 * 			raise RuntimeError("Error, you may not use Algorithm directly, use a sub-class instead")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Algorithm.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":106
 * 			raise RuntimeError("Error, you may not use Algorithm directly, use a sub-class instead")
 * 
 * 	def __cinit__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		self._this = NULL
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_9Algorithm_3__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_9Algorithm_3__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_namedargs = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Algorithm_2__cinit__(((struct __pyx_obj_9networkit_10_NetworKit_Algorithm *)__pyx_v_self), __pyx_v_args, __pyx_v_namedargs);

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

static int __pyx_pf_9networkit_10_NetworKit_9Algorithm_2__cinit__(struct __pyx_obj_9networkit_10_NetworKit_Algorithm *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":107
 * 
 * 	def __cinit__(self, *args, **namedargs):
 * 		self._this = NULL             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  __pyx_v_self->_this = NULL;

  /* "networkit/_NetworKit.pyx":106
 * 			raise RuntimeError("Error, you may not use Algorithm directly, use a sub-class instead")
 * 
 * 	def __cinit__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		self._this = NULL
 * 
 */

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

/* "networkit/_NetworKit.pyx":109
 * 		self._this = NULL
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		if self._this != NULL:
 * 			del self._this
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_9Algorithm_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_9Algorithm_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_9Algorithm_4__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_Algorithm *)__pyx_v_self));

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

static void __pyx_pf_9networkit_10_NetworKit_9Algorithm_4__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_Algorithm *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":110
 * 
 * 	def __dealloc__(self):
 * 		if self._this != NULL:             # <<<<<<<<<<<<<<
 * 			del self._this
 * 		self._this = NULL
 */
  __pyx_t_1 = ((__pyx_v_self->_this != NULL) != 0);
  if (__pyx_t_1) {

    /* "networkit/_NetworKit.pyx":111
 * 	def __dealloc__(self):
 * 		if self._this != NULL:
 * 			del self._this             # <<<<<<<<<<<<<<
 * 		self._this = NULL
 * 
 */
    delete __pyx_v_self->_this;

    /* "networkit/_NetworKit.pyx":110
 * 
 * 	def __dealloc__(self):
 * 		if self._this != NULL:             # <<<<<<<<<<<<<<
 * 			del self._this
 * 		self._this = NULL
 */
  }

  /* "networkit/_NetworKit.pyx":112
 * 		if self._this != NULL:
 * 			del self._this
 * 		self._this = NULL             # <<<<<<<<<<<<<<
 * 
 * 	def run(self):
 */
  __pyx_v_self->_this = NULL;

  /* "networkit/_NetworKit.pyx":109
 * 		self._this = NULL
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		if self._this != NULL:
 * 			del self._this
 */

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

/* "networkit/_NetworKit.pyx":114
 * 		self._this = NULL
 * 
 * 	def run(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Executes the algorithm.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Algorithm_7run(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Algorithm_6run[] = "\n\t\tExecutes the algorithm.\n\n\t\tReturns\n\t\t-------\n\t\tAlgorithm:\n\t\t\tself\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Algorithm_7run(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Algorithm_6run(((struct __pyx_obj_9networkit_10_NetworKit_Algorithm *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Algorithm_6run(struct __pyx_obj_9networkit_10_NetworKit_Algorithm *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":123
 * 			self
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		with nogil:
 */
  __pyx_t_1 = ((__pyx_v_self->_this == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":124
 * 		"""
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")             # <<<<<<<<<<<<<<
 * 		with nogil:
 * 			self._this.run()
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 124, __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(0, 124, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":123
 * 			self
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		with nogil:
 */
  }

  /* "networkit/_NetworKit.pyx":125
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.run()
 * 		return self
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":126
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		with nogil:
 * 			self._this.run()             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
        try {
          __pyx_v_self->_this->run();
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 126, __pyx_L5_error)
        }
      }

      /* "networkit/_NetworKit.pyx":125
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.run()
 * 		return self
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L6;
        }
        __pyx_L5_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L6:;
      }
  }

  /* "networkit/_NetworKit.pyx":127
 * 		with nogil:
 * 			self._this.run()
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def hasFinished(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":114
 * 		self._this = NULL
 * 
 * 	def run(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Executes the algorithm.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Algorithm.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":129
 * 		return self
 * 
 * 	def hasFinished(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		States whether an algorithm has already run.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Algorithm_9hasFinished(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Algorithm_8hasFinished[] = "\n\t\tStates whether an algorithm has already run.\n\n\t\tReturns\n\t\t-------\n\t\tAlgorithm:\n\t\t\tself\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Algorithm_9hasFinished(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("hasFinished (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Algorithm_8hasFinished(((struct __pyx_obj_9networkit_10_NetworKit_Algorithm *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Algorithm_8hasFinished(struct __pyx_obj_9networkit_10_NetworKit_Algorithm *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  bool __pyx_t_3;
  __Pyx_RefNannySetupContext("hasFinished", 0);

  /* "networkit/_NetworKit.pyx":138
 * 			self
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return self._this.hasFinished()
 */
  __pyx_t_1 = ((__pyx_v_self->_this == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":139
 * 		"""
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")             # <<<<<<<<<<<<<<
 * 		return self._this.hasFinished()
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 139, __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(0, 139, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":138
 * 			self
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return self._this.hasFinished()
 */
  }

  /* "networkit/_NetworKit.pyx":140
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return self._this.hasFinished()             # <<<<<<<<<<<<<<
 * 
 * 	def toString(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_3 = __pyx_v_self->_this->hasFinished();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 140, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":129
 * 		return self
 * 
 * 	def hasFinished(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		States whether an algorithm has already run.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Algorithm.hasFinished", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":142
 * 		return self._this.hasFinished()
 * 
 * 	def toString(self):             # <<<<<<<<<<<<<<
 * 		""" Get string representation.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Algorithm_11toString(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Algorithm_10toString[] = " Get string representation.\n\n\t\tReturns\n\t\t-------\n\t\tstring\n\t\t\tString representation of algorithm and parameters.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Algorithm_11toString(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("toString (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Algorithm_10toString(((struct __pyx_obj_9networkit_10_NetworKit_Algorithm *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Algorithm_10toString(struct __pyx_obj_9networkit_10_NetworKit_Algorithm *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  std::string __pyx_t_3;
  __Pyx_RefNannySetupContext("toString", 0);

  /* "networkit/_NetworKit.pyx":150
 * 			String representation of algorithm and parameters.
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return self._this.toString().decode("utf-8")
 */
  __pyx_t_1 = ((__pyx_v_self->_this == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":151
 * 		"""
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")             # <<<<<<<<<<<<<<
 * 		return self._this.toString().decode("utf-8")
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 151, __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(0, 151, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":150
 * 			String representation of algorithm and parameters.
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return self._this.toString().decode("utf-8")
 */
  }

  /* "networkit/_NetworKit.pyx":152
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return self._this.toString().decode("utf-8")             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_3 = __pyx_v_self->_this->toString();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 152, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_decode_cpp_string(__pyx_t_3, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":142
 * 		return self._this.hasFinished()
 * 
 * 	def toString(self):             # <<<<<<<<<<<<<<
 * 		""" Get string representation.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Algorithm.toString", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":155
 * 
 * 
 * 	def isParallel(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Algorithm_13isParallel(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Algorithm_12isParallel[] = "\n\t\tReturns\n\t\t-------\n\t\tbool\n\t\t\tTrue if algorithm can run multi-threaded\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Algorithm_13isParallel(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isParallel (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Algorithm_12isParallel(((struct __pyx_obj_9networkit_10_NetworKit_Algorithm *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Algorithm_12isParallel(struct __pyx_obj_9networkit_10_NetworKit_Algorithm *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  bool __pyx_t_3;
  __Pyx_RefNannySetupContext("isParallel", 0);

  /* "networkit/_NetworKit.pyx":162
 * 			True if algorithm can run multi-threaded
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return self._this.isParallel()
 */
  __pyx_t_1 = ((__pyx_v_self->_this == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":163
 * 		"""
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")             # <<<<<<<<<<<<<<
 * 		return self._this.isParallel()
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 163, __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(0, 163, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":162
 * 			True if algorithm can run multi-threaded
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return self._this.isParallel()
 */
  }

  /* "networkit/_NetworKit.pyx":164
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return self._this.isParallel()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_3 = __pyx_v_self->_this->isParallel();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 164, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":155
 * 
 * 
 * 	def isParallel(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Algorithm.isParallel", __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_9networkit_10_NetworKit_9Algorithm_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Algorithm_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Algorithm_14__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Algorithm *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Algorithm_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Algorithm *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Algorithm.__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_9networkit_10_NetworKit_9Algorithm_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Algorithm_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Algorithm_16__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Algorithm *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Algorithm_16__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Algorithm *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Algorithm.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":177
 * 	cdef _StaticGraphGenerator *_this
 * 
 * 	def __init__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == StaticGraphGenerator:
 * 			raise RuntimeError("Error, you may not use StaticGraphGenerator directly, use a sub-class instead")
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_namedargs = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20StaticGraphGenerator___init__(((struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator *)__pyx_v_self), __pyx_v_args, __pyx_v_namedargs);

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

static int __pyx_pf_9networkit_10_NetworKit_20StaticGraphGenerator___init__(struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "networkit/_NetworKit.pyx":178
 * 
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == StaticGraphGenerator:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use StaticGraphGenerator directly, use a sub-class instead")
 * 
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), ((PyObject *)__pyx_ptype_9networkit_10_NetworKit_StaticGraphGenerator), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 178, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 178, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(__pyx_t_2)) {

    /* "networkit/_NetworKit.pyx":179
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == StaticGraphGenerator:
 * 			raise RuntimeError("Error, you may not use StaticGraphGenerator directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def __cinit__(self, *args, **namedargs):
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 179, __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(0, 179, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":178
 * 
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == StaticGraphGenerator:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use StaticGraphGenerator directly, use a sub-class instead")
 * 
 */
  }

  /* "networkit/_NetworKit.pyx":177
 * 	cdef _StaticGraphGenerator *_this
 * 
 * 	def __init__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == StaticGraphGenerator:
 * 			raise RuntimeError("Error, you may not use StaticGraphGenerator directly, use a sub-class instead")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.StaticGraphGenerator.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":181
 * 			raise RuntimeError("Error, you may not use StaticGraphGenerator directly, use a sub-class instead")
 * 
 * 	def __cinit__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		self._this = NULL
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_3__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_3__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_namedargs = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20StaticGraphGenerator_2__cinit__(((struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator *)__pyx_v_self), __pyx_v_args, __pyx_v_namedargs);

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

static int __pyx_pf_9networkit_10_NetworKit_20StaticGraphGenerator_2__cinit__(struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":182
 * 
 * 	def __cinit__(self, *args, **namedargs):
 * 		self._this = NULL             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  __pyx_v_self->_this = NULL;

  /* "networkit/_NetworKit.pyx":181
 * 			raise RuntimeError("Error, you may not use StaticGraphGenerator directly, use a sub-class instead")
 * 
 * 	def __cinit__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		self._this = NULL
 * 
 */

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

/* "networkit/_NetworKit.pyx":184
 * 		self._this = NULL
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		if self._this != NULL:
 * 			del self._this
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_20StaticGraphGenerator_4__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator *)__pyx_v_self));

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

static void __pyx_pf_9networkit_10_NetworKit_20StaticGraphGenerator_4__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":185
 * 
 * 	def __dealloc__(self):
 * 		if self._this != NULL:             # <<<<<<<<<<<<<<
 * 			del self._this
 * 		self._this = NULL
 */
  __pyx_t_1 = ((__pyx_v_self->_this != NULL) != 0);
  if (__pyx_t_1) {

    /* "networkit/_NetworKit.pyx":186
 * 	def __dealloc__(self):
 * 		if self._this != NULL:
 * 			del self._this             # <<<<<<<<<<<<<<
 * 		self._this = NULL
 * 
 */
    delete __pyx_v_self->_this;

    /* "networkit/_NetworKit.pyx":185
 * 
 * 	def __dealloc__(self):
 * 		if self._this != NULL:             # <<<<<<<<<<<<<<
 * 			del self._this
 * 		self._this = NULL
 */
  }

  /* "networkit/_NetworKit.pyx":187
 * 		if self._this != NULL:
 * 			del self._this
 * 		self._this = NULL             # <<<<<<<<<<<<<<
 * 
 * 	def generate(self):
 */
  __pyx_v_self->_this = NULL;

  /* "networkit/_NetworKit.pyx":184
 * 		self._this = NULL
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		if self._this != NULL:
 * 			del self._this
 */

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

/* "networkit/_NetworKit.pyx":189
 * 		self._this = NULL
 * 
 * 	def generate(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Generates the graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_7generate(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_20StaticGraphGenerator_6generate[] = "\n\t\tGenerates the graph.\n\n\t\tReturns\n\t\t-------\n\t\tnetworkit.Graph\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_7generate(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generate (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20StaticGraphGenerator_6generate(((struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20StaticGraphGenerator_6generate(struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  NetworKit::Graph __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("generate", 0);

  /* "networkit/_NetworKit.pyx":197
 * 		networkit.Graph
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return Graph().setThis(self._this.generate())
 */
  __pyx_t_1 = ((__pyx_v_self->_this == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":198
 * 		"""
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")             # <<<<<<<<<<<<<<
 * 		return Graph().setThis(self._this.generate())
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 198, __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(0, 198, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":197
 * 		networkit.Graph
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return Graph().setThis(self._this.generate())
 */
  }

  /* "networkit/_NetworKit.pyx":199
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return Graph().setThis(self._this.generate())             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  try {
    __pyx_t_3 = __pyx_v_self->_this->generate();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 199, __pyx_L1_error)
  }
  __pyx_t_4 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_2)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_2), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 199, __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;

  /* "networkit/_NetworKit.pyx":189
 * 		self._this = NULL
 * 
 * 	def generate(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Generates the graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("networkit._NetworKit.StaticGraphGenerator.generate", __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_9networkit_10_NetworKit_20StaticGraphGenerator_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20StaticGraphGenerator_8__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20StaticGraphGenerator_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.StaticGraphGenerator.__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_9networkit_10_NetworKit_20StaticGraphGenerator_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20StaticGraphGenerator_10__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20StaticGraphGenerator_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.StaticGraphGenerator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":211
 * 	void _setPrintLocation "Aux::Log::Settings::setPrintLocation" (bool_t) except +
 * 
 * def getLogLevel():             # <<<<<<<<<<<<<<
 * 	""" Get the current log level"""
 * 	return pystring(_getLogLevel())
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5getLogLevel(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_4getLogLevel[] = " Get the current log level";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_5getLogLevel = {"getLogLevel", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5getLogLevel, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_4getLogLevel};
static PyObject *__pyx_pw_9networkit_10_NetworKit_5getLogLevel(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLogLevel (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4getLogLevel(__pyx_self);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_4getLogLevel(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  std::string __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("getLogLevel", 0);

  /* "networkit/_NetworKit.pyx":213
 * def getLogLevel():
 * 	""" Get the current log level"""
 * 	return pystring(_getLogLevel())             # <<<<<<<<<<<<<<
 * 
 * def setLogLevel(loglevel):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pystring); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  try {
    __pyx_t_3 = Aux::Log::getLogLevel();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 213, __pyx_L1_error)
  }
  __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __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(0, 213, __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;

  /* "networkit/_NetworKit.pyx":211
 * 	void _setPrintLocation "Aux::Log::Settings::setPrintLocation" (bool_t) except +
 * 
 * def getLogLevel():             # <<<<<<<<<<<<<<
 * 	""" Get the current log level"""
 * 	return pystring(_getLogLevel())
 */

  /* 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("networkit._NetworKit.getLogLevel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":215
 * 	return pystring(_getLogLevel())
 * 
 * def setLogLevel(loglevel):             # <<<<<<<<<<<<<<
 * 	""" Set the current loglevel"""
 * 	_setLogLevel(stdstring(loglevel))
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_7setLogLevel(PyObject *__pyx_self, PyObject *__pyx_v_loglevel); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_6setLogLevel[] = " Set the current loglevel";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_7setLogLevel = {"setLogLevel", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_7setLogLevel, METH_O, __pyx_doc_9networkit_10_NetworKit_6setLogLevel};
static PyObject *__pyx_pw_9networkit_10_NetworKit_7setLogLevel(PyObject *__pyx_self, PyObject *__pyx_v_loglevel) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setLogLevel (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_6setLogLevel(__pyx_self, ((PyObject *)__pyx_v_loglevel));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_6setLogLevel(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_loglevel) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::string __pyx_t_4;
  __Pyx_RefNannySetupContext("setLogLevel", 0);

  /* "networkit/_NetworKit.pyx":217
 * def setLogLevel(loglevel):
 * 	""" Set the current loglevel"""
 * 	_setLogLevel(stdstring(loglevel))             # <<<<<<<<<<<<<<
 * 
 * def setPrintLocation(flag):
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 217, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_loglevel) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_loglevel);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 217, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 217, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  try {
    Aux::Log::setLogLevel(__pyx_t_4);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 217, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":215
 * 	return pystring(_getLogLevel())
 * 
 * def setLogLevel(loglevel):             # <<<<<<<<<<<<<<
 * 	""" Set the current loglevel"""
 * 	_setLogLevel(stdstring(loglevel))
 */

  /* 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("networkit._NetworKit.setLogLevel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":219
 * 	_setLogLevel(stdstring(loglevel))
 * 
 * def setPrintLocation(flag):             # <<<<<<<<<<<<<<
 * 	""" Switch locations in log statements on or off"""
 * 	_setPrintLocation(flag)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9setPrintLocation(PyObject *__pyx_self, PyObject *__pyx_v_flag); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_8setPrintLocation[] = " Switch locations in log statements on or off";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_9setPrintLocation = {"setPrintLocation", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9setPrintLocation, METH_O, __pyx_doc_9networkit_10_NetworKit_8setPrintLocation};
static PyObject *__pyx_pw_9networkit_10_NetworKit_9setPrintLocation(PyObject *__pyx_self, PyObject *__pyx_v_flag) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setPrintLocation (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8setPrintLocation(__pyx_self, ((PyObject *)__pyx_v_flag));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_8setPrintLocation(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_flag) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  __Pyx_RefNannySetupContext("setPrintLocation", 0);

  /* "networkit/_NetworKit.pyx":221
 * def setPrintLocation(flag):
 * 	""" Switch locations in log statements on or off"""
 * 	_setPrintLocation(flag)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/auxiliary/Parallelism.hpp>" namespace "Aux":
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_flag); if (unlikely((__pyx_t_1 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 221, __pyx_L1_error)
  try {
    Aux::Log::Settings::setPrintLocation(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 221, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":219
 * 	_setLogLevel(stdstring(loglevel))
 * 
 * def setPrintLocation(flag):             # <<<<<<<<<<<<<<
 * 	""" Switch locations in log statements on or off"""
 * 	_setPrintLocation(flag)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.setPrintLocation", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":230
 * 	void _enableNestedParallelism "Aux::enableNestedParallelism" ()
 * 
 * def setNumberOfThreads(nThreads):             # <<<<<<<<<<<<<<
 * 	""" Set the number of OpenMP threads """
 * 	_setNumberOfThreads(nThreads)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_11setNumberOfThreads(PyObject *__pyx_self, PyObject *__pyx_v_nThreads); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10setNumberOfThreads[] = " Set the number of OpenMP threads ";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_11setNumberOfThreads = {"setNumberOfThreads", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11setNumberOfThreads, METH_O, __pyx_doc_9networkit_10_NetworKit_10setNumberOfThreads};
static PyObject *__pyx_pw_9networkit_10_NetworKit_11setNumberOfThreads(PyObject *__pyx_self, PyObject *__pyx_v_nThreads) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setNumberOfThreads (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10setNumberOfThreads(__pyx_self, ((PyObject *)__pyx_v_nThreads));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_10setNumberOfThreads(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_nThreads) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("setNumberOfThreads", 0);

  /* "networkit/_NetworKit.pyx":232
 * def setNumberOfThreads(nThreads):
 * 	""" Set the number of OpenMP threads """
 * 	_setNumberOfThreads(nThreads)             # <<<<<<<<<<<<<<
 * 
 * def getCurrentNumberOfThreads():
 */
  __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_nThreads); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 232, __pyx_L1_error)
  Aux::setNumberOfThreads(__pyx_t_1);

  /* "networkit/_NetworKit.pyx":230
 * 	void _enableNestedParallelism "Aux::enableNestedParallelism" ()
 * 
 * def setNumberOfThreads(nThreads):             # <<<<<<<<<<<<<<
 * 	""" Set the number of OpenMP threads """
 * 	_setNumberOfThreads(nThreads)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.setNumberOfThreads", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":234
 * 	_setNumberOfThreads(nThreads)
 * 
 * def getCurrentNumberOfThreads():             # <<<<<<<<<<<<<<
 * 	""" Get the number of currently running threads"""
 * 	return _getCurrentNumberOfThreads()
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_13getCurrentNumberOfThreads(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_12getCurrentNumberOfThreads[] = " Get the number of currently running threads";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_13getCurrentNumberOfThreads = {"getCurrentNumberOfThreads", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_13getCurrentNumberOfThreads, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_12getCurrentNumberOfThreads};
static PyObject *__pyx_pw_9networkit_10_NetworKit_13getCurrentNumberOfThreads(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getCurrentNumberOfThreads (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12getCurrentNumberOfThreads(__pyx_self);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_12getCurrentNumberOfThreads(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("getCurrentNumberOfThreads", 0);

  /* "networkit/_NetworKit.pyx":236
 * def getCurrentNumberOfThreads():
 * 	""" Get the number of currently running threads"""
 * 	return _getCurrentNumberOfThreads()             # <<<<<<<<<<<<<<
 * 
 * def getMaxNumberOfThreads():
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(Aux::getCurrentNumberOfThreads()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":234
 * 	_setNumberOfThreads(nThreads)
 * 
 * def getCurrentNumberOfThreads():             # <<<<<<<<<<<<<<
 * 	""" Get the number of currently running threads"""
 * 	return _getCurrentNumberOfThreads()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.getCurrentNumberOfThreads", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":238
 * 	return _getCurrentNumberOfThreads()
 * 
 * def getMaxNumberOfThreads():             # <<<<<<<<<<<<<<
 * 	""" Get the maximum number of available threads"""
 * 	return _getMaxNumberOfThreads()
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15getMaxNumberOfThreads(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_14getMaxNumberOfThreads[] = " Get the maximum number of available threads";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_15getMaxNumberOfThreads = {"getMaxNumberOfThreads", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15getMaxNumberOfThreads, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_14getMaxNumberOfThreads};
static PyObject *__pyx_pw_9networkit_10_NetworKit_15getMaxNumberOfThreads(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getMaxNumberOfThreads (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14getMaxNumberOfThreads(__pyx_self);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14getMaxNumberOfThreads(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("getMaxNumberOfThreads", 0);

  /* "networkit/_NetworKit.pyx":240
 * def getMaxNumberOfThreads():
 * 	""" Get the maximum number of available threads"""
 * 	return _getMaxNumberOfThreads()             # <<<<<<<<<<<<<<
 * 
 * def enableNestedParallelism():
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(Aux::getMaxNumberOfThreads()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":238
 * 	return _getCurrentNumberOfThreads()
 * 
 * def getMaxNumberOfThreads():             # <<<<<<<<<<<<<<
 * 	""" Get the maximum number of available threads"""
 * 	return _getMaxNumberOfThreads()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.getMaxNumberOfThreads", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":242
 * 	return _getMaxNumberOfThreads()
 * 
 * def enableNestedParallelism():             # <<<<<<<<<<<<<<
 * 	""" Enable nested parallelism for OpenMP"""
 * 	from warnings import warn
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_17enableNestedParallelism(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_16enableNestedParallelism[] = " Enable nested parallelism for OpenMP";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_17enableNestedParallelism = {"enableNestedParallelism", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17enableNestedParallelism, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_16enableNestedParallelism};
static PyObject *__pyx_pw_9networkit_10_NetworKit_17enableNestedParallelism(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("enableNestedParallelism (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16enableNestedParallelism(__pyx_self);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_16enableNestedParallelism(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_v_warn = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("enableNestedParallelism", 0);

  /* "networkit/_NetworKit.pyx":244
 * def enableNestedParallelism():
 * 	""" Enable nested parallelism for OpenMP"""
 * 	from warnings import warn             # <<<<<<<<<<<<<<
 * 	warn("Nested parallelism has been deprecated.")
 * 
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":245
 * 	""" Enable nested parallelism for OpenMP"""
 * 	from warnings import warn
 * 	warn("Nested parallelism has been deprecated.")             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/auxiliary/Random.hpp>" namespace "Aux::Random":
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Nested_parallelism_has_been_depr) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Nested_parallelism_has_been_depr);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 245, __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;

  /* "networkit/_NetworKit.pyx":242
 * 	return _getMaxNumberOfThreads()
 * 
 * def enableNestedParallelism():             # <<<<<<<<<<<<<<
 * 	""" Enable nested parallelism for OpenMP"""
 * 	from warnings import warn
 */

  /* 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("networkit._NetworKit.enableNestedParallelism", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":251
 * 	void _setSeed "Aux::Random::setSeed" (uint64_t, bool_t)
 * 
 * def setSeed(uint64_t seed, bool_t useThreadId):             # <<<<<<<<<<<<<<
 * 	""" Set the random seed that is used in NetworKit.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19setSeed(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_18setSeed[] = " Set the random seed that is used in NetworKit.\n\n\tNote that there is a separate random number generator per thread.\n\n\tParameters\n\t----------\n\tseed : uint64_t\n\t\tThe seed\n\tuseThreadId : bool\n\t\tIf the thread id shall be added to the seed\n\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_19setSeed = {"setSeed", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_19setSeed, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_18setSeed};
static PyObject *__pyx_pw_9networkit_10_NetworKit_19setSeed(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  uint64_t __pyx_v_seed;
  bool __pyx_v_useThreadId;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setSeed (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_seed,&__pyx_n_s_useThreadId,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_useThreadId)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("setSeed", 1, 2, 2, 1); __PYX_ERR(0, 251, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "setSeed") < 0)) __PYX_ERR(0, 251, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_seed = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_seed == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 251, __pyx_L3_error)
    __pyx_v_useThreadId = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_useThreadId == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 251, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setSeed", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 251, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.setSeed", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18setSeed(__pyx_self, __pyx_v_seed, __pyx_v_useThreadId);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_18setSeed(CYTHON_UNUSED PyObject *__pyx_self, uint64_t __pyx_v_seed, bool __pyx_v_useThreadId) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setSeed", 0);

  /* "networkit/_NetworKit.pyx":263
 * 		If the thread id shall be added to the seed
 * 	"""
 * 	_setSeed(seed, useThreadId)             # <<<<<<<<<<<<<<
 * 
 * # Class definitions
 */
  Aux::Random::setSeed(__pyx_v_seed, __pyx_v_useThreadId);

  /* "networkit/_NetworKit.pyx":251
 * 	void _setSeed "Aux::Random::setSeed" (uint64_t, bool_t)
 * 
 * def setSeed(uint64_t seed, bool_t useThreadId):             # <<<<<<<<<<<<<<
 * 	""" Set the random seed that is used in NetworKit.
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":286
 * 		pair[coordinate, coordinate] asPair()
 * 
 * cdef object toPoint2DVector(const vector[_Point2D]& v):             # <<<<<<<<<<<<<<
 * 	return [v[i].asPair() for i in range(v.size())]
 * 
 */

static PyObject *__pyx_f_9networkit_10_NetworKit_toPoint2DVector(std::vector<NetworKit::Point2D>  const &__pyx_v_v) {
  std::vector<NetworKit::Point2D> ::size_type __pyx_7genexpr__pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  std::vector<NetworKit::Point2D> ::size_type __pyx_t_2;
  std::vector<NetworKit::Point2D> ::size_type __pyx_t_3;
  std::vector<NetworKit::Point2D> ::size_type __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("toPoint2DVector", 0);

  /* "networkit/_NetworKit.pyx":287
 * 
 * cdef object toPoint2DVector(const vector[_Point2D]& v):
 * 	return [v[i].asPair() for i in range(v.size())]             # <<<<<<<<<<<<<<
 * 
 * cdef object toNodePoint2DVector(const vector[pair[node, _Point2D]]& v):
 */
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 287, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_v.size();
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_7genexpr__pyx_v_i = __pyx_t_4;
      __pyx_t_5 = __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_coordinate______pyx_t_9networkit_10_NetworKit_coordinate((__pyx_v_v[__pyx_7genexpr__pyx_v_i]).asPair()); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 287, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 287, __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;

  /* "networkit/_NetworKit.pyx":286
 * 		pair[coordinate, coordinate] asPair()
 * 
 * cdef object toPoint2DVector(const vector[_Point2D]& v):             # <<<<<<<<<<<<<<
 * 	return [v[i].asPair() for i in range(v.size())]
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("networkit._NetworKit.toPoint2DVector", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":289
 * 	return [v[i].asPair() for i in range(v.size())]
 * 
 * cdef object toNodePoint2DVector(const vector[pair[node, _Point2D]]& v):             # <<<<<<<<<<<<<<
 * 	return [(v[i].first, v[i].second.asPair()) for i in range(v.size())]
 * 
 */

static PyObject *__pyx_f_9networkit_10_NetworKit_toNodePoint2DVector(std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,NetworKit::Point2D> >  const &__pyx_v_v) {
  std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,NetworKit::Point2D> > ::size_type __pyx_8genexpr1__pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,NetworKit::Point2D> > ::size_type __pyx_t_2;
  std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,NetworKit::Point2D> > ::size_type __pyx_t_3;
  std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,NetworKit::Point2D> > ::size_type __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  __Pyx_RefNannySetupContext("toNodePoint2DVector", 0);

  /* "networkit/_NetworKit.pyx":290
 * 
 * cdef object toNodePoint2DVector(const vector[pair[node, _Point2D]]& v):
 * 	return [(v[i].first, v[i].second.asPair()) for i in range(v.size())]             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/graph/Graph.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 290, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_v.size();
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_8genexpr1__pyx_v_i = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyInt_From_uint64_t((__pyx_v_v[__pyx_8genexpr1__pyx_v_i]).first); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 290, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_coordinate______pyx_t_9networkit_10_NetworKit_coordinate((__pyx_v_v[__pyx_8genexpr1__pyx_v_i]).second.asPair()); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 290, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 290, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_GIVEREF(__pyx_t_5);
      PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_6);
      PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6);
      __pyx_t_5 = 0;
      __pyx_t_6 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 290, __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;

  /* "networkit/_NetworKit.pyx":289
 * 	return [v[i].asPair() for i in range(v.size())]
 * 
 * cdef object toNodePoint2DVector(const vector[pair[node, _Point2D]]& v):             # <<<<<<<<<<<<<<
 * 	return [(v[i].first, v[i].second.asPair()) for i in range(v.size())]
 * 
 */

  /* 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("networkit._NetworKit.toNodePoint2DVector", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":387
 * cdef cppclass EdgeCallBackWrapper:
 * 	void* callback
 * 	__init__(object callback):             # <<<<<<<<<<<<<<
 * 		this.callback = <void*>callback
 * 	void cython_call_operator(node u, node v, edgeweight w, edgeid eid):
 */

void __pyx_t_9networkit_10_NetworKit_EdgeCallBackWrapper::__pyx_f___init__EdgeCallBackWrapper(PyObject *__pyx_v_callback) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("<init>", 0);

  /* "networkit/_NetworKit.pyx":388
 * 	void* callback
 * 	__init__(object callback):
 * 		this.callback = <void*>callback             # <<<<<<<<<<<<<<
 * 	void cython_call_operator(node u, node v, edgeweight w, edgeid eid):
 * 		cdef bool_t error = False
 */
  this->callback = ((void *)__pyx_v_callback);

  /* "networkit/_NetworKit.pyx":387
 * cdef cppclass EdgeCallBackWrapper:
 * 	void* callback
 * 	__init__(object callback):             # <<<<<<<<<<<<<<
 * 		this.callback = <void*>callback
 * 	void cython_call_operator(node u, node v, edgeweight w, edgeid eid):
 */

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

/* "networkit/_NetworKit.pyx":389
 * 	__init__(object callback):
 * 		this.callback = <void*>callback
 * 	void cython_call_operator(node u, node v, edgeweight w, edgeid eid):             # <<<<<<<<<<<<<<
 * 		cdef bool_t error = False
 * 		cdef string message
 */

void __pyx_t_9networkit_10_NetworKit_EdgeCallBackWrapper::cython_call_operator(__pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v, __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_v_w, __pyx_t_9networkit_10_NetworKit_edgeid __pyx_v_eid) {
  bool __pyx_v_error;
  std::string __pyx_v_message;
  PyObject *__pyx_v_e = 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;
  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;
  std::string __pyx_t_13;
  int __pyx_t_14;
  char const *__pyx_t_15;
  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_t_22;
  __Pyx_RefNannySetupContext("cython_call_operator", 0);

  /* "networkit/_NetworKit.pyx":390
 * 		this.callback = <void*>callback
 * 	void cython_call_operator(node u, node v, edgeweight w, edgeid eid):
 * 		cdef bool_t error = False             # <<<<<<<<<<<<<<
 * 		cdef string message
 * 		try:
 */
  __pyx_v_error = 0;

  /* "networkit/_NetworKit.pyx":392
 * 		cdef bool_t error = False
 * 		cdef string message
 * 		try:             # <<<<<<<<<<<<<<
 * 			(<object>callback)(u, v, w, eid)
 * 		except Exception as e:
 */
  {
    __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:*/ {

      /* "networkit/_NetworKit.pyx":393
 * 		cdef string message
 * 		try:
 * 			(<object>callback)(u, v, w, eid)             # <<<<<<<<<<<<<<
 * 		except Exception as e:
 * 			error = True
 */
      __pyx_t_5 = __Pyx_PyInt_From_uint64_t(__pyx_v_u); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 393, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyInt_From_uint64_t(__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 393, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = PyFloat_FromDouble(__pyx_v_w); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 393, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = __Pyx_PyInt_From_uint64_t(__pyx_v_eid); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 393, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_INCREF(((PyObject *)callback));
      __pyx_t_9 = ((PyObject *)callback); __pyx_t_10 = NULL;
      __pyx_t_11 = 0;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
        __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9);
        if (likely(__pyx_t_10)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
          __Pyx_INCREF(__pyx_t_10);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_9, function);
          __pyx_t_11 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_9)) {
        PyObject *__pyx_temp[5] = {__pyx_t_10, __pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8};
        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_11, 4+__pyx_t_11); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 393, __pyx_L3_error)
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_4);
        __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;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
        PyObject *__pyx_temp[5] = {__pyx_t_10, __pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8};
        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_11, 4+__pyx_t_11); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 393, __pyx_L3_error)
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_4);
        __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;
      } else
      #endif
      {
        __pyx_t_12 = PyTuple_New(4+__pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 393, __pyx_L3_error)
        __Pyx_GOTREF(__pyx_t_12);
        if (__pyx_t_10) {
          __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); __pyx_t_10 = NULL;
        }
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_12, 0+__pyx_t_11, __pyx_t_5);
        __Pyx_GIVEREF(__pyx_t_6);
        PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_11, __pyx_t_6);
        __Pyx_GIVEREF(__pyx_t_7);
        PyTuple_SET_ITEM(__pyx_t_12, 2+__pyx_t_11, __pyx_t_7);
        __Pyx_GIVEREF(__pyx_t_8);
        PyTuple_SET_ITEM(__pyx_t_12, 3+__pyx_t_11, __pyx_t_8);
        __pyx_t_5 = 0;
        __pyx_t_6 = 0;
        __pyx_t_7 = 0;
        __pyx_t_8 = 0;
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_12, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 393, __pyx_L3_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      }
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "networkit/_NetworKit.pyx":392
 * 		cdef bool_t error = False
 * 		cdef string message
 * 		try:             # <<<<<<<<<<<<<<
 * 			(<object>callback)(u, v, w, eid)
 * 		except Exception as e:
 */
    }
    __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_10); __pyx_t_10 = 0;
    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __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;

    /* "networkit/_NetworKit.pyx":394
 * 		try:
 * 			(<object>callback)(u, v, w, eid)
 * 		except Exception as e:             # <<<<<<<<<<<<<<
 * 			error = True
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 */
    __pyx_t_11 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
    if (__pyx_t_11) {
      __Pyx_AddTraceback("EdgeCallBackWrapper.cython_call_operator", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_9, &__pyx_t_12) < 0) __PYX_ERR(0, 394, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_INCREF(__pyx_t_9);
      __pyx_v_e = __pyx_t_9;
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":395
 * 			(<object>callback)(u, v, w, eid)
 * 		except Exception as e:
 * 			error = True             # <<<<<<<<<<<<<<
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 * 		if (error):
 */
        __pyx_v_error = 1;

        /* "networkit/_NetworKit.pyx":396
 * 		except Exception as e:
 * 			error = True
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))             # <<<<<<<<<<<<<<
 * 		if (error):
 * 			throw_runtime_error(message)
 */
        __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 396, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_An_Exception_occurred_aborting_e, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 396, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_10 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
          __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_5);
          if (likely(__pyx_t_10)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
            __Pyx_INCREF(__pyx_t_10);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_5, function);
          }
        }
        __pyx_t_6 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_10, __pyx_v_e) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_e);
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 396, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = NULL;
        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
          __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7);
          if (likely(__pyx_t_5)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
            __Pyx_INCREF(__pyx_t_5);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_7, function);
          }
        }
        __pyx_t_8 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 396, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_13 = __pyx_convert_string_from_py_std__in_string(__pyx_t_8); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 396, __pyx_L14_error)
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_v_message = __pyx_t_13;
      }

      /* "networkit/_NetworKit.pyx":394
 * 		try:
 * 			(<object>callback)(u, v, w, eid)
 * 		except Exception as e:             # <<<<<<<<<<<<<<
 * 			error = True
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 */
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_DECREF(__pyx_v_e);
          __pyx_v_e = NULL;
          goto __pyx_L15;
        }
        __pyx_L14_error:;
        /*exception exit:*/{
          __Pyx_PyThreadState_declare
          __Pyx_PyThreadState_assign
          __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0;
          __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __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;
          if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21);
          if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18) < 0)) __Pyx_ErrFetch(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18);
          __Pyx_XGOTREF(__pyx_t_16);
          __Pyx_XGOTREF(__pyx_t_17);
          __Pyx_XGOTREF(__pyx_t_18);
          __Pyx_XGOTREF(__pyx_t_19);
          __Pyx_XGOTREF(__pyx_t_20);
          __Pyx_XGOTREF(__pyx_t_21);
          __pyx_t_11 = __pyx_lineno; __pyx_t_14 = __pyx_clineno; __pyx_t_15 = __pyx_filename;
          {
            __Pyx_DECREF(__pyx_v_e);
            __pyx_v_e = NULL;
          }
          if (PY_MAJOR_VERSION >= 3) {
            __Pyx_XGIVEREF(__pyx_t_19);
            __Pyx_XGIVEREF(__pyx_t_20);
            __Pyx_XGIVEREF(__pyx_t_21);
            __Pyx_ExceptionReset(__pyx_t_19, __pyx_t_20, __pyx_t_21);
          }
          __Pyx_XGIVEREF(__pyx_t_16);
          __Pyx_XGIVEREF(__pyx_t_17);
          __Pyx_XGIVEREF(__pyx_t_18);
          __Pyx_ErrRestore(__pyx_t_16, __pyx_t_17, __pyx_t_18);
          __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0;
          __pyx_lineno = __pyx_t_11; __pyx_clineno = __pyx_t_14; __pyx_filename = __pyx_t_15;
          goto __pyx_L5_except_error;
        }
        __pyx_L15:;
      }
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "networkit/_NetworKit.pyx":392
 * 		cdef bool_t error = False
 * 		cdef string message
 * 		try:             # <<<<<<<<<<<<<<
 * 			(<object>callback)(u, v, w, eid)
 * 		except Exception as e:
 */
    __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_L4_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_L8_try_end:;
  }

  /* "networkit/_NetworKit.pyx":397
 * 			error = True
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 * 		if (error):             # <<<<<<<<<<<<<<
 * 			throw_runtime_error(message)
 * 
 */
  __pyx_t_22 = (__pyx_v_error != 0);
  if (__pyx_t_22) {

    /* "networkit/_NetworKit.pyx":398
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 * 		if (error):
 * 			throw_runtime_error(message)             # <<<<<<<<<<<<<<
 * 
 * cdef cppclass NodeCallbackWrapper:
 */
    throw_runtime_error(__pyx_v_message);

    /* "networkit/_NetworKit.pyx":397
 * 			error = True
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 * 		if (error):             # <<<<<<<<<<<<<<
 * 			throw_runtime_error(message)
 * 
 */
  }

  /* "networkit/_NetworKit.pyx":389
 * 	__init__(object callback):
 * 		this.callback = <void*>callback
 * 	void cython_call_operator(node u, node v, edgeweight w, edgeid eid):             # <<<<<<<<<<<<<<
 * 		cdef bool_t error = False
 * 		cdef string message
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __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_12);
  __Pyx_WriteUnraisable("EdgeCallBackWrapper.cython_call_operator", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":402
 * cdef cppclass NodeCallbackWrapper:
 * 	void* callback
 * 	__init__(object callback):             # <<<<<<<<<<<<<<
 * 		this.callback = <void*>callback
 * 	void cython_call_operator(node u):
 */

void __pyx_t_9networkit_10_NetworKit_NodeCallbackWrapper::__pyx_f___init__NodeCallbackWrapper(PyObject *__pyx_v_callback) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("<init>", 0);

  /* "networkit/_NetworKit.pyx":403
 * 	void* callback
 * 	__init__(object callback):
 * 		this.callback = <void*>callback             # <<<<<<<<<<<<<<
 * 	void cython_call_operator(node u):
 * 		cdef bool_t error = False
 */
  this->callback = ((void *)__pyx_v_callback);

  /* "networkit/_NetworKit.pyx":402
 * cdef cppclass NodeCallbackWrapper:
 * 	void* callback
 * 	__init__(object callback):             # <<<<<<<<<<<<<<
 * 		this.callback = <void*>callback
 * 	void cython_call_operator(node u):
 */

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

/* "networkit/_NetworKit.pyx":404
 * 	__init__(object callback):
 * 		this.callback = <void*>callback
 * 	void cython_call_operator(node u):             # <<<<<<<<<<<<<<
 * 		cdef bool_t error = False
 * 		cdef string message
 */

void __pyx_t_9networkit_10_NetworKit_NodeCallbackWrapper::cython_call_operator(__pyx_t_9networkit_10_NetworKit_node __pyx_v_u) {
  bool __pyx_v_error;
  std::string __pyx_v_message;
  PyObject *__pyx_v_e = 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;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  std::string __pyx_t_13;
  int __pyx_t_14;
  char const *__pyx_t_15;
  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_t_22;
  __Pyx_RefNannySetupContext("cython_call_operator", 0);

  /* "networkit/_NetworKit.pyx":405
 * 		this.callback = <void*>callback
 * 	void cython_call_operator(node u):
 * 		cdef bool_t error = False             # <<<<<<<<<<<<<<
 * 		cdef string message
 * 		try:
 */
  __pyx_v_error = 0;

  /* "networkit/_NetworKit.pyx":407
 * 		cdef bool_t error = False
 * 		cdef string message
 * 		try:             # <<<<<<<<<<<<<<
 * 			(<object>callback)(u)
 * 		except Exception as e:
 */
  {
    __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:*/ {

      /* "networkit/_NetworKit.pyx":408
 * 		cdef string message
 * 		try:
 * 			(<object>callback)(u)             # <<<<<<<<<<<<<<
 * 		except Exception as e:
 * 			error = True
 */
      __pyx_t_5 = __Pyx_PyInt_From_uint64_t(__pyx_v_u); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 408, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_INCREF(((PyObject *)callback));
      __pyx_t_6 = ((PyObject *)callback); __pyx_t_7 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
        if (likely(__pyx_t_7)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
          __Pyx_INCREF(__pyx_t_7);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_6, function);
        }
      }
      __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5);
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 408, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "networkit/_NetworKit.pyx":407
 * 		cdef bool_t error = False
 * 		cdef string message
 * 		try:             # <<<<<<<<<<<<<<
 * 			(<object>callback)(u)
 * 		except Exception as e:
 */
    }
    __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;
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "networkit/_NetworKit.pyx":409
 * 		try:
 * 			(<object>callback)(u)
 * 		except Exception as e:             # <<<<<<<<<<<<<<
 * 			error = True
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 */
    __pyx_t_8 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
    if (__pyx_t_8) {
      __Pyx_AddTraceback("NodeCallbackWrapper.cython_call_operator", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(0, 409, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_6);
      __pyx_v_e = __pyx_t_6;
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":410
 * 			(<object>callback)(u)
 * 		except Exception as e:
 * 			error = True             # <<<<<<<<<<<<<<
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 * 		if (error):
 */
        __pyx_v_error = 1;

        /* "networkit/_NetworKit.pyx":411
 * 		except Exception as e:
 * 			error = True
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))             # <<<<<<<<<<<<<<
 * 		if (error):
 * 			throw_runtime_error(message)
 */
        __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 411, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_An_Exception_occurred_aborting_e, __pyx_n_s_format); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 411, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_11);
        __pyx_t_12 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) {
          __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_11);
          if (likely(__pyx_t_12)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
            __Pyx_INCREF(__pyx_t_12);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_11, function);
          }
        }
        __pyx_t_10 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_12, __pyx_v_e) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_v_e);
        __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
        if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 411, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __pyx_t_11 = NULL;
        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
          __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_9);
          if (likely(__pyx_t_11)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
            __Pyx_INCREF(__pyx_t_11);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_9, function);
          }
        }
        __pyx_t_7 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_11, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10);
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 411, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_13 = __pyx_convert_string_from_py_std__in_string(__pyx_t_7); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 411, __pyx_L14_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_v_message = __pyx_t_13;
      }

      /* "networkit/_NetworKit.pyx":409
 * 		try:
 * 			(<object>callback)(u)
 * 		except Exception as e:             # <<<<<<<<<<<<<<
 * 			error = True
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 */
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_DECREF(__pyx_v_e);
          __pyx_v_e = NULL;
          goto __pyx_L15;
        }
        __pyx_L14_error:;
        /*exception exit:*/{
          __Pyx_PyThreadState_declare
          __Pyx_PyThreadState_assign
          __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0;
          __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_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
          if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21);
          if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18) < 0)) __Pyx_ErrFetch(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18);
          __Pyx_XGOTREF(__pyx_t_16);
          __Pyx_XGOTREF(__pyx_t_17);
          __Pyx_XGOTREF(__pyx_t_18);
          __Pyx_XGOTREF(__pyx_t_19);
          __Pyx_XGOTREF(__pyx_t_20);
          __Pyx_XGOTREF(__pyx_t_21);
          __pyx_t_8 = __pyx_lineno; __pyx_t_14 = __pyx_clineno; __pyx_t_15 = __pyx_filename;
          {
            __Pyx_DECREF(__pyx_v_e);
            __pyx_v_e = NULL;
          }
          if (PY_MAJOR_VERSION >= 3) {
            __Pyx_XGIVEREF(__pyx_t_19);
            __Pyx_XGIVEREF(__pyx_t_20);
            __Pyx_XGIVEREF(__pyx_t_21);
            __Pyx_ExceptionReset(__pyx_t_19, __pyx_t_20, __pyx_t_21);
          }
          __Pyx_XGIVEREF(__pyx_t_16);
          __Pyx_XGIVEREF(__pyx_t_17);
          __Pyx_XGIVEREF(__pyx_t_18);
          __Pyx_ErrRestore(__pyx_t_16, __pyx_t_17, __pyx_t_18);
          __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0;
          __pyx_lineno = __pyx_t_8; __pyx_clineno = __pyx_t_14; __pyx_filename = __pyx_t_15;
          goto __pyx_L5_except_error;
        }
        __pyx_L15:;
      }
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "networkit/_NetworKit.pyx":407
 * 		cdef bool_t error = False
 * 		cdef string message
 * 		try:             # <<<<<<<<<<<<<<
 * 			(<object>callback)(u)
 * 		except Exception as e:
 */
    __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_L4_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_L8_try_end:;
  }

  /* "networkit/_NetworKit.pyx":412
 * 			error = True
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 * 		if (error):             # <<<<<<<<<<<<<<
 * 			throw_runtime_error(message)
 * 
 */
  __pyx_t_22 = (__pyx_v_error != 0);
  if (__pyx_t_22) {

    /* "networkit/_NetworKit.pyx":413
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 * 		if (error):
 * 			throw_runtime_error(message)             # <<<<<<<<<<<<<<
 * 
 * cdef cppclass NodeDistCallbackWrapper:
 */
    throw_runtime_error(__pyx_v_message);

    /* "networkit/_NetworKit.pyx":412
 * 			error = True
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 * 		if (error):             # <<<<<<<<<<<<<<
 * 			throw_runtime_error(message)
 * 
 */
  }

  /* "networkit/_NetworKit.pyx":404
 * 	__init__(object callback):
 * 		this.callback = <void*>callback
 * 	void cython_call_operator(node u):             # <<<<<<<<<<<<<<
 * 		cdef bool_t error = False
 * 		cdef string message
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __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_WriteUnraisable("NodeCallbackWrapper.cython_call_operator", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":417
 * cdef cppclass NodeDistCallbackWrapper:
 * 	void* callback
 * 	__init__(object callback):             # <<<<<<<<<<<<<<
 * 		this.callback = <void*>callback
 * 	void cython_call_operator(node u, count dist):
 */

void __pyx_t_9networkit_10_NetworKit_NodeDistCallbackWrapper::__pyx_f___init__NodeDistCallbackWrapper(PyObject *__pyx_v_callback) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("<init>", 0);

  /* "networkit/_NetworKit.pyx":418
 * 	void* callback
 * 	__init__(object callback):
 * 		this.callback = <void*>callback             # <<<<<<<<<<<<<<
 * 	void cython_call_operator(node u, count dist):
 * 		cdef bool_t error = False
 */
  this->callback = ((void *)__pyx_v_callback);

  /* "networkit/_NetworKit.pyx":417
 * cdef cppclass NodeDistCallbackWrapper:
 * 	void* callback
 * 	__init__(object callback):             # <<<<<<<<<<<<<<
 * 		this.callback = <void*>callback
 * 	void cython_call_operator(node u, count dist):
 */

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

/* "networkit/_NetworKit.pyx":419
 * 	__init__(object callback):
 * 		this.callback = <void*>callback
 * 	void cython_call_operator(node u, count dist):             # <<<<<<<<<<<<<<
 * 		cdef bool_t error = False
 * 		cdef string message
 */

void __pyx_t_9networkit_10_NetworKit_NodeDistCallbackWrapper::cython_call_operator(__pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_count __pyx_v_dist) {
  bool __pyx_v_error;
  std::string __pyx_v_message;
  PyObject *__pyx_v_e = 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;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  std::string __pyx_t_13;
  int __pyx_t_14;
  char const *__pyx_t_15;
  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_t_22;
  __Pyx_RefNannySetupContext("cython_call_operator", 0);

  /* "networkit/_NetworKit.pyx":420
 * 		this.callback = <void*>callback
 * 	void cython_call_operator(node u, count dist):
 * 		cdef bool_t error = False             # <<<<<<<<<<<<<<
 * 		cdef string message
 * 		try:
 */
  __pyx_v_error = 0;

  /* "networkit/_NetworKit.pyx":422
 * 		cdef bool_t error = False
 * 		cdef string message
 * 		try:             # <<<<<<<<<<<<<<
 * 			(<object>callback)(u, dist)
 * 		except Exception as e:
 */
  {
    __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:*/ {

      /* "networkit/_NetworKit.pyx":423
 * 		cdef string message
 * 		try:
 * 			(<object>callback)(u, dist)             # <<<<<<<<<<<<<<
 * 		except Exception as e:
 * 			error = True
 */
      __pyx_t_5 = __Pyx_PyInt_From_uint64_t(__pyx_v_u); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 423, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyInt_From_uint64_t(__pyx_v_dist); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 423, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_INCREF(((PyObject *)callback));
      __pyx_t_7 = ((PyObject *)callback); __pyx_t_8 = NULL;
      __pyx_t_9 = 0;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
        __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
        if (likely(__pyx_t_8)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
          __Pyx_INCREF(__pyx_t_8);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_7, function);
          __pyx_t_9 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_7)) {
        PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_5, __pyx_t_6};
        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 423, __pyx_L3_error)
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
        PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_5, __pyx_t_6};
        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 423, __pyx_L3_error)
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      {
        __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 423, __pyx_L3_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__pyx_t_8) {
          __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_8); __pyx_t_8 = NULL;
        }
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_9, __pyx_t_5);
        __Pyx_GIVEREF(__pyx_t_6);
        PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_t_6);
        __pyx_t_5 = 0;
        __pyx_t_6 = 0;
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_10, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 423, __pyx_L3_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__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;

      /* "networkit/_NetworKit.pyx":422
 * 		cdef bool_t error = False
 * 		cdef string message
 * 		try:             # <<<<<<<<<<<<<<
 * 			(<object>callback)(u, dist)
 * 		except Exception as e:
 */
    }
    __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_10); __pyx_t_10 = 0;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __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;

    /* "networkit/_NetworKit.pyx":424
 * 		try:
 * 			(<object>callback)(u, dist)
 * 		except Exception as e:             # <<<<<<<<<<<<<<
 * 			error = True
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 */
    __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
    if (__pyx_t_9) {
      __Pyx_AddTraceback("NodeDistCallbackWrapper.cython_call_operator", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_7, &__pyx_t_10) < 0) __PYX_ERR(0, 424, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_INCREF(__pyx_t_7);
      __pyx_v_e = __pyx_t_7;
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":425
 * 			(<object>callback)(u, dist)
 * 		except Exception as e:
 * 			error = True             # <<<<<<<<<<<<<<
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 * 		if (error):
 */
        __pyx_v_error = 1;

        /* "networkit/_NetworKit.pyx":426
 * 		except Exception as e:
 * 			error = True
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))             # <<<<<<<<<<<<<<
 * 		if (error):
 * 			throw_runtime_error(message)
 */
        __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 426, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_An_Exception_occurred_aborting_e, __pyx_n_s_format); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 426, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_11);
        __pyx_t_12 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) {
          __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_11);
          if (likely(__pyx_t_12)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
            __Pyx_INCREF(__pyx_t_12);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_11, function);
          }
        }
        __pyx_t_8 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_12, __pyx_v_e) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_v_e);
        __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
        if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 426, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __pyx_t_11 = NULL;
        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
          __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_5);
          if (likely(__pyx_t_11)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
            __Pyx_INCREF(__pyx_t_11);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_5, function);
          }
        }
        __pyx_t_6 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_11, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8);
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 426, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_13 = __pyx_convert_string_from_py_std__in_string(__pyx_t_6); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 426, __pyx_L14_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_v_message = __pyx_t_13;
      }

      /* "networkit/_NetworKit.pyx":424
 * 		try:
 * 			(<object>callback)(u, dist)
 * 		except Exception as e:             # <<<<<<<<<<<<<<
 * 			error = True
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 */
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_DECREF(__pyx_v_e);
          __pyx_v_e = NULL;
          goto __pyx_L15;
        }
        __pyx_L14_error:;
        /*exception exit:*/{
          __Pyx_PyThreadState_declare
          __Pyx_PyThreadState_assign
          __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0;
          __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
          __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
          if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21);
          if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18) < 0)) __Pyx_ErrFetch(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18);
          __Pyx_XGOTREF(__pyx_t_16);
          __Pyx_XGOTREF(__pyx_t_17);
          __Pyx_XGOTREF(__pyx_t_18);
          __Pyx_XGOTREF(__pyx_t_19);
          __Pyx_XGOTREF(__pyx_t_20);
          __Pyx_XGOTREF(__pyx_t_21);
          __pyx_t_9 = __pyx_lineno; __pyx_t_14 = __pyx_clineno; __pyx_t_15 = __pyx_filename;
          {
            __Pyx_DECREF(__pyx_v_e);
            __pyx_v_e = NULL;
          }
          if (PY_MAJOR_VERSION >= 3) {
            __Pyx_XGIVEREF(__pyx_t_19);
            __Pyx_XGIVEREF(__pyx_t_20);
            __Pyx_XGIVEREF(__pyx_t_21);
            __Pyx_ExceptionReset(__pyx_t_19, __pyx_t_20, __pyx_t_21);
          }
          __Pyx_XGIVEREF(__pyx_t_16);
          __Pyx_XGIVEREF(__pyx_t_17);
          __Pyx_XGIVEREF(__pyx_t_18);
          __Pyx_ErrRestore(__pyx_t_16, __pyx_t_17, __pyx_t_18);
          __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0;
          __pyx_lineno = __pyx_t_9; __pyx_clineno = __pyx_t_14; __pyx_filename = __pyx_t_15;
          goto __pyx_L5_except_error;
        }
        __pyx_L15:;
      }
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "networkit/_NetworKit.pyx":422
 * 		cdef bool_t error = False
 * 		cdef string message
 * 		try:             # <<<<<<<<<<<<<<
 * 			(<object>callback)(u, dist)
 * 		except Exception as e:
 */
    __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_L4_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_L8_try_end:;
  }

  /* "networkit/_NetworKit.pyx":427
 * 			error = True
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 * 		if (error):             # <<<<<<<<<<<<<<
 * 			throw_runtime_error(message)
 * 
 */
  __pyx_t_22 = (__pyx_v_error != 0);
  if (__pyx_t_22) {

    /* "networkit/_NetworKit.pyx":428
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 * 		if (error):
 * 			throw_runtime_error(message)             # <<<<<<<<<<<<<<
 * 
 * cdef cppclass NodePairCallbackWrapper:
 */
    throw_runtime_error(__pyx_v_message);

    /* "networkit/_NetworKit.pyx":427
 * 			error = True
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 * 		if (error):             # <<<<<<<<<<<<<<
 * 			throw_runtime_error(message)
 * 
 */
  }

  /* "networkit/_NetworKit.pyx":419
 * 	__init__(object callback):
 * 		this.callback = <void*>callback
 * 	void cython_call_operator(node u, count dist):             # <<<<<<<<<<<<<<
 * 		cdef bool_t error = False
 * 		cdef string message
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __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_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_WriteUnraisable("NodeDistCallbackWrapper.cython_call_operator", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":432
 * cdef cppclass NodePairCallbackWrapper:
 * 	void* callback
 * 	__init__(object callback):             # <<<<<<<<<<<<<<
 * 		this.callback = <void*>callback
 * 	void cython_call_operator(node u, node v):
 */

void __pyx_t_9networkit_10_NetworKit_NodePairCallbackWrapper::__pyx_f___init__NodePairCallbackWrapper(PyObject *__pyx_v_callback) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("<init>", 0);

  /* "networkit/_NetworKit.pyx":433
 * 	void* callback
 * 	__init__(object callback):
 * 		this.callback = <void*>callback             # <<<<<<<<<<<<<<
 * 	void cython_call_operator(node u, node v):
 * 		cdef bool_t error = False
 */
  this->callback = ((void *)__pyx_v_callback);

  /* "networkit/_NetworKit.pyx":432
 * cdef cppclass NodePairCallbackWrapper:
 * 	void* callback
 * 	__init__(object callback):             # <<<<<<<<<<<<<<
 * 		this.callback = <void*>callback
 * 	void cython_call_operator(node u, node v):
 */

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

/* "networkit/_NetworKit.pyx":434
 * 	__init__(object callback):
 * 		this.callback = <void*>callback
 * 	void cython_call_operator(node u, node v):             # <<<<<<<<<<<<<<
 * 		cdef bool_t error = False
 * 		cdef string message
 */

void __pyx_t_9networkit_10_NetworKit_NodePairCallbackWrapper::cython_call_operator(__pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  bool __pyx_v_error;
  std::string __pyx_v_message;
  PyObject *__pyx_v_e = 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;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  std::string __pyx_t_13;
  int __pyx_t_14;
  char const *__pyx_t_15;
  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_t_22;
  __Pyx_RefNannySetupContext("cython_call_operator", 0);

  /* "networkit/_NetworKit.pyx":435
 * 		this.callback = <void*>callback
 * 	void cython_call_operator(node u, node v):
 * 		cdef bool_t error = False             # <<<<<<<<<<<<<<
 * 		cdef string message
 * 		try:
 */
  __pyx_v_error = 0;

  /* "networkit/_NetworKit.pyx":437
 * 		cdef bool_t error = False
 * 		cdef string message
 * 		try:             # <<<<<<<<<<<<<<
 * 			(<object>callback)(u, v)
 * 		except Exception as e:
 */
  {
    __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:*/ {

      /* "networkit/_NetworKit.pyx":438
 * 		cdef string message
 * 		try:
 * 			(<object>callback)(u, v)             # <<<<<<<<<<<<<<
 * 		except Exception as e:
 * 			error = True
 */
      __pyx_t_5 = __Pyx_PyInt_From_uint64_t(__pyx_v_u); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 438, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyInt_From_uint64_t(__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 438, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_INCREF(((PyObject *)callback));
      __pyx_t_7 = ((PyObject *)callback); __pyx_t_8 = NULL;
      __pyx_t_9 = 0;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
        __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
        if (likely(__pyx_t_8)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
          __Pyx_INCREF(__pyx_t_8);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_7, function);
          __pyx_t_9 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_7)) {
        PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_5, __pyx_t_6};
        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 438, __pyx_L3_error)
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
        PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_5, __pyx_t_6};
        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 438, __pyx_L3_error)
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else
      #endif
      {
        __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 438, __pyx_L3_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__pyx_t_8) {
          __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_8); __pyx_t_8 = NULL;
        }
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_9, __pyx_t_5);
        __Pyx_GIVEREF(__pyx_t_6);
        PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_t_6);
        __pyx_t_5 = 0;
        __pyx_t_6 = 0;
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_10, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 438, __pyx_L3_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__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;

      /* "networkit/_NetworKit.pyx":437
 * 		cdef bool_t error = False
 * 		cdef string message
 * 		try:             # <<<<<<<<<<<<<<
 * 			(<object>callback)(u, v)
 * 		except Exception as e:
 */
    }
    __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_10); __pyx_t_10 = 0;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __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;

    /* "networkit/_NetworKit.pyx":439
 * 		try:
 * 			(<object>callback)(u, v)
 * 		except Exception as e:             # <<<<<<<<<<<<<<
 * 			error = True
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 */
    __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
    if (__pyx_t_9) {
      __Pyx_AddTraceback("NodePairCallbackWrapper.cython_call_operator", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_7, &__pyx_t_10) < 0) __PYX_ERR(0, 439, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_INCREF(__pyx_t_7);
      __pyx_v_e = __pyx_t_7;
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":440
 * 			(<object>callback)(u, v)
 * 		except Exception as e:
 * 			error = True             # <<<<<<<<<<<<<<
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 * 		if (error):
 */
        __pyx_v_error = 1;

        /* "networkit/_NetworKit.pyx":441
 * 		except Exception as e:
 * 			error = True
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))             # <<<<<<<<<<<<<<
 * 		if (error):
 * 			throw_runtime_error(message)
 */
        __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 441, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_An_Exception_occurred_aborting_e, __pyx_n_s_format); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 441, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_11);
        __pyx_t_12 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) {
          __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_11);
          if (likely(__pyx_t_12)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
            __Pyx_INCREF(__pyx_t_12);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_11, function);
          }
        }
        __pyx_t_8 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_12, __pyx_v_e) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_v_e);
        __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
        if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 441, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __pyx_t_11 = NULL;
        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
          __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_5);
          if (likely(__pyx_t_11)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
            __Pyx_INCREF(__pyx_t_11);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_5, function);
          }
        }
        __pyx_t_6 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_11, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8);
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 441, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_13 = __pyx_convert_string_from_py_std__in_string(__pyx_t_6); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 441, __pyx_L14_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_v_message = __pyx_t_13;
      }

      /* "networkit/_NetworKit.pyx":439
 * 		try:
 * 			(<object>callback)(u, v)
 * 		except Exception as e:             # <<<<<<<<<<<<<<
 * 			error = True
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 */
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_DECREF(__pyx_v_e);
          __pyx_v_e = NULL;
          goto __pyx_L15;
        }
        __pyx_L14_error:;
        /*exception exit:*/{
          __Pyx_PyThreadState_declare
          __Pyx_PyThreadState_assign
          __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0;
          __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
          __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
          if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21);
          if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18) < 0)) __Pyx_ErrFetch(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18);
          __Pyx_XGOTREF(__pyx_t_16);
          __Pyx_XGOTREF(__pyx_t_17);
          __Pyx_XGOTREF(__pyx_t_18);
          __Pyx_XGOTREF(__pyx_t_19);
          __Pyx_XGOTREF(__pyx_t_20);
          __Pyx_XGOTREF(__pyx_t_21);
          __pyx_t_9 = __pyx_lineno; __pyx_t_14 = __pyx_clineno; __pyx_t_15 = __pyx_filename;
          {
            __Pyx_DECREF(__pyx_v_e);
            __pyx_v_e = NULL;
          }
          if (PY_MAJOR_VERSION >= 3) {
            __Pyx_XGIVEREF(__pyx_t_19);
            __Pyx_XGIVEREF(__pyx_t_20);
            __Pyx_XGIVEREF(__pyx_t_21);
            __Pyx_ExceptionReset(__pyx_t_19, __pyx_t_20, __pyx_t_21);
          }
          __Pyx_XGIVEREF(__pyx_t_16);
          __Pyx_XGIVEREF(__pyx_t_17);
          __Pyx_XGIVEREF(__pyx_t_18);
          __Pyx_ErrRestore(__pyx_t_16, __pyx_t_17, __pyx_t_18);
          __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0;
          __pyx_lineno = __pyx_t_9; __pyx_clineno = __pyx_t_14; __pyx_filename = __pyx_t_15;
          goto __pyx_L5_except_error;
        }
        __pyx_L15:;
      }
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "networkit/_NetworKit.pyx":437
 * 		cdef bool_t error = False
 * 		cdef string message
 * 		try:             # <<<<<<<<<<<<<<
 * 			(<object>callback)(u, v)
 * 		except Exception as e:
 */
    __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_L4_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_L8_try_end:;
  }

  /* "networkit/_NetworKit.pyx":442
 * 			error = True
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 * 		if (error):             # <<<<<<<<<<<<<<
 * 			throw_runtime_error(message)
 * 
 */
  __pyx_t_22 = (__pyx_v_error != 0);
  if (__pyx_t_22) {

    /* "networkit/_NetworKit.pyx":443
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 * 		if (error):
 * 			throw_runtime_error(message)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/graph/Graph.hpp>":
 */
    throw_runtime_error(__pyx_v_message);

    /* "networkit/_NetworKit.pyx":442
 * 			error = True
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 * 		if (error):             # <<<<<<<<<<<<<<
 * 			throw_runtime_error(message)
 * 
 */
  }

  /* "networkit/_NetworKit.pyx":434
 * 	__init__(object callback):
 * 		this.callback = <void*>callback
 * 	void cython_call_operator(node u, node v):             # <<<<<<<<<<<<<<
 * 		cdef bool_t error = False
 * 		cdef string message
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __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_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_WriteUnraisable("NodePairCallbackWrapper.cython_call_operator", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":528
 * 	cdef _Graph _this
 * 
 * 	def __cinit__(self, n=0, bool_t weighted=False, bool_t directed=False):             # <<<<<<<<<<<<<<
 * 		if isinstance(n, Graph):
 * 			self._this = move(_Graph((<Graph>n)._this, weighted, directed))
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_5Graph_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_5Graph_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_n = 0;
  bool __pyx_v_weighted;
  bool __pyx_v_directed;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,&__pyx_n_s_weighted,&__pyx_n_s_directed,0};
    PyObject* values[3] = {0,0,0};
    values[0] = ((PyObject *)__pyx_int_0);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_weighted);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_directed);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 528, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_n = values[0];
    if (values[1]) {
      __pyx_v_weighted = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_weighted == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 528, __pyx_L3_error)
    } else {
      __pyx_v_weighted = ((bool)0);
    }
    if (values[2]) {
      __pyx_v_directed = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_directed == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 528, __pyx_L3_error)
    } else {
      __pyx_v_directed = ((bool)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 528, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), __pyx_v_n, __pyx_v_weighted, __pyx_v_directed);

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

static int __pyx_pf_9networkit_10_NetworKit_5Graph___cinit__(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_n, bool __pyx_v_weighted, bool __pyx_v_directed) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  NetworKit::Graph __pyx_t_3;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_4;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":529
 * 
 * 	def __cinit__(self, n=0, bool_t weighted=False, bool_t directed=False):
 * 		if isinstance(n, Graph):             # <<<<<<<<<<<<<<
 * 			self._this = move(_Graph((<Graph>n)._this, weighted, directed))
 * 		else:
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_n, __pyx_ptype_9networkit_10_NetworKit_Graph); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":530
 * 	def __cinit__(self, n=0, bool_t weighted=False, bool_t directed=False):
 * 		if isinstance(n, Graph):
 * 			self._this = move(_Graph((<Graph>n)._this, weighted, directed))             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._this = move(_Graph(<count>n, weighted, directed))
 */
    try {
      __pyx_t_3 = NetworKit::Graph(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_n)->_this, __pyx_v_weighted, __pyx_v_directed);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 530, __pyx_L1_error)
    }
    __pyx_v_self->_this = std::move(__pyx_t_3);

    /* "networkit/_NetworKit.pyx":529
 * 
 * 	def __cinit__(self, n=0, bool_t weighted=False, bool_t directed=False):
 * 		if isinstance(n, Graph):             # <<<<<<<<<<<<<<
 * 			self._this = move(_Graph((<Graph>n)._this, weighted, directed))
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":532
 * 			self._this = move(_Graph((<Graph>n)._this, weighted, directed))
 * 		else:
 * 			self._this = move(_Graph(<count>n, weighted, directed))             # <<<<<<<<<<<<<<
 * 
 * 	cdef setThis(self, _Graph& other):
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyInt_As_uint64_t(__pyx_v_n); if (unlikely((__pyx_t_4 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 532, __pyx_L1_error)
    try {
      __pyx_t_3 = NetworKit::Graph(((__pyx_t_9networkit_10_NetworKit_count)__pyx_t_4), __pyx_v_weighted, __pyx_v_directed);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 532, __pyx_L1_error)
    }
    __pyx_v_self->_this = std::move(__pyx_t_3);
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":528
 * 	cdef _Graph _this
 * 
 * 	def __cinit__(self, n=0, bool_t weighted=False, bool_t directed=False):             # <<<<<<<<<<<<<<
 * 		if isinstance(n, Graph):
 * 			self._this = move(_Graph((<Graph>n)._this, weighted, directed))
 */

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

/* "networkit/_NetworKit.pyx":534
 * 			self._this = move(_Graph(<count>n, weighted, directed))
 * 
 * 	cdef setThis(self, _Graph& other):             # <<<<<<<<<<<<<<
 * 		swap[_Graph](self._this, other)
 * 		return self
 */

static PyObject *__pyx_f_9networkit_10_NetworKit_5Graph_setThis(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, NetworKit::Graph &__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setThis", 0);

  /* "networkit/_NetworKit.pyx":535
 * 
 * 	cdef setThis(self, _Graph& other):
 * 		swap[_Graph](self._this, other)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
  std::swap<NetworKit::Graph>(__pyx_v_self->_this, __pyx_v_other);

  /* "networkit/_NetworKit.pyx":536
 * 	cdef setThis(self, _Graph& other):
 * 		swap[_Graph](self._this, other)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def __copy__(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":534
 * 			self._this = move(_Graph(<count>n, weighted, directed))
 * 
 * 	cdef setThis(self, _Graph& other):             # <<<<<<<<<<<<<<
 * 		swap[_Graph](self._this, other)
 * 		return self
 */

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

/* "networkit/_NetworKit.pyx":538
 * 		return self
 * 
 * 	def __copy__(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Generates a copy of the graph
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_3__copy__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_2__copy__[] = "\n\t\tGenerates a copy of the graph\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_3__copy__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__copy__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_2__copy__(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_2__copy__(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Graph __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__copy__", 0);

  /* "networkit/_NetworKit.pyx":542
 * 		Generates a copy of the graph
 * 		"""
 * 		return Graph().setThis(_Graph(self._this))             # <<<<<<<<<<<<<<
 * 
 * 	def __deepcopy__(self, memo):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = NetworKit::Graph(__pyx_v_self->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 542, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 542, __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;

  /* "networkit/_NetworKit.pyx":538
 * 		return self
 * 
 * 	def __copy__(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Generates a copy of the graph
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.__copy__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":544
 * 		return Graph().setThis(_Graph(self._this))
 * 
 * 	def __deepcopy__(self, memo):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Generates a (deep) copy of the graph
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_5__deepcopy__(PyObject *__pyx_v_self, PyObject *__pyx_v_memo); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_4__deepcopy__[] = "\n\t\tGenerates a (deep) copy of the graph\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_5__deepcopy__(PyObject *__pyx_v_self, PyObject *__pyx_v_memo) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__deepcopy__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_4__deepcopy__(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), ((PyObject *)__pyx_v_memo));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_4__deepcopy__(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_memo) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Graph __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__deepcopy__", 0);

  /* "networkit/_NetworKit.pyx":548
 * 		Generates a (deep) copy of the graph
 * 		"""
 * 		return Graph().setThis(_Graph(self._this))             # <<<<<<<<<<<<<<
 * 
 * 	def __str__(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 548, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = NetworKit::Graph(__pyx_v_self->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 548, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 548, __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;

  /* "networkit/_NetworKit.pyx":544
 * 		return Graph().setThis(_Graph(self._this))
 * 
 * 	def __deepcopy__(self, memo):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Generates a (deep) copy of the graph
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.__deepcopy__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":550
 * 		return Graph().setThis(_Graph(self._this))
 * 
 * 	def __str__(self):             # <<<<<<<<<<<<<<
 * 		return "NetworKit.Graph(name={0}, n={1}, m={2})".format(self.getName(), self.numberOfNodes(), self.numberOfEdges())
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_7__str__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_7__str__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_6__str__(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_6__str__(struct __pyx_obj_9networkit_10_NetworKit_Graph *__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;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  __Pyx_RefNannySetupContext("__str__", 0);

  /* "networkit/_NetworKit.pyx":551
 * 
 * 	def __str__(self):
 * 		return "NetworKit.Graph(name={0}, n={1}, m={2})".format(self.getName(), self.numberOfNodes(), self.numberOfEdges())             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_NetworKit_Graph_name_0_n_1_m_2, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_getName); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_numberOfNodes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
    }
  }
  __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_numberOfEdges); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
    }
  }
  __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = NULL;
  __pyx_t_8 = 0;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_t_3, __pyx_t_4, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 551, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __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;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_t_3, __pyx_t_4, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 551, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __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;
  } else
  #endif
  {
    __pyx_t_7 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 551, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    if (__pyx_t_6) {
      __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
    }
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_8, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_8, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_8, __pyx_t_5);
    __pyx_t_3 = 0;
    __pyx_t_4 = 0;
    __pyx_t_5 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 551, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":550
 * 		return Graph().setThis(_Graph(self._this))
 * 
 * 	def __str__(self):             # <<<<<<<<<<<<<<
 * 		return "NetworKit.Graph(name={0}, n={1}, m={2})".format(self.getName(), self.numberOfNodes(), self.numberOfEdges())
 * 
 */

  /* 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_AddTraceback("networkit._NetworKit.Graph.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":554
 * 
 * 
 * 	def copyNodes(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Copies all nodes to a new graph
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_9copyNodes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_8copyNodes[] = "\n\t\tCopies all nodes to a new graph\n\n\t\tReturns\n\t\t-------\n\t\tnetworkit.Graph\n\t\t\tGraph with the same nodes (without edges)\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_9copyNodes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("copyNodes (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_8copyNodes(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_8copyNodes(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_v_warn = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  NetworKit::Graph __pyx_t_4;
  __Pyx_RefNannySetupContext("copyNodes", 0);

  /* "networkit/_NetworKit.pyx":563
 * 			Graph with the same nodes (without edges)
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.copyNodes is deprecated, use graphtools.copyNodes instead.")
 * 		return Graph().setThis(self._this.copyNodes())
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 563, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 563, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 563, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":564
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.copyNodes is deprecated, use graphtools.copyNodes instead.")             # <<<<<<<<<<<<<<
 * 		return Graph().setThis(self._this.copyNodes())
 * 
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_copyNodes_is_deprecated_us) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_copyNodes_is_deprecated_us);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 564, __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;

  /* "networkit/_NetworKit.pyx":565
 * 		from warnings import warn
 * 		warn("Graph.copyNodes is deprecated, use graphtools.copyNodes instead.")
 * 		return Graph().setThis(self._this.copyNodes())             # <<<<<<<<<<<<<<
 * 
 * 	def indexEdges(self, bool_t force = False):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 565, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  try {
    __pyx_t_4 = __pyx_v_self->_this.copyNodes();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 565, __pyx_L1_error)
  }
  __pyx_t_1 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_2)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_2), __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 565, __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;

  /* "networkit/_NetworKit.pyx":554
 * 
 * 
 * 	def copyNodes(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Copies all nodes to a new graph
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.copyNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":567
 * 		return Graph().setThis(self._this.copyNodes())
 * 
 * 	def indexEdges(self, bool_t force = False):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Assign integer ids to edges.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_11indexEdges(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_10indexEdges[] = "\n\t\tAssign integer ids to edges.\n\n\t\tParameters\n\t\t----------\n\t\tforce : bool\n\t\t\tForce re-indexing of edges.\n\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_11indexEdges(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  bool __pyx_v_force;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("indexEdges (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_force,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_force);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "indexEdges") < 0)) __PYX_ERR(0, 567, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_force = __Pyx_PyObject_IsTrue(values[0]); if (unlikely((__pyx_v_force == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 567, __pyx_L3_error)
    } else {
      __pyx_v_force = ((bool)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("indexEdges", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 567, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.indexEdges", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_10indexEdges(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), __pyx_v_force);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_10indexEdges(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, bool __pyx_v_force) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("indexEdges", 0);

  /* "networkit/_NetworKit.pyx":577
 * 
 * 		"""
 * 		self._this.indexEdges(force)             # <<<<<<<<<<<<<<
 * 
 * 	def hasEdgeIds(self):
 */
  try {
    __pyx_v_self->_this.indexEdges(__pyx_v_force);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 577, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":567
 * 		return Graph().setThis(self._this.copyNodes())
 * 
 * 	def indexEdges(self, bool_t force = False):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Assign integer ids to edges.
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.indexEdges", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":579
 * 		self._this.indexEdges(force)
 * 
 * 	def hasEdgeIds(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns true if edges have been indexed
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_13hasEdgeIds(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_12hasEdgeIds[] = "\n\t\tReturns true if edges have been indexed\n\n\t\tReturns\n\t\t-------\n\t\tbool\n\t\t\tIf edges have been indexed\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_13hasEdgeIds(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("hasEdgeIds (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_12hasEdgeIds(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_12hasEdgeIds(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("hasEdgeIds", 0);

  /* "networkit/_NetworKit.pyx":588
 * 			If edges have been indexed
 * 		"""
 * 		return self._this.hasEdgeIds()             # <<<<<<<<<<<<<<
 * 
 * 	def edgeId(self, node u, node v):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.hasEdgeIds();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 588, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":579
 * 		self._this.indexEdges(force)
 * 
 * 	def hasEdgeIds(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns true if edges have been indexed
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.hasEdgeIds", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":590
 * 		return self._this.hasEdgeIds()
 * 
 * 	def edgeId(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_15edgeId(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_14edgeId[] = "\n\t\tReturns\n\t\t-------\n\t\tedgeid\n\t\t\tid of the edge\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_15edgeId(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("edgeId (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("edgeId", 1, 2, 2, 1); __PYX_ERR(0, 590, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "edgeId") < 0)) __PYX_ERR(0, 590, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 590, __pyx_L3_error)
    __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 590, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("edgeId", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 590, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.edgeId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_14edgeId(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_14edgeId(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_edgeid __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("edgeId", 0);

  /* "networkit/_NetworKit.pyx":597
 * 			id of the edge
 * 		"""
 * 		return self._this.edgeId(u, v)             # <<<<<<<<<<<<<<
 * 
 * 	def numberOfNodes(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.edgeId(__pyx_v_u, __pyx_v_v);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 597, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":590
 * 		return self._this.hasEdgeIds()
 * 
 * 	def edgeId(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.edgeId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":599
 * 		return self._this.edgeId(u, v)
 * 
 * 	def numberOfNodes(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get the number of nodes in the graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_17numberOfNodes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_16numberOfNodes[] = "\n\t\tGet the number of nodes in the graph.\n\n\t \tReturns\n\t \t-------\n\t \tcount\n\t \t\tThe number of nodes.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_17numberOfNodes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("numberOfNodes (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_16numberOfNodes(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_16numberOfNodes(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("numberOfNodes", 0);

  /* "networkit/_NetworKit.pyx":608
 * 	 		The number of nodes.
 * 		"""
 * 		return self._this.numberOfNodes()             # <<<<<<<<<<<<<<
 * 
 * 	def numberOfEdges(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.numberOfNodes();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 608, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 608, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":599
 * 		return self._this.edgeId(u, v)
 * 
 * 	def numberOfNodes(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get the number of nodes in the graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.numberOfNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":610
 * 		return self._this.numberOfNodes()
 * 
 * 	def numberOfEdges(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get the number of edges in the graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_19numberOfEdges(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_18numberOfEdges[] = "\n\t\tGet the number of edges in the graph.\n\n\t \tReturns\n\t \t-------\n\t \tcount\n\t \t\tThe number of edges.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_19numberOfEdges(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("numberOfEdges (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_18numberOfEdges(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_18numberOfEdges(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("numberOfEdges", 0);

  /* "networkit/_NetworKit.pyx":619
 * 	 		The number of edges.
 * 		"""
 * 		return self._this.numberOfEdges()             # <<<<<<<<<<<<<<
 * 
 * 	def size(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.numberOfEdges();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 619, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 619, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":610
 * 		return self._this.numberOfNodes()
 * 
 * 	def numberOfEdges(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get the number of edges in the graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.numberOfEdges", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":621
 * 		return self._this.numberOfEdges()
 * 
 * 	def size(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get the size of the graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_21size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_20size[] = "\n\t\tGet the size of the graph.\n\n\t \tReturns\n\t \t-------\n\t \ttuple\n\t \t\ta pair (n, m) where n is the number of nodes and m is the number of edges\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_21size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("size (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_20size(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_20size(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_v_warn = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::pair<__pyx_t_9networkit_10_NetworKit_count,__pyx_t_9networkit_10_NetworKit_count>  __pyx_t_4;
  __Pyx_RefNannySetupContext("size", 0);

  /* "networkit/_NetworKit.pyx":630
 * 	 		a pair (n, m) where n is the number of nodes and m is the number of edges
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.size is deprecated, use graphtools.size instead.")
 * 		return self._this.size()
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":631
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.size is deprecated, use graphtools.size instead.")             # <<<<<<<<<<<<<<
 * 		return self._this.size()
 * 
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_size_is_deprecated_use_gra) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_size_is_deprecated_use_gra);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 631, __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;

  /* "networkit/_NetworKit.pyx":632
 * 		from warnings import warn
 * 		warn("Graph.size is deprecated, use graphtools.size instead.")
 * 		return self._this.size()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_4 = __pyx_v_self->_this.size();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 632, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_count______pyx_t_9networkit_10_NetworKit_count(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 632, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":621
 * 		return self._this.numberOfEdges()
 * 
 * 	def size(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get the size of the graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.size", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":635
 * 
 * 
 * 	def density(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get the density of the graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_23density(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_22density[] = "\n\t\tGet the density of the graph.\n\n\t \tReturns\n\t \t-------\n\t \tdouble\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_23density(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("density (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_22density(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_22density(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_v_warn = NULL;
  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;
  __Pyx_RefNannySetupContext("density", 0);

  /* "networkit/_NetworKit.pyx":643
 * 	 	double
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.density is deprecated, use graphtools.density instead.")
 * 		return self._this.density()
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":644
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.density is deprecated, use graphtools.density instead.")             # <<<<<<<<<<<<<<
 * 		return self._this.density()
 * 
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_density_is_deprecated_use) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_density_is_deprecated_use);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 644, __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;

  /* "networkit/_NetworKit.pyx":645
 * 		from warnings import warn
 * 		warn("Graph.density is deprecated, use graphtools.density instead.")
 * 		return self._this.density()             # <<<<<<<<<<<<<<
 * 
 * 	def upperNodeIdBound(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_4 = __pyx_v_self->_this.density();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 645, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":635
 * 
 * 
 * 	def density(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get the density of the graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.density", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":647
 * 		return self._this.density()
 * 
 * 	def upperNodeIdBound(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get an upper bound for the node ids in the graph
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_25upperNodeIdBound(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_24upperNodeIdBound[] = "\n\t\tGet an upper bound for the node ids in the graph\n\n\t\tReturns\n\t\t-------\n\t\tcount\n\t\t\tAn upper bound for the node ids in the graph\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_25upperNodeIdBound(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("upperNodeIdBound (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_24upperNodeIdBound(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_24upperNodeIdBound(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_index __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("upperNodeIdBound", 0);

  /* "networkit/_NetworKit.pyx":656
 * 			An upper bound for the node ids in the graph
 * 		"""
 * 		return self._this.upperNodeIdBound()             # <<<<<<<<<<<<<<
 * 
 * 	def upperEdgeIdBound(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.upperNodeIdBound();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 656, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 656, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":647
 * 		return self._this.density()
 * 
 * 	def upperNodeIdBound(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get an upper bound for the node ids in the graph
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.upperNodeIdBound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":658
 * 		return self._this.upperNodeIdBound()
 * 
 * 	def upperEdgeIdBound(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get an upper bound for the edge ids in the graph
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_27upperEdgeIdBound(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_26upperEdgeIdBound[] = "\n\t\tGet an upper bound for the edge ids in the graph\n\n\t\tReturns\n\t\t-------\n\t\tcount\n\t\t\tAn upper bound for the edge ids in the graph\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_27upperEdgeIdBound(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("upperEdgeIdBound (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_26upperEdgeIdBound(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_26upperEdgeIdBound(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_index __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("upperEdgeIdBound", 0);

  /* "networkit/_NetworKit.pyx":667
 * 			An upper bound for the edge ids in the graph
 * 		"""
 * 		return self._this.upperEdgeIdBound()             # <<<<<<<<<<<<<<
 * 
 * 	def degree(self, u):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.upperEdgeIdBound();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 667, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 667, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":658
 * 		return self._this.upperNodeIdBound()
 * 
 * 	def upperEdgeIdBound(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get an upper bound for the edge ids in the graph
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.upperEdgeIdBound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":669
 * 		return self._this.upperEdgeIdBound()
 * 
 * 	def degree(self, u):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get the number of neighbors of `v`.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_29degree(PyObject *__pyx_v_self, PyObject *__pyx_v_u); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_28degree[] = "\n\t\tGet the number of neighbors of `v`.\n\n\t\tParameters\n\t\t----------\n\t\tv : node\n\t\t\tNode.\n\n\t\tReturns\n\t\t-------\n\t\tcount\n\t\t\tThe number of neighbors.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_29degree(PyObject *__pyx_v_self, PyObject *__pyx_v_u) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("degree (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_28degree(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), ((PyObject *)__pyx_v_u));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_28degree(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("degree", 0);

  /* "networkit/_NetworKit.pyx":683
 * 			The number of neighbors.
 * 		"""
 * 		return self._this.degree(u)             # <<<<<<<<<<<<<<
 * 
 * 	def degreeIn(self, u):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 683, __pyx_L1_error)
  try {
    __pyx_t_2 = __pyx_v_self->_this.degree(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 683, __pyx_L1_error)
  }
  __pyx_t_3 = __Pyx_PyInt_From_uint64_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":669
 * 		return self._this.upperEdgeIdBound()
 * 
 * 	def degree(self, u):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get the number of neighbors of `v`.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.degree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":685
 * 		return self._this.degree(u)
 * 
 * 	def degreeIn(self, u):             # <<<<<<<<<<<<<<
 * 		return self._this.degreeIn(u)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_31degreeIn(PyObject *__pyx_v_self, PyObject *__pyx_v_u); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_31degreeIn(PyObject *__pyx_v_self, PyObject *__pyx_v_u) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("degreeIn (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_30degreeIn(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), ((PyObject *)__pyx_v_u));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_30degreeIn(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("degreeIn", 0);

  /* "networkit/_NetworKit.pyx":686
 * 
 * 	def degreeIn(self, u):
 * 		return self._this.degreeIn(u)             # <<<<<<<<<<<<<<
 * 
 * 	def degreeOut(self, u):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 686, __pyx_L1_error)
  try {
    __pyx_t_2 = __pyx_v_self->_this.degreeIn(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 686, __pyx_L1_error)
  }
  __pyx_t_3 = __Pyx_PyInt_From_uint64_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 686, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":685
 * 		return self._this.degree(u)
 * 
 * 	def degreeIn(self, u):             # <<<<<<<<<<<<<<
 * 		return self._this.degreeIn(u)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.degreeIn", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":688
 * 		return self._this.degreeIn(u)
 * 
 * 	def degreeOut(self, u):             # <<<<<<<<<<<<<<
 * 		return self._this.degreeOut(u)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_33degreeOut(PyObject *__pyx_v_self, PyObject *__pyx_v_u); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_33degreeOut(PyObject *__pyx_v_self, PyObject *__pyx_v_u) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("degreeOut (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_32degreeOut(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), ((PyObject *)__pyx_v_u));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_32degreeOut(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("degreeOut", 0);

  /* "networkit/_NetworKit.pyx":689
 * 
 * 	def degreeOut(self, u):
 * 		return self._this.degreeOut(u)             # <<<<<<<<<<<<<<
 * 
 * 	def weightedDegree(self, u, countSelfLoopsTwice=False):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 689, __pyx_L1_error)
  try {
    __pyx_t_2 = __pyx_v_self->_this.degreeOut(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 689, __pyx_L1_error)
  }
  __pyx_t_3 = __Pyx_PyInt_From_uint64_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":688
 * 		return self._this.degreeIn(u)
 * 
 * 	def degreeOut(self, u):             # <<<<<<<<<<<<<<
 * 		return self._this.degreeOut(u)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.degreeOut", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":691
 * 		return self._this.degreeOut(u)
 * 
 * 	def weightedDegree(self, u, countSelfLoopsTwice=False):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the weighted out-degree of u.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_35weightedDegree(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_34weightedDegree[] = "\n\t\tReturns the weighted out-degree of u.\n\n\t\tFor directed graphs this is the sum of weights of all outgoing edges of u.\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tNode.\n\t\tcountSelfLoopsTwice : bool\n\t\t\tIf set to true, self-loops will be counted twice\n\n\t\tReturns\n\t\t-------\n\t\tdouble\n\t\t\tThe weighted out-degree of u.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_35weightedDegree(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_u = 0;
  PyObject *__pyx_v_countSelfLoopsTwice = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("weightedDegree (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_countSelfLoopsTwice,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_countSelfLoopsTwice);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "weightedDegree") < 0)) __PYX_ERR(0, 691, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_u = values[0];
    __pyx_v_countSelfLoopsTwice = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("weightedDegree", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 691, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.weightedDegree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_34weightedDegree(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), __pyx_v_u, __pyx_v_countSelfLoopsTwice);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_34weightedDegree(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_countSelfLoopsTwice) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  bool __pyx_t_2;
  double __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("weightedDegree", 0);

  /* "networkit/_NetworKit.pyx":709
 * 			The weighted out-degree of u.
 * 		"""
 * 		return self._this.weightedDegree(u, countSelfLoopsTwice)             # <<<<<<<<<<<<<<
 * 
 * 	def weightedDegreeIn(self, u, countSelfLoopsTwice=False):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 709, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_countSelfLoopsTwice); if (unlikely((__pyx_t_2 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 709, __pyx_L1_error)
  try {
    __pyx_t_3 = __pyx_v_self->_this.weightedDegree(__pyx_t_1, __pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 709, __pyx_L1_error)
  }
  __pyx_t_4 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":691
 * 		return self._this.degreeOut(u)
 * 
 * 	def weightedDegree(self, u, countSelfLoopsTwice=False):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the weighted out-degree of u.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.weightedDegree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":711
 * 		return self._this.weightedDegree(u, countSelfLoopsTwice)
 * 
 * 	def weightedDegreeIn(self, u, countSelfLoopsTwice=False):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the weighted in-degree of u.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_37weightedDegreeIn(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_36weightedDegreeIn[] = "\n\t\tReturns the weighted in-degree of u.\n\n\t\tFor directed graphs this is the sum of weights of all ingoing edges of u.\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tNode.\n\t\tcountSelfLoopsTwice : bool\n\t\t\tIf set to true, self-loops will be counted twice\n\n\t\tReturns\n\t\t-------\n\t\tdouble\n\t\t\tThe weighted in-degree of u.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_37weightedDegreeIn(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_u = 0;
  PyObject *__pyx_v_countSelfLoopsTwice = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("weightedDegreeIn (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_countSelfLoopsTwice,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_countSelfLoopsTwice);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "weightedDegreeIn") < 0)) __PYX_ERR(0, 711, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_u = values[0];
    __pyx_v_countSelfLoopsTwice = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("weightedDegreeIn", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 711, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.weightedDegreeIn", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_36weightedDegreeIn(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), __pyx_v_u, __pyx_v_countSelfLoopsTwice);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_36weightedDegreeIn(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_countSelfLoopsTwice) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  bool __pyx_t_2;
  double __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("weightedDegreeIn", 0);

  /* "networkit/_NetworKit.pyx":729
 * 			The weighted in-degree of u.
 * 		"""
 * 		return self._this.weightedDegreeIn(u, countSelfLoopsTwice)             # <<<<<<<<<<<<<<
 * 
 * 	def maxDegree(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 729, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_countSelfLoopsTwice); if (unlikely((__pyx_t_2 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 729, __pyx_L1_error)
  try {
    __pyx_t_3 = __pyx_v_self->_this.weightedDegreeIn(__pyx_t_1, __pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 729, __pyx_L1_error)
  }
  __pyx_t_4 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":711
 * 		return self._this.weightedDegree(u, countSelfLoopsTwice)
 * 
 * 	def weightedDegreeIn(self, u, countSelfLoopsTwice=False):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the weighted in-degree of u.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.weightedDegreeIn", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":731
 * 		return self._this.weightedDegreeIn(u, countSelfLoopsTwice)
 * 
 * 	def maxDegree(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the maximum out-degree of the graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_39maxDegree(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_38maxDegree[] = "\n\t\tReturns the maximum out-degree of the graph.\n\n\t\tReturns\n\t\t-------\n\t\tcount\n\t\t\tMaximum out-degree of the graph.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_39maxDegree(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("maxDegree (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_38maxDegree(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_38maxDegree(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_v_warn = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_4;
  __Pyx_RefNannySetupContext("maxDegree", 0);

  /* "networkit/_NetworKit.pyx":740
 * 			Maximum out-degree of the graph.
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.maxDegree is deprecated, use graphtools.maxDegree instead.")
 * 		return self._this.maxDegree()
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 740, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 740, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 740, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":741
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.maxDegree is deprecated, use graphtools.maxDegree instead.")             # <<<<<<<<<<<<<<
 * 		return self._this.maxDegree()
 * 
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_maxDegree_is_deprecated_us) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_maxDegree_is_deprecated_us);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 741, __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;

  /* "networkit/_NetworKit.pyx":742
 * 		from warnings import warn
 * 		warn("Graph.maxDegree is deprecated, use graphtools.maxDegree instead.")
 * 		return self._this.maxDegree()             # <<<<<<<<<<<<<<
 * 
 * 	def maxDegreeIn(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_4 = __pyx_v_self->_this.maxDegree();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 742, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":731
 * 		return self._this.weightedDegreeIn(u, countSelfLoopsTwice)
 * 
 * 	def maxDegree(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the maximum out-degree of the graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.maxDegree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":744
 * 		return self._this.maxDegree()
 * 
 * 	def maxDegreeIn(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the maximum in-degree of the graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_41maxDegreeIn(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_40maxDegreeIn[] = "\n\t\tReturns the maximum in-degree of the graph.\n\n\t\tReturns\n\t\t-------\n\t\tcount\n\t\t\tMaximum in-degree of the graph.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_41maxDegreeIn(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("maxDegreeIn (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_40maxDegreeIn(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_40maxDegreeIn(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_v_warn = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_4;
  __Pyx_RefNannySetupContext("maxDegreeIn", 0);

  /* "networkit/_NetworKit.pyx":753
 * 			Maximum in-degree of the graph.
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.maxDegreeIn is deprecated, use graphtools.maxInDegree instead.")
 * 		return self._this.maxDegreeIn()
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":754
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.maxDegreeIn is deprecated, use graphtools.maxInDegree instead.")             # <<<<<<<<<<<<<<
 * 		return self._this.maxDegreeIn()
 * 
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_maxDegreeIn_is_deprecated) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_maxDegreeIn_is_deprecated);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 754, __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;

  /* "networkit/_NetworKit.pyx":755
 * 		from warnings import warn
 * 		warn("Graph.maxDegreeIn is deprecated, use graphtools.maxInDegree instead.")
 * 		return self._this.maxDegreeIn()             # <<<<<<<<<<<<<<
 * 
 * 	def maxWeightedDegree(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_4 = __pyx_v_self->_this.maxDegreeIn();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 755, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 755, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":744
 * 		return self._this.maxDegree()
 * 
 * 	def maxDegreeIn(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the maximum in-degree of the graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.maxDegreeIn", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":757
 * 		return self._this.maxDegreeIn()
 * 
 * 	def maxWeightedDegree(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the maximum weighted degree of the graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_43maxWeightedDegree(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_42maxWeightedDegree[] = "\n\t\tReturns the maximum weighted degree of the graph.\n\n\t\tReturns\n\t\t-------\n\t\tdouble\n\t\t\tMaximum weighted degree of the graph.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_43maxWeightedDegree(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("maxWeightedDegree (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_42maxWeightedDegree(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_42maxWeightedDegree(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_v_warn = NULL;
  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;
  __Pyx_RefNannySetupContext("maxWeightedDegree", 0);

  /* "networkit/_NetworKit.pyx":766
 * 			Maximum weighted degree of the graph.
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.maxWeightedDegree is deprecated, use graphtools.maxWeightedDegree instead.")
 * 		return self._this.maxWeightedDegree()
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 766, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 766, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 766, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":767
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.maxWeightedDegree is deprecated, use graphtools.maxWeightedDegree instead.")             # <<<<<<<<<<<<<<
 * 		return self._this.maxWeightedDegree()
 * 
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_maxWeightedDegree_is_depre) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_maxWeightedDegree_is_depre);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 767, __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;

  /* "networkit/_NetworKit.pyx":768
 * 		from warnings import warn
 * 		warn("Graph.maxWeightedDegree is deprecated, use graphtools.maxWeightedDegree instead.")
 * 		return self._this.maxWeightedDegree()             # <<<<<<<<<<<<<<
 * 
 * 	def maxWeightedDegreeIn(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_4 = __pyx_v_self->_this.maxWeightedDegree();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 768, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 768, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":757
 * 		return self._this.maxDegreeIn()
 * 
 * 	def maxWeightedDegree(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the maximum weighted degree of the graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.maxWeightedDegree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":770
 * 		return self._this.maxWeightedDegree()
 * 
 * 	def maxWeightedDegreeIn(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the maximum weighted in degree of the graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_45maxWeightedDegreeIn(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_44maxWeightedDegreeIn[] = "\n\t\tReturns the maximum weighted in degree of the graph.\n\n\t\tReturns\n\t\t-------\n\t\tdouble\n\t\t\tMaximum weighted in degree of the graph.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_45maxWeightedDegreeIn(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("maxWeightedDegreeIn (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_44maxWeightedDegreeIn(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_44maxWeightedDegreeIn(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_v_warn = NULL;
  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;
  __Pyx_RefNannySetupContext("maxWeightedDegreeIn", 0);

  /* "networkit/_NetworKit.pyx":779
 * 			Maximum weighted in degree of the graph.
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.maxWeightedDegreeIn is deprecated, use graphtools.maxWeightedInDegree instead.")
 * 		return self._this.maxWeightedDegreeIn()
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":780
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.maxWeightedDegreeIn is deprecated, use graphtools.maxWeightedInDegree instead.")             # <<<<<<<<<<<<<<
 * 		return self._this.maxWeightedDegreeIn()
 * 
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_maxWeightedDegreeIn_is_dep) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_maxWeightedDegreeIn_is_dep);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 780, __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;

  /* "networkit/_NetworKit.pyx":781
 * 		from warnings import warn
 * 		warn("Graph.maxWeightedDegreeIn is deprecated, use graphtools.maxWeightedInDegree instead.")
 * 		return self._this.maxWeightedDegreeIn()             # <<<<<<<<<<<<<<
 * 
 * 	def isIsolated(self, u):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_4 = __pyx_v_self->_this.maxWeightedDegreeIn();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 781, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 781, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":770
 * 		return self._this.maxWeightedDegree()
 * 
 * 	def maxWeightedDegreeIn(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the maximum weighted in degree of the graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.maxWeightedDegreeIn", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":783
 * 		return self._this.maxWeightedDegreeIn()
 * 
 * 	def isIsolated(self, u):             # <<<<<<<<<<<<<<
 * 		"""
 * 		If the node `u` is isolated
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_47isIsolated(PyObject *__pyx_v_self, PyObject *__pyx_v_u); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_46isIsolated[] = "\n\t\tIf the node `u` is isolated\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tNode.\n\n\t\tReturns\n\t\t-------\n\t\tbool\n\t\t\tIf the node is isolated\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_47isIsolated(PyObject *__pyx_v_self, PyObject *__pyx_v_u) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isIsolated (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_46isIsolated(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), ((PyObject *)__pyx_v_u));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_46isIsolated(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  bool __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("isIsolated", 0);

  /* "networkit/_NetworKit.pyx":797
 * 			If the node is isolated
 * 		"""
 * 		return self._this.isIsolated(u)             # <<<<<<<<<<<<<<
 * 
 * 	def addNode(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 797, __pyx_L1_error)
  try {
    __pyx_t_2 = __pyx_v_self->_this.isIsolated(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 797, __pyx_L1_error)
  }
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":783
 * 		return self._this.maxWeightedDegreeIn()
 * 
 * 	def isIsolated(self, u):             # <<<<<<<<<<<<<<
 * 		"""
 * 		If the node `u` is isolated
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.isIsolated", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":799
 * 		return self._this.isIsolated(u)
 * 
 * 	def addNode(self):             # <<<<<<<<<<<<<<
 * 		""" Add a new node to the graph and return it.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_49addNode(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_48addNode[] = " Add a new node to the graph and return it.\n\n\t\tReturns\n\t\t-------\n\t\tnode\n\t\t\tThe new node.\n\t \t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_49addNode(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addNode (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_48addNode(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_48addNode(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("addNode", 0);

  /* "networkit/_NetworKit.pyx":807
 * 			The new node.
 * 	 	"""
 * 		return self._this.addNode()             # <<<<<<<<<<<<<<
 * 
 * 	def addNodes(self, numberOfNewNodes):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.addNode();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 807, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 807, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":799
 * 		return self._this.isIsolated(u)
 * 
 * 	def addNode(self):             # <<<<<<<<<<<<<<
 * 		""" Add a new node to the graph and return it.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.addNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":809
 * 		return self._this.addNode()
 * 
 * 	def addNodes(self, numberOfNewNodes):             # <<<<<<<<<<<<<<
 * 		""" Add numberOfNewNodes many new nodes to the graph and return
 * 		the id of the last node added.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_51addNodes(PyObject *__pyx_v_self, PyObject *__pyx_v_numberOfNewNodes); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_50addNodes[] = " Add numberOfNewNodes many new nodes to the graph and return\n\t\tthe id of the last node added.\n\n\t\tParameters\n\t\t----------\n\t\tnumberOfNewNodes : node\n\t\t\tNumber of nodes to be added.\n\n\t\tReturns\n\t\t-------\n\t\tnode\n\t\t\tThe id of the last node added.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_51addNodes(PyObject *__pyx_v_self, PyObject *__pyx_v_numberOfNewNodes) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addNodes (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_50addNodes(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), ((PyObject *)__pyx_v_numberOfNewNodes));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_50addNodes(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_numberOfNewNodes) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_3;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_4;
  __Pyx_RefNannySetupContext("addNodes", 0);

  /* "networkit/_NetworKit.pyx":823
 * 			The id of the last node added.
 * 		"""
 * 		assert(numberOfNewNodes >= 0)             # <<<<<<<<<<<<<<
 * 		return self._this.addNodes(numberOfNewNodes)
 * 
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = PyObject_RichCompare(__pyx_v_numberOfNewNodes, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 823, __pyx_L1_error)
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 823, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(0, 823, __pyx_L1_error)
    }
  }
  #endif

  /* "networkit/_NetworKit.pyx":824
 * 		"""
 * 		assert(numberOfNewNodes >= 0)
 * 		return self._this.addNodes(numberOfNewNodes)             # <<<<<<<<<<<<<<
 * 
 * 	def removeNode(self, u):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyInt_As_uint64_t(__pyx_v_numberOfNewNodes); if (unlikely((__pyx_t_3 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 824, __pyx_L1_error)
  try {
    __pyx_t_4 = __pyx_v_self->_this.addNodes(__pyx_t_3);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 824, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":809
 * 		return self._this.addNode()
 * 
 * 	def addNodes(self, numberOfNewNodes):             # <<<<<<<<<<<<<<
 * 		""" Add numberOfNewNodes many new nodes to the graph and return
 * 		the id of the last node added.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.addNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":826
 * 		return self._this.addNodes(numberOfNewNodes)
 * 
 * 	def removeNode(self, u):             # <<<<<<<<<<<<<<
 * 		""" Remove a node `v` and all incident edges from the graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_53removeNode(PyObject *__pyx_v_self, PyObject *__pyx_v_u); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_52removeNode[] = " Remove a node `v` and all incident edges from the graph.\n\n\t \tIncoming as well as outgoing edges will be removed.\n\n\t \tParameters\n\t \t----------\n\t \tu : node\n\t \t\tId of node to be removed.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_53removeNode(PyObject *__pyx_v_self, PyObject *__pyx_v_u) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("removeNode (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_52removeNode(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), ((PyObject *)__pyx_v_u));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_52removeNode(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __Pyx_RefNannySetupContext("removeNode", 0);

  /* "networkit/_NetworKit.pyx":836
 * 	 		Id of node to be removed.
 * 		"""
 * 		self._this.removeNode(u)             # <<<<<<<<<<<<<<
 * 
 * 	def restoreNode(self, u):
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 836, __pyx_L1_error)
  try {
    __pyx_v_self->_this.removeNode(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 836, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":826
 * 		return self._this.addNodes(numberOfNewNodes)
 * 
 * 	def removeNode(self, u):             # <<<<<<<<<<<<<<
 * 		""" Remove a node `v` and all incident edges from the graph.
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.removeNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":838
 * 		self._this.removeNode(u)
 * 
 * 	def restoreNode(self, u):             # <<<<<<<<<<<<<<
 * 		""" Restores a previously deleted node `u` with its previous id in the graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_55restoreNode(PyObject *__pyx_v_self, PyObject *__pyx_v_u); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_54restoreNode[] = " Restores a previously deleted node `u` with its previous id in the graph.\n\n\t \tParameters\n\t \t----------\n\t \tu : node\n\t \t\tNode.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_55restoreNode(PyObject *__pyx_v_self, PyObject *__pyx_v_u) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("restoreNode (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_54restoreNode(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), ((PyObject *)__pyx_v_u));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_54restoreNode(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __Pyx_RefNannySetupContext("restoreNode", 0);

  /* "networkit/_NetworKit.pyx":846
 * 	 		Node.
 * 		"""
 * 		self._this.restoreNode(u)             # <<<<<<<<<<<<<<
 * 
 * 	def hasNode(self, u):
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 846, __pyx_L1_error)
  try {
    __pyx_v_self->_this.restoreNode(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 846, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":838
 * 		self._this.removeNode(u)
 * 
 * 	def restoreNode(self, u):             # <<<<<<<<<<<<<<
 * 		""" Restores a previously deleted node `u` with its previous id in the graph.
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.restoreNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":848
 * 		self._this.restoreNode(u)
 * 
 * 	def hasNode(self, u):             # <<<<<<<<<<<<<<
 * 		""" Checks if the Graph has the node `u`, i.e. if `u` hasn't been deleted and is in the range of valid ids.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_57hasNode(PyObject *__pyx_v_self, PyObject *__pyx_v_u); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_56hasNode[] = " Checks if the Graph has the node `u`, i.e. if `u` hasn't been deleted and is in the range of valid ids.\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tId of node queried.\n\n\t\tReturns\n\t\t-------\n\t\tbool\n\t\t\tIf the Graph has the node `u`\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_57hasNode(PyObject *__pyx_v_self, PyObject *__pyx_v_u) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("hasNode (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_56hasNode(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), ((PyObject *)__pyx_v_u));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_56hasNode(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  bool __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("hasNode", 0);

  /* "networkit/_NetworKit.pyx":861
 * 			If the Graph has the node `u`
 * 		"""
 * 		return self._this.hasNode(u)             # <<<<<<<<<<<<<<
 * 
 * 	def append(self, Graph G):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 861, __pyx_L1_error)
  try {
    __pyx_t_2 = __pyx_v_self->_this.hasNode(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 861, __pyx_L1_error)
  }
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":848
 * 		self._this.restoreNode(u)
 * 
 * 	def hasNode(self, u):             # <<<<<<<<<<<<<<
 * 		""" Checks if the Graph has the node `u`, i.e. if `u` hasn't been deleted and is in the range of valid ids.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.hasNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":863
 * 		return self._this.hasNode(u)
 * 
 * 	def append(self, Graph G):             # <<<<<<<<<<<<<<
 * 		""" Appends another graph to this graph as a new subgraph. Performs node id remapping.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_59append(PyObject *__pyx_v_self, PyObject *__pyx_v_G); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_58append[] = " Appends another graph to this graph as a new subgraph. Performs node id remapping.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_59append(PyObject *__pyx_v_self, PyObject *__pyx_v_G) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("append (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 863, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_58append(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_G));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_58append(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  PyObject *__pyx_v_warn = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("append", 0);

  /* "networkit/_NetworKit.pyx":870
 * 		G : networkit.Graph
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.append is deprecated, use graphtools.append instead.")
 * 		self._this.append(G._this)
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":871
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.append is deprecated, use graphtools.append instead.")             # <<<<<<<<<<<<<<
 * 		self._this.append(G._this)
 * 		return self
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_append_is_deprecated_use_g) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_append_is_deprecated_use_g);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 871, __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;

  /* "networkit/_NetworKit.pyx":872
 * 		from warnings import warn
 * 		warn("Graph.append is deprecated, use graphtools.append instead.")
 * 		self._this.append(G._this)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
  try {
    __pyx_v_self->_this.append(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 872, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":873
 * 		warn("Graph.append is deprecated, use graphtools.append instead.")
 * 		self._this.append(G._this)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def merge(self, Graph G):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":863
 * 		return self._this.hasNode(u)
 * 
 * 	def append(self, Graph G):             # <<<<<<<<<<<<<<
 * 		""" Appends another graph to this graph as a new subgraph. Performs node id remapping.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.append", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":875
 * 		return self
 * 
 * 	def merge(self, Graph G):             # <<<<<<<<<<<<<<
 * 		""" Modifies this graph to be the union of it and another graph.
 * 			Nodes with the same ids are identified with each other.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_61merge(PyObject *__pyx_v_self, PyObject *__pyx_v_G); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_60merge[] = " Modifies this graph to be the union of it and another graph.\n\t\t\tNodes with the same ids are identified with each other.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_61merge(PyObject *__pyx_v_self, PyObject *__pyx_v_G) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("merge (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 875, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_60merge(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_G));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_60merge(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  PyObject *__pyx_v_warn = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("merge", 0);

  /* "networkit/_NetworKit.pyx":883
 * 		G : networkit.Graph
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.merge is deprecated, use graphtools.merge instead.")
 * 		self._this.merge(G._this)
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":884
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.merge is deprecated, use graphtools.merge instead.")             # <<<<<<<<<<<<<<
 * 		self._this.merge(G._this)
 * 		return self
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_merge_is_deprecated_use_gr) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_merge_is_deprecated_use_gr);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 884, __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;

  /* "networkit/_NetworKit.pyx":885
 * 		from warnings import warn
 * 		warn("Graph.merge is deprecated, use graphtools.merge instead.")
 * 		self._this.merge(G._this)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
  try {
    __pyx_v_self->_this.merge(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 885, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":886
 * 		warn("Graph.merge is deprecated, use graphtools.merge instead.")
 * 		self._this.merge(G._this)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def addEdge(self, u, v, w=1.0, addMissing = False):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":875
 * 		return self
 * 
 * 	def merge(self, Graph G):             # <<<<<<<<<<<<<<
 * 		""" Modifies this graph to be the union of it and another graph.
 * 			Nodes with the same ids are identified with each other.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.merge", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":888
 * 		return self
 * 
 * 	def addEdge(self, u, v, w=1.0, addMissing = False):             # <<<<<<<<<<<<<<
 * 		""" Insert an undirected edge between the nodes `u` and `v`. If the graph is weighted you can optionally
 * 		set a weight for this edge. The default weight is 1.0.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_63addEdge(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_62addEdge[] = " Insert an undirected edge between the nodes `u` and `v`. If the graph is weighted you can optionally\n\t\tset a weight for this edge. The default weight is 1.0.\n\t\tIf one or both end-points do not exists and addMissing is set, they are silently added.\n\t\tCaution: It is not checked whether this edge already exists, thus it is possible to create multi-edges.\n\n\t \tParameters\n\t \t----------\n\t \tu : node\n\t \t\tEndpoint of edge.\n \t\tv : node\n \t\t\tEndpoint of edge.\n\t\tw : edgeweight, optional\n\t\t\tEdge weight.\n\t\taddMissing : optional, default: False\n\t\t\tAdd add missing endpoints if necessary (i.e., increase numberOfNodes).\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_63addEdge(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_u = 0;
  PyObject *__pyx_v_v = 0;
  PyObject *__pyx_v_w = 0;
  PyObject *__pyx_v_addMissing = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addEdge (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,&__pyx_n_s_w,&__pyx_n_s_addMissing,0};
    PyObject* values[4] = {0,0,0,0};
    values[2] = ((PyObject *)__pyx_float_1_0);
    values[3] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("addEdge", 0, 2, 4, 1); __PYX_ERR(0, 888, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_w);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_addMissing);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "addEdge") < 0)) __PYX_ERR(0, 888, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_u = values[0];
    __pyx_v_v = values[1];
    __pyx_v_w = values[2];
    __pyx_v_addMissing = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addEdge", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 888, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.addEdge", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_62addEdge(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), __pyx_v_u, __pyx_v_v, __pyx_v_w, __pyx_v_addMissing);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_62addEdge(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v, PyObject *__pyx_v_w, PyObject *__pyx_v_addMissing) {
  PyObject *__pyx_v_k = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_2;
  bool __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  __pyx_t_9networkit_10_NetworKit_index __pyx_t_10;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_11;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_12;
  __Pyx_RefNannySetupContext("addEdge", 0);

  /* "networkit/_NetworKit.pyx":905
 * 			Add add missing endpoints if necessary (i.e., increase numberOfNodes).
 * 		"""
 * 		if not (self._this.hasNode(u) and self._this.hasNode(v)):             # <<<<<<<<<<<<<<
 * 			if not addMissing:
 * 				raise RuntimeError("Cannot create edge ({0}, {1}) as at least one end point does not exsists".format(u,v))
 */
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 905, __pyx_L1_error)
  try {
    __pyx_t_3 = __pyx_v_self->_this.hasNode(__pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 905, __pyx_L1_error)
  }
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (__pyx_t_4) {
  } else {
    __pyx_t_1 = __pyx_t_4;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 905, __pyx_L1_error)
  try {
    __pyx_t_3 = __pyx_v_self->_this.hasNode(__pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 905, __pyx_L1_error)
  }
  __pyx_t_4 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_4;
  __pyx_L4_bool_binop_done:;
  __pyx_t_4 = ((!__pyx_t_1) != 0);
  if (__pyx_t_4) {

    /* "networkit/_NetworKit.pyx":906
 * 		"""
 * 		if not (self._this.hasNode(u) and self._this.hasNode(v)):
 * 			if not addMissing:             # <<<<<<<<<<<<<<
 * 				raise RuntimeError("Cannot create edge ({0}, {1}) as at least one end point does not exsists".format(u,v))
 * 
 */
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_addMissing); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 906, __pyx_L1_error)
    __pyx_t_1 = ((!__pyx_t_4) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "networkit/_NetworKit.pyx":907
 * 		if not (self._this.hasNode(u) and self._this.hasNode(v)):
 * 			if not addMissing:
 * 				raise RuntimeError("Cannot create edge ({0}, {1}) as at least one end point does not exsists".format(u,v))             # <<<<<<<<<<<<<<
 * 
 * 			k = max(u, v)
 */
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Cannot_create_edge_0_1_as_at_lea, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 907, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = NULL;
      __pyx_t_8 = 0;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
        if (likely(__pyx_t_7)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
          __Pyx_INCREF(__pyx_t_7);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_6, function);
          __pyx_t_8 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_u, __pyx_v_v};
        __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 907, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_5);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_u, __pyx_v_v};
        __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 907, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_GOTREF(__pyx_t_5);
      } else
      #endif
      {
        __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 907, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        if (__pyx_t_7) {
          __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
        }
        __Pyx_INCREF(__pyx_v_u);
        __Pyx_GIVEREF(__pyx_v_u);
        PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_v_u);
        __Pyx_INCREF(__pyx_v_v);
        __Pyx_GIVEREF(__pyx_v_v);
        PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_v_v);
        __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 907, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      }
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 907, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_Raise(__pyx_t_6, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __PYX_ERR(0, 907, __pyx_L1_error)

      /* "networkit/_NetworKit.pyx":906
 * 		"""
 * 		if not (self._this.hasNode(u) and self._this.hasNode(v)):
 * 			if not addMissing:             # <<<<<<<<<<<<<<
 * 				raise RuntimeError("Cannot create edge ({0}, {1}) as at least one end point does not exsists".format(u,v))
 * 
 */
    }

    /* "networkit/_NetworKit.pyx":909
 * 				raise RuntimeError("Cannot create edge ({0}, {1}) as at least one end point does not exsists".format(u,v))
 * 
 * 			k = max(u, v)             # <<<<<<<<<<<<<<
 * 			if k >= self._this.upperNodeIdBound():
 * 				self._this.addNodes(k - self._this.upperNodeIdBound() + 1)
 */
    __Pyx_INCREF(__pyx_v_v);
    __pyx_t_6 = __pyx_v_v;
    __Pyx_INCREF(__pyx_v_u);
    __pyx_t_5 = __pyx_v_u;
    __pyx_t_7 = PyObject_RichCompare(__pyx_t_6, __pyx_t_5, Py_GT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 909, __pyx_L1_error)
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 909, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (__pyx_t_1) {
      __Pyx_INCREF(__pyx_t_6);
      __pyx_t_9 = __pyx_t_6;
    } else {
      __Pyx_INCREF(__pyx_t_5);
      __pyx_t_9 = __pyx_t_5;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __pyx_t_9;
    __Pyx_INCREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_v_k = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "networkit/_NetworKit.pyx":910
 * 
 * 			k = max(u, v)
 * 			if k >= self._this.upperNodeIdBound():             # <<<<<<<<<<<<<<
 * 				self._this.addNodes(k - self._this.upperNodeIdBound() + 1)
 * 
 */
    try {
      __pyx_t_10 = __pyx_v_self->_this.upperNodeIdBound();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 910, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyInt_From_uint64_t(__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 910, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_9 = PyObject_RichCompare(__pyx_v_k, __pyx_t_6, Py_GE); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 910, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 910, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (__pyx_t_1) {

      /* "networkit/_NetworKit.pyx":911
 * 			k = max(u, v)
 * 			if k >= self._this.upperNodeIdBound():
 * 				self._this.addNodes(k - self._this.upperNodeIdBound() + 1)             # <<<<<<<<<<<<<<
 * 
 * 			if not self._this.hasNode(u):
 */
      try {
        __pyx_t_10 = __pyx_v_self->_this.upperNodeIdBound();
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(0, 911, __pyx_L1_error)
      }
      __pyx_t_9 = __Pyx_PyInt_From_uint64_t(__pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 911, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_6 = PyNumber_Subtract(__pyx_v_k, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 911, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyInt_AddObjC(__pyx_t_6, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 911, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_t_9); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 911, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      try {
        __pyx_v_self->_this.addNodes(__pyx_t_2);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(0, 911, __pyx_L1_error)
      }

      /* "networkit/_NetworKit.pyx":910
 * 
 * 			k = max(u, v)
 * 			if k >= self._this.upperNodeIdBound():             # <<<<<<<<<<<<<<
 * 				self._this.addNodes(k - self._this.upperNodeIdBound() + 1)
 * 
 */
    }

    /* "networkit/_NetworKit.pyx":913
 * 				self._this.addNodes(k - self._this.upperNodeIdBound() + 1)
 * 
 * 			if not self._this.hasNode(u):             # <<<<<<<<<<<<<<
 * 				self._this.restoreNode(u)
 * 
 */
    __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 913, __pyx_L1_error)
    try {
      __pyx_t_3 = __pyx_v_self->_this.hasNode(__pyx_t_2);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 913, __pyx_L1_error)
    }
    __pyx_t_1 = ((!(__pyx_t_3 != 0)) != 0);
    if (__pyx_t_1) {

      /* "networkit/_NetworKit.pyx":914
 * 
 * 			if not self._this.hasNode(u):
 * 				self._this.restoreNode(u)             # <<<<<<<<<<<<<<
 * 
 * 			if not self._this.hasNode(v):
 */
      __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 914, __pyx_L1_error)
      try {
        __pyx_v_self->_this.restoreNode(__pyx_t_2);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(0, 914, __pyx_L1_error)
      }

      /* "networkit/_NetworKit.pyx":913
 * 				self._this.addNodes(k - self._this.upperNodeIdBound() + 1)
 * 
 * 			if not self._this.hasNode(u):             # <<<<<<<<<<<<<<
 * 				self._this.restoreNode(u)
 * 
 */
    }

    /* "networkit/_NetworKit.pyx":916
 * 				self._this.restoreNode(u)
 * 
 * 			if not self._this.hasNode(v):             # <<<<<<<<<<<<<<
 * 				self._this.restoreNode(v)
 * 
 */
    __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 916, __pyx_L1_error)
    try {
      __pyx_t_3 = __pyx_v_self->_this.hasNode(__pyx_t_2);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 916, __pyx_L1_error)
    }
    __pyx_t_1 = ((!(__pyx_t_3 != 0)) != 0);
    if (__pyx_t_1) {

      /* "networkit/_NetworKit.pyx":917
 * 
 * 			if not self._this.hasNode(v):
 * 				self._this.restoreNode(v)             # <<<<<<<<<<<<<<
 * 
 * 		self._this.addEdge(u, v, w)
 */
      __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 917, __pyx_L1_error)
      try {
        __pyx_v_self->_this.restoreNode(__pyx_t_2);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(0, 917, __pyx_L1_error)
      }

      /* "networkit/_NetworKit.pyx":916
 * 				self._this.restoreNode(u)
 * 
 * 			if not self._this.hasNode(v):             # <<<<<<<<<<<<<<
 * 				self._this.restoreNode(v)
 * 
 */
    }

    /* "networkit/_NetworKit.pyx":905
 * 			Add add missing endpoints if necessary (i.e., increase numberOfNodes).
 * 		"""
 * 		if not (self._this.hasNode(u) and self._this.hasNode(v)):             # <<<<<<<<<<<<<<
 * 			if not addMissing:
 * 				raise RuntimeError("Cannot create edge ({0}, {1}) as at least one end point does not exsists".format(u,v))
 */
  }

  /* "networkit/_NetworKit.pyx":919
 * 				self._this.restoreNode(v)
 * 
 * 		self._this.addEdge(u, v, w)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 919, __pyx_L1_error)
  __pyx_t_11 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_11 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 919, __pyx_L1_error)
  __pyx_t_12 = __pyx_PyFloat_AsDouble(__pyx_v_w); if (unlikely((__pyx_t_12 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 919, __pyx_L1_error)
  try {
    __pyx_v_self->_this.addEdge(__pyx_t_2, __pyx_t_11, __pyx_t_12);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 919, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":920
 * 
 * 		self._this.addEdge(u, v, w)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def setWeight(self, u, v, w):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":888
 * 		return self
 * 
 * 	def addEdge(self, u, v, w=1.0, addMissing = False):             # <<<<<<<<<<<<<<
 * 		""" Insert an undirected edge between the nodes `u` and `v`. If the graph is weighted you can optionally
 * 		set a weight for this edge. The default weight is 1.0.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.addEdge", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_k);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":922
 * 		return self
 * 
 * 	def setWeight(self, u, v, w):             # <<<<<<<<<<<<<<
 * 		""" Set the weight of an edge. If the edge does not exist, it will be inserted.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_65setWeight(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_64setWeight[] = " Set the weight of an edge. If the edge does not exist, it will be inserted.\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tEndpoint of edge.\n\t\tv : node\n\t\t\tEndpoint of edge.\n\t\tw : edgeweight\n\t\t\tEdge weight.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_65setWeight(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_u = 0;
  PyObject *__pyx_v_v = 0;
  PyObject *__pyx_v_w = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setWeight (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,&__pyx_n_s_w,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("setWeight", 1, 3, 3, 1); __PYX_ERR(0, 922, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_w)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("setWeight", 1, 3, 3, 2); __PYX_ERR(0, 922, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "setWeight") < 0)) __PYX_ERR(0, 922, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_u = values[0];
    __pyx_v_v = values[1];
    __pyx_v_w = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setWeight", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 922, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.setWeight", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_64setWeight(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), __pyx_v_u, __pyx_v_v, __pyx_v_w);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_64setWeight(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v, PyObject *__pyx_v_w) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_2;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_3;
  __Pyx_RefNannySetupContext("setWeight", 0);

  /* "networkit/_NetworKit.pyx":934
 * 			Edge weight.
 * 		"""
 * 		self._this.setWeight(u, v, w)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 934, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 934, __pyx_L1_error)
  __pyx_t_3 = __pyx_PyFloat_AsDouble(__pyx_v_w); if (unlikely((__pyx_t_3 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 934, __pyx_L1_error)
  try {
    __pyx_v_self->_this.setWeight(__pyx_t_1, __pyx_t_2, __pyx_t_3);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 934, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":935
 * 		"""
 * 		self._this.setWeight(u, v, w)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def increaseWeight(self, u, v, w):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":922
 * 		return self
 * 
 * 	def setWeight(self, u, v, w):             # <<<<<<<<<<<<<<
 * 		""" Set the weight of an edge. If the edge does not exist, it will be inserted.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.setWeight", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":937
 * 		return self
 * 
 * 	def increaseWeight(self, u, v, w):             # <<<<<<<<<<<<<<
 * 		""" Increase the weight of an edge. If the edge does not exist, it will be inserted.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_67increaseWeight(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_66increaseWeight[] = " Increase the weight of an edge. If the edge does not exist, it will be inserted.\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tEndpoint of edge.\n\t\tv : node\n\t\t\tEndpoint of edge.\n\t\tw : edgeweight\n\t\t\tEdge weight.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_67increaseWeight(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_u = 0;
  PyObject *__pyx_v_v = 0;
  PyObject *__pyx_v_w = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("increaseWeight (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,&__pyx_n_s_w,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("increaseWeight", 1, 3, 3, 1); __PYX_ERR(0, 937, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_w)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("increaseWeight", 1, 3, 3, 2); __PYX_ERR(0, 937, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "increaseWeight") < 0)) __PYX_ERR(0, 937, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_u = values[0];
    __pyx_v_v = values[1];
    __pyx_v_w = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("increaseWeight", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 937, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.increaseWeight", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_66increaseWeight(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), __pyx_v_u, __pyx_v_v, __pyx_v_w);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_66increaseWeight(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v, PyObject *__pyx_v_w) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_2;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_3;
  __Pyx_RefNannySetupContext("increaseWeight", 0);

  /* "networkit/_NetworKit.pyx":949
 * 			Edge weight.
 * 		"""
 * 		self._this.increaseWeight(u, v, w)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 949, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 949, __pyx_L1_error)
  __pyx_t_3 = __pyx_PyFloat_AsDouble(__pyx_v_w); if (unlikely((__pyx_t_3 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 949, __pyx_L1_error)
  try {
    __pyx_v_self->_this.increaseWeight(__pyx_t_1, __pyx_t_2, __pyx_t_3);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 949, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":950
 * 		"""
 * 		self._this.increaseWeight(u, v, w)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def removeEdge(self, u, v):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":937
 * 		return self
 * 
 * 	def increaseWeight(self, u, v, w):             # <<<<<<<<<<<<<<
 * 		""" Increase the weight of an edge. If the edge does not exist, it will be inserted.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.increaseWeight", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":952
 * 		return self
 * 
 * 	def removeEdge(self, u, v):             # <<<<<<<<<<<<<<
 * 		""" Removes the undirected edge {`u`,`v`}.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_69removeEdge(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_68removeEdge[] = " Removes the undirected edge {`u`,`v`}.\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tEndpoint of edge.\n\t\tv : node\n\t\t\tEndpoint of edge.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_69removeEdge(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_u = 0;
  PyObject *__pyx_v_v = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("removeEdge (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("removeEdge", 1, 2, 2, 1); __PYX_ERR(0, 952, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "removeEdge") < 0)) __PYX_ERR(0, 952, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = values[0];
    __pyx_v_v = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("removeEdge", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 952, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.removeEdge", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_68removeEdge(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_68removeEdge(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_2;
  __Pyx_RefNannySetupContext("removeEdge", 0);

  /* "networkit/_NetworKit.pyx":962
 * 			Endpoint of edge.
 * 		"""
 * 		self._this.removeEdge(u, v)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 962, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 962, __pyx_L1_error)
  try {
    __pyx_v_self->_this.removeEdge(__pyx_t_1, __pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 962, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":963
 * 		"""
 * 		self._this.removeEdge(u, v)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def removeAllEdges(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":952
 * 		return self
 * 
 * 	def removeEdge(self, u, v):             # <<<<<<<<<<<<<<
 * 		""" Removes the undirected edge {`u`,`v`}.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.removeEdge", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":965
 * 		return self
 * 
 * 	def removeAllEdges(self):             # <<<<<<<<<<<<<<
 * 		""" Removes all the edges in the graph.
 * 		"""
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_71removeAllEdges(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_70removeAllEdges[] = " Removes all the edges in the graph.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_71removeAllEdges(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("removeAllEdges (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_70removeAllEdges(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_70removeAllEdges(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("removeAllEdges", 0);

  /* "networkit/_NetworKit.pyx":968
 * 		""" Removes all the edges in the graph.
 * 		"""
 * 		self._this.removeAllEdges()             # <<<<<<<<<<<<<<
 * 
 * 	def removeEdgesFromIsolatedSet(self, nodes):
 */
  try {
    __pyx_v_self->_this.removeAllEdges();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 968, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":965
 * 		return self
 * 
 * 	def removeAllEdges(self):             # <<<<<<<<<<<<<<
 * 		""" Removes all the edges in the graph.
 * 		"""
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.removeAllEdges", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":970
 * 		self._this.removeAllEdges()
 * 
 * 	def removeEdgesFromIsolatedSet(self, nodes):             # <<<<<<<<<<<<<<
 * 		"""
 * 			Efficiently removes all the edges adjacent to a set of nodes that is not connected
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_73removeEdgesFromIsolatedSet(PyObject *__pyx_v_self, PyObject *__pyx_v_nodes); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_72removeEdgesFromIsolatedSet[] = "\n\t\t\tEfficiently removes all the edges adjacent to a set of nodes that is not connected\n\t\t\tto the rest of the graph. This is meant to optimize the Kadabra algorithm.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_73removeEdgesFromIsolatedSet(PyObject *__pyx_v_self, PyObject *__pyx_v_nodes) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("removeEdgesFromIsolatedSet (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_72removeEdgesFromIsolatedSet(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), ((PyObject *)__pyx_v_nodes));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_72removeEdgesFromIsolatedSet(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_nodes) {
  PyObject *__pyx_v_warn = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_4;
  __Pyx_RefNannySetupContext("removeEdgesFromIsolatedSet", 0);

  /* "networkit/_NetworKit.pyx":975
 * 			to the rest of the graph. This is meant to optimize the Kadabra algorithm.
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.removeEdgesFromIsolatedSet is deprecated, use graphtools.removeEdgesFromIsolatedSet instead.")
 * 		self._this.removeEdgesFromIsolatedSet(nodes)
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":976
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.removeEdgesFromIsolatedSet is deprecated, use graphtools.removeEdgesFromIsolatedSet instead.")             # <<<<<<<<<<<<<<
 * 		self._this.removeEdgesFromIsolatedSet(nodes)
 * 		return self
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_removeEdgesFromIsolatedSet) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_removeEdgesFromIsolatedSet);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 976, __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;

  /* "networkit/_NetworKit.pyx":977
 * 		from warnings import warn
 * 		warn("Graph.removeEdgesFromIsolatedSet is deprecated, use graphtools.removeEdgesFromIsolatedSet instead.")
 * 		self._this.removeEdgesFromIsolatedSet(nodes)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
  __pyx_t_4 = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_node(__pyx_v_nodes); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 977, __pyx_L1_error)
  try {
    __pyx_v_self->_this.removeEdgesFromIsolatedSet(__pyx_t_4);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 977, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":978
 * 		warn("Graph.removeEdgesFromIsolatedSet is deprecated, use graphtools.removeEdgesFromIsolatedSet instead.")
 * 		self._this.removeEdgesFromIsolatedSet(nodes)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def removeSelfLoops(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":970
 * 		self._this.removeAllEdges()
 * 
 * 	def removeEdgesFromIsolatedSet(self, nodes):             # <<<<<<<<<<<<<<
 * 		"""
 * 			Efficiently removes all the edges adjacent to a set of nodes that is not connected
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.removeEdgesFromIsolatedSet", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":980
 * 		return self
 * 
 * 	def removeSelfLoops(self):             # <<<<<<<<<<<<<<
 * 		""" Removes all self-loops from the graph.
 * 		"""
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_75removeSelfLoops(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_74removeSelfLoops[] = " Removes all self-loops from the graph.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_75removeSelfLoops(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("removeSelfLoops (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_74removeSelfLoops(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_74removeSelfLoops(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("removeSelfLoops", 0);

  /* "networkit/_NetworKit.pyx":983
 * 		""" Removes all self-loops from the graph.
 * 		"""
 * 		self._this.removeSelfLoops()             # <<<<<<<<<<<<<<
 * 
 * 	def removeMultiEdges(self):
 */
  try {
    __pyx_v_self->_this.removeSelfLoops();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 983, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":980
 * 		return self
 * 
 * 	def removeSelfLoops(self):             # <<<<<<<<<<<<<<
 * 		""" Removes all self-loops from the graph.
 * 		"""
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.removeSelfLoops", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":985
 * 		self._this.removeSelfLoops()
 * 
 * 	def removeMultiEdges(self):             # <<<<<<<<<<<<<<
 * 		""" Removes all multi-edges from the graph.
 * 		"""
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_77removeMultiEdges(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_76removeMultiEdges[] = " Removes all multi-edges from the graph.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_77removeMultiEdges(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("removeMultiEdges (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_76removeMultiEdges(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_76removeMultiEdges(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("removeMultiEdges", 0);

  /* "networkit/_NetworKit.pyx":988
 * 		""" Removes all multi-edges from the graph.
 * 		"""
 * 		self._this.removeMultiEdges()             # <<<<<<<<<<<<<<
 * 
 * 	def swapEdge(self, node s1, node t1, node s2, node t2):
 */
  try {
    __pyx_v_self->_this.removeMultiEdges();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 988, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":985
 * 		self._this.removeSelfLoops()
 * 
 * 	def removeMultiEdges(self):             # <<<<<<<<<<<<<<
 * 		""" Removes all multi-edges from the graph.
 * 		"""
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.removeMultiEdges", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":990
 * 		self._this.removeMultiEdges()
 * 
 * 	def swapEdge(self, node s1, node t1, node s2, node t2):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Changes the edge (s1, t1) into (s1, t2) and the edge (s2, t2) into (s2, t1).
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_79swapEdge(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_78swapEdge[] = "\n\t\tChanges the edge (s1, t1) into (s1, t2) and the edge (s2, t2) into (s2, t1).\n\n\t\tIf there are edge weights or edge ids, they are preserved. Note that no check is performed if the swap is actually possible, i.e. does not generate duplicate edges.\n\n\t\tParameters\n\t\t----------\n\t\ts1 : node\n\t\t\tSource node of the first edge\n\t\tt1 : node\n\t\t\tTarget node of the first edge\n\t\ts2 : node\n\t\t\tSource node of the second edge\n\t\tt2 : node\n\t\t\tTarget node of the second edge\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_79swapEdge(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_s1;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_t1;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_s2;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_t2;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("swapEdge (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_s1,&__pyx_n_s_t1,&__pyx_n_s_s2,&__pyx_n_s_t2,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_s1)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_t1)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("swapEdge", 1, 4, 4, 1); __PYX_ERR(0, 990, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_s2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("swapEdge", 1, 4, 4, 2); __PYX_ERR(0, 990, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_t2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("swapEdge", 1, 4, 4, 3); __PYX_ERR(0, 990, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "swapEdge") < 0)) __PYX_ERR(0, 990, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_s1 = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_s1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 990, __pyx_L3_error)
    __pyx_v_t1 = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_t1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 990, __pyx_L3_error)
    __pyx_v_s2 = __Pyx_PyInt_As_uint64_t(values[2]); if (unlikely((__pyx_v_s2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 990, __pyx_L3_error)
    __pyx_v_t2 = __Pyx_PyInt_As_uint64_t(values[3]); if (unlikely((__pyx_v_t2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 990, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("swapEdge", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 990, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.swapEdge", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_78swapEdge(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), __pyx_v_s1, __pyx_v_t1, __pyx_v_s2, __pyx_v_t2);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_78swapEdge(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_s1, __pyx_t_9networkit_10_NetworKit_node __pyx_v_t1, __pyx_t_9networkit_10_NetworKit_node __pyx_v_s2, __pyx_t_9networkit_10_NetworKit_node __pyx_v_t2) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("swapEdge", 0);

  /* "networkit/_NetworKit.pyx":1007
 * 			Target node of the second edge
 * 		"""
 * 		self._this.swapEdge(s1, t1, s2, t2)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
  try {
    __pyx_v_self->_this.swapEdge(__pyx_v_s1, __pyx_v_t1, __pyx_v_s2, __pyx_v_t2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1007, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":1008
 * 		"""
 * 		self._this.swapEdge(s1, t1, s2, t2)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def compactEdges(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":990
 * 		self._this.removeMultiEdges()
 * 
 * 	def swapEdge(self, node s1, node t1, node s2, node t2):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Changes the edge (s1, t1) into (s1, t2) and the edge (s2, t2) into (s2, t1).
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.swapEdge", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1010
 * 		return self
 * 
 * 	def compactEdges(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Compact the edge storage, this should be called after executing many edge deletions.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_81compactEdges(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_80compactEdges[] = "\n\t\tCompact the edge storage, this should be called after executing many edge deletions.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_81compactEdges(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("compactEdges (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_80compactEdges(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_80compactEdges(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("compactEdges", 0);

  /* "networkit/_NetworKit.pyx":1014
 * 		Compact the edge storage, this should be called after executing many edge deletions.
 * 		"""
 * 		self._this.compactEdges()             # <<<<<<<<<<<<<<
 * 
 * 	def sortEdges(self):
 */
  try {
    __pyx_v_self->_this.compactEdges();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1014, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":1010
 * 		return self
 * 
 * 	def compactEdges(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Compact the edge storage, this should be called after executing many edge deletions.
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.compactEdges", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1016
 * 		self._this.compactEdges()
 * 
 * 	def sortEdges(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Sorts the adjacency arrays by node id. While the running time is linear this
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_83sortEdges(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_82sortEdges[] = "\n\t\tSorts the adjacency arrays by node id. While the running time is linear this\n\t\ttemporarily duplicates the memory.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_83sortEdges(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sortEdges (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_82sortEdges(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_82sortEdges(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sortEdges", 0);

  /* "networkit/_NetworKit.pyx":1021
 * 		temporarily duplicates the memory.
 * 		"""
 * 		self._this.sortEdges()             # <<<<<<<<<<<<<<
 * 
 * 	def hasEdge(self, u, v):
 */
  try {
    __pyx_v_self->_this.sortEdges();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1021, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":1016
 * 		self._this.compactEdges()
 * 
 * 	def sortEdges(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Sorts the adjacency arrays by node id. While the running time is linear this
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.sortEdges", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1023
 * 		self._this.sortEdges()
 * 
 * 	def hasEdge(self, u, v):             # <<<<<<<<<<<<<<
 * 		""" Checks if undirected edge {`u`,`v`} exists in the graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_85hasEdge(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_84hasEdge[] = " Checks if undirected edge {`u`,`v`} exists in the graph.\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tEndpoint of edge.\n\t\tv : node\n\t\t\tEndpoint of edge.\n\n\t\tReturns\n\t\t-------\n\t\tbool\n\t\t\tTrue if the edge exists, False otherwise.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_85hasEdge(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_u = 0;
  PyObject *__pyx_v_v = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("hasEdge (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("hasEdge", 1, 2, 2, 1); __PYX_ERR(0, 1023, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "hasEdge") < 0)) __PYX_ERR(0, 1023, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = values[0];
    __pyx_v_v = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("hasEdge", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1023, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.hasEdge", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_84hasEdge(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_84hasEdge(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_2;
  bool __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("hasEdge", 0);

  /* "networkit/_NetworKit.pyx":1038
 * 			True if the edge exists, False otherwise.
 * 		"""
 * 		return self._this.hasEdge(u, v)             # <<<<<<<<<<<<<<
 * 
 * 	def weight(self, u, v):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1038, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1038, __pyx_L1_error)
  try {
    __pyx_t_3 = __pyx_v_self->_this.hasEdge(__pyx_t_1, __pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1038, __pyx_L1_error)
  }
  __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1038, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1023
 * 		self._this.sortEdges()
 * 
 * 	def hasEdge(self, u, v):             # <<<<<<<<<<<<<<
 * 		""" Checks if undirected edge {`u`,`v`} exists in the graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.hasEdge", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1040
 * 		return self._this.hasEdge(u, v)
 * 
 * 	def weight(self, u, v):             # <<<<<<<<<<<<<<
 * 		""" Get edge weight of edge {`u` , `v`}. Returns 0 if edge does not exist.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_87weight(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_86weight[] = " Get edge weight of edge {`u` , `v`}. Returns 0 if edge does not exist.\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tEndpoint of edge.\n\t\tv : node\n\t\t\tEndpoint of edge.\n\n\t\tReturns\n\t\t-------\n\t\tedgeweight\n\t\t\tEdge weight of edge {`u` , `v`} or 0 if edge does not exist.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_87weight(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_u = 0;
  PyObject *__pyx_v_v = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("weight (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("weight", 1, 2, 2, 1); __PYX_ERR(0, 1040, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "weight") < 0)) __PYX_ERR(0, 1040, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = values[0];
    __pyx_v_v = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("weight", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1040, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.weight", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_86weight(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_86weight(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_2;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("weight", 0);

  /* "networkit/_NetworKit.pyx":1055
 * 			Edge weight of edge {`u` , `v`} or 0 if edge does not exist.
 * 		"""
 * 		return self._this.weight(u, v)             # <<<<<<<<<<<<<<
 * 
 * 	def nodes(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1055, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1055, __pyx_L1_error)
  try {
    __pyx_t_3 = __pyx_v_self->_this.weight(__pyx_t_1, __pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1055, __pyx_L1_error)
  }
  __pyx_t_4 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1040
 * 		return self._this.hasEdge(u, v)
 * 
 * 	def weight(self, u, v):             # <<<<<<<<<<<<<<
 * 		""" Get edge weight of edge {`u` , `v`}. Returns 0 if edge does not exist.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.weight", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1057
 * 		return self._this.weight(u, v)
 * 
 * 	def nodes(self):             # <<<<<<<<<<<<<<
 * 		""" Get list of all nodes.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_89nodes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_88nodes[] = " Get list of all nodes.\n\n\t \tReturns\n\t \t-------\n\t \tlist\n\t \t\tList of all nodes.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_89nodes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("nodes (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_88nodes(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_88nodes(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_v_warn = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_4;
  __Pyx_RefNannySetupContext("nodes", 0);

  /* "networkit/_NetworKit.pyx":1065
 * 	 		List of all nodes.
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.nodes is deprecated.")
 * 		return self._this.nodes()
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":1066
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.nodes is deprecated.")             # <<<<<<<<<<<<<<
 * 		return self._this.nodes()
 * 
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_nodes_is_deprecated) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_nodes_is_deprecated);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1066, __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;

  /* "networkit/_NetworKit.pyx":1067
 * 		from warnings import warn
 * 		warn("Graph.nodes is deprecated.")
 * 		return self._this.nodes()             # <<<<<<<<<<<<<<
 * 
 * 	def edges(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_4 = __pyx_v_self->_this.nodes();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1067, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1057
 * 		return self._this.weight(u, v)
 * 
 * 	def nodes(self):             # <<<<<<<<<<<<<<
 * 		""" Get list of all nodes.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.nodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1069
 * 		return self._this.nodes()
 * 
 * 	def edges(self):             # <<<<<<<<<<<<<<
 * 		""" Get list of edges as node pairs.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_91edges(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_90edges[] = " Get list of edges as node pairs.\n\n\t \tReturns\n\t \t-------\n\t \tlist\n\t \t\tList of edges as node pairs.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_91edges(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("edges (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_90edges(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_90edges(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_v_warn = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> >  __pyx_t_4;
  __Pyx_RefNannySetupContext("edges", 0);

  /* "networkit/_NetworKit.pyx":1077
 * 	 		List of edges as node pairs.
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.edges is deprecated.")
 * 		return self._this.edges()
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":1078
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.edges is deprecated.")             # <<<<<<<<<<<<<<
 * 		return self._this.edges()
 * 
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_edges_is_deprecated) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_edges_is_deprecated);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1078, __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;

  /* "networkit/_NetworKit.pyx":1079
 * 		from warnings import warn
 * 		warn("Graph.edges is deprecated.")
 * 		return self._this.edges()             # <<<<<<<<<<<<<<
 * 
 * 	def neighbors(self, u):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_4 = __pyx_v_self->_this.edges();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1079, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1069
 * 		return self._this.nodes()
 * 
 * 	def edges(self):             # <<<<<<<<<<<<<<
 * 		""" Get list of edges as node pairs.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.edges", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1081
 * 		return self._this.edges()
 * 
 * 	def neighbors(self, u):             # <<<<<<<<<<<<<<
 * 		""" Get list of neighbors of `u`.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_93neighbors(PyObject *__pyx_v_self, PyObject *__pyx_v_u); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_92neighbors[] = " Get list of neighbors of `u`.\n\n\t \tParameters\n\t \t----------\n\t \tu : node\n\t \t\tNode.\n\n\t \tReturns\n\t \t-------\n\t \tlist\n\t \t\tList of neighbors of `u`.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_93neighbors(PyObject *__pyx_v_self, PyObject *__pyx_v_u) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("neighbors (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_92neighbors(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), ((PyObject *)__pyx_v_u));

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

/* "networkit/_NetworKit.pyx":1095
 * 		"""
 * 		neighborList = []
 * 		self.forEdgesOf(u, lambda u, v, w, eid : neighborList.append(v))             # <<<<<<<<<<<<<<
 * 		return neighborList
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_9neighbors_lambda(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_5Graph_9neighbors_lambda = {"lambda", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_5Graph_9neighbors_lambda, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_9neighbors_lambda(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_u = 0;
  PyObject *__pyx_v_v = 0;
  CYTHON_UNUSED PyObject *__pyx_v_w = 0;
  CYTHON_UNUSED PyObject *__pyx_v_eid = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("lambda (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,&__pyx_n_s_w,&__pyx_n_s_eid,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("lambda", 1, 4, 4, 1); __PYX_ERR(0, 1095, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_w)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("lambda", 1, 4, 4, 2); __PYX_ERR(0, 1095, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_eid)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("lambda", 1, 4, 4, 3); __PYX_ERR(0, 1095, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "lambda") < 0)) __PYX_ERR(0, 1095, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_u = values[0];
    __pyx_v_v = values[1];
    __pyx_v_w = values[2];
    __pyx_v_eid = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("lambda", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1095, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.neighbors.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_u, __pyx_v_v, __pyx_v_w, __pyx_v_eid);

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

static PyObject *__pyx_lambda_funcdef_lambda(PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_u, PyObject *__pyx_v_v, CYTHON_UNUSED PyObject *__pyx_v_w, CYTHON_UNUSED PyObject *__pyx_v_eid) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct__neighbors *__pyx_cur_scope;
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct__neighbors *__pyx_outer_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("lambda", 0);
  __pyx_outer_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct__neighbors *) __Pyx_CyFunction_GetClosure(__pyx_self);
  __pyx_cur_scope = __pyx_outer_scope;
  __Pyx_XDECREF(__pyx_r);
  if (unlikely(!__pyx_cur_scope->__pyx_v_neighborList)) { __Pyx_RaiseClosureNameError("neighborList"); __PYX_ERR(0, 1095, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_v_neighborList == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
    __PYX_ERR(0, 1095, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_PyList_Append(__pyx_cur_scope->__pyx_v_neighborList, __pyx_v_v); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 1095, __pyx_L1_error)
  __pyx_t_2 = __Pyx_Owned_Py_None(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1095, __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("networkit._NetworKit.Graph.neighbors.lambda", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1081
 * 		return self._this.edges()
 * 
 * 	def neighbors(self, u):             # <<<<<<<<<<<<<<
 * 		""" Get list of neighbors of `u`.
 * 
 */

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_92neighbors(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct__neighbors *__pyx_cur_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;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("neighbors", 0);
  __pyx_cur_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct__neighbors *)__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct__neighbors(__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct__neighbors, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct__neighbors *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 1081, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }

  /* "networkit/_NetworKit.pyx":1094
 * 	 		List of neighbors of `u`.
 * 		"""
 * 		neighborList = []             # <<<<<<<<<<<<<<
 * 		self.forEdgesOf(u, lambda u, v, w, eid : neighborList.append(v))
 * 		return neighborList
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1094, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_cur_scope->__pyx_v_neighborList = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":1095
 * 		"""
 * 		neighborList = []
 * 		self.forEdgesOf(u, lambda u, v, w, eid : neighborList.append(v))             # <<<<<<<<<<<<<<
 * 		return neighborList
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_forEdgesOf); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CyFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_5Graph_9neighbors_lambda, 0, __pyx_n_s_neighbors_locals_lambda, ((PyObject*)__pyx_cur_scope), __pyx_n_s_networkit__NetworKit, __pyx_d, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_u, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1095, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_u, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1095, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  {
    __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1095, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__pyx_t_4) {
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
    }
    __Pyx_INCREF(__pyx_v_u);
    __Pyx_GIVEREF(__pyx_v_u);
    PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_u);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1095, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":1096
 * 		neighborList = []
 * 		self.forEdgesOf(u, lambda u, v, w, eid : neighborList.append(v))
 * 		return neighborList             # <<<<<<<<<<<<<<
 * 
 * 	def inNeighbors(self, u):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_neighborList);
  __pyx_r = __pyx_cur_scope->__pyx_v_neighborList;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1081
 * 		return self._this.edges()
 * 
 * 	def neighbors(self, u):             # <<<<<<<<<<<<<<
 * 		""" Get list of neighbors of `u`.
 * 
 */

  /* 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("networkit._NetworKit.Graph.neighbors", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1098
 * 		return neighborList
 * 
 * 	def inNeighbors(self, u):             # <<<<<<<<<<<<<<
 * 		""" Get list of in-neighbors of `u`.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_95inNeighbors(PyObject *__pyx_v_self, PyObject *__pyx_v_u); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_94inNeighbors[] = " Get list of in-neighbors of `u`.\n\n\t \tParameters\n\t \t----------\n\t \tu : node\n\t \t\tNode.\n\n\t \tReturns\n\t \t-------\n\t \tlist\n\t \t\tList of in-neighbors of `u`.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_95inNeighbors(PyObject *__pyx_v_self, PyObject *__pyx_v_u) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("inNeighbors (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_94inNeighbors(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), ((PyObject *)__pyx_v_u));

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

/* "networkit/_NetworKit.pyx":1116
 * 			return self.neighbors(u)
 * 		neighborList = []
 * 		self.forInEdgesOf(u, lambda u, v, w, eid : neighborList.append(v))             # <<<<<<<<<<<<<<
 * 		return neighborList
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_11inNeighbors_lambda1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_5Graph_11inNeighbors_lambda1 = {"lambda1", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_5Graph_11inNeighbors_lambda1, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_11inNeighbors_lambda1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_u = 0;
  PyObject *__pyx_v_v = 0;
  CYTHON_UNUSED PyObject *__pyx_v_w = 0;
  CYTHON_UNUSED PyObject *__pyx_v_eid = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("lambda1 (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,&__pyx_n_s_w,&__pyx_n_s_eid,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("lambda1", 1, 4, 4, 1); __PYX_ERR(0, 1116, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_w)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("lambda1", 1, 4, 4, 2); __PYX_ERR(0, 1116, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_eid)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("lambda1", 1, 4, 4, 3); __PYX_ERR(0, 1116, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "lambda1") < 0)) __PYX_ERR(0, 1116, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_u = values[0];
    __pyx_v_v = values[1];
    __pyx_v_w = values[2];
    __pyx_v_eid = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("lambda1", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1116, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.inNeighbors.lambda1", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_lambda_funcdef_lambda1(__pyx_self, __pyx_v_u, __pyx_v_v, __pyx_v_w, __pyx_v_eid);

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

static PyObject *__pyx_lambda_funcdef_lambda1(PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_u, PyObject *__pyx_v_v, CYTHON_UNUSED PyObject *__pyx_v_w, CYTHON_UNUSED PyObject *__pyx_v_eid) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors *__pyx_cur_scope;
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors *__pyx_outer_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("lambda1", 0);
  __pyx_outer_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors *) __Pyx_CyFunction_GetClosure(__pyx_self);
  __pyx_cur_scope = __pyx_outer_scope;
  __Pyx_XDECREF(__pyx_r);
  if (unlikely(!__pyx_cur_scope->__pyx_v_neighborList)) { __Pyx_RaiseClosureNameError("neighborList"); __PYX_ERR(0, 1116, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_v_neighborList == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
    __PYX_ERR(0, 1116, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_PyList_Append(__pyx_cur_scope->__pyx_v_neighborList, __pyx_v_v); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 1116, __pyx_L1_error)
  __pyx_t_2 = __Pyx_Owned_Py_None(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1116, __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("networkit._NetworKit.Graph.inNeighbors.lambda1", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1098
 * 		return neighborList
 * 
 * 	def inNeighbors(self, u):             # <<<<<<<<<<<<<<
 * 		""" Get list of in-neighbors of `u`.
 * 
 */

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_94inNeighbors(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors *__pyx_cur_scope;
  PyObject *__pyx_v_warn = 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;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  __Pyx_RefNannySetupContext("inNeighbors", 0);
  __pyx_cur_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors *)__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors(__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 1098, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }

  /* "networkit/_NetworKit.pyx":1111
 * 	 		List of in-neighbors of `u`.
 * 		"""
 * 		if not self.isDirected():             # <<<<<<<<<<<<<<
 * 			from warnings import warn
 * 			warn("The graph is not directed, returning the neighbors!")
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_isDirected); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 1111, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_5 = ((!__pyx_t_4) != 0);
  if (__pyx_t_5) {

    /* "networkit/_NetworKit.pyx":1112
 * 		"""
 * 		if not self.isDirected():
 * 			from warnings import warn             # <<<<<<<<<<<<<<
 * 			warn("The graph is not directed, returning the neighbors!")
 * 			return self.neighbors(u)
 */
    __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_n_s_warn);
    __Pyx_GIVEREF(__pyx_n_s_warn);
    PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
    __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_1);
    __pyx_v_warn = __pyx_t_1;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "networkit/_NetworKit.pyx":1113
 * 		if not self.isDirected():
 * 			from warnings import warn
 * 			warn("The graph is not directed, returning the neighbors!")             # <<<<<<<<<<<<<<
 * 			return self.neighbors(u)
 * 		neighborList = []
 */
    __Pyx_INCREF(__pyx_v_warn);
    __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_The_graph_is_not_directed_return) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_The_graph_is_not_directed_return);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1113, __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;

    /* "networkit/_NetworKit.pyx":1114
 * 			from warnings import warn
 * 			warn("The graph is not directed, returning the neighbors!")
 * 			return self.neighbors(u)             # <<<<<<<<<<<<<<
 * 		neighborList = []
 * 		self.forInEdgesOf(u, lambda u, v, w, eid : neighborList.append(v))
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_neighbors); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_v_u) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_u);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1114, __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;

    /* "networkit/_NetworKit.pyx":1111
 * 	 		List of in-neighbors of `u`.
 * 		"""
 * 		if not self.isDirected():             # <<<<<<<<<<<<<<
 * 			from warnings import warn
 * 			warn("The graph is not directed, returning the neighbors!")
 */
  }

  /* "networkit/_NetworKit.pyx":1115
 * 			warn("The graph is not directed, returning the neighbors!")
 * 			return self.neighbors(u)
 * 		neighborList = []             # <<<<<<<<<<<<<<
 * 		self.forInEdgesOf(u, lambda u, v, w, eid : neighborList.append(v))
 * 		return neighborList
 */
  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __pyx_cur_scope->__pyx_v_neighborList = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":1116
 * 			return self.neighbors(u)
 * 		neighborList = []
 * 		self.forInEdgesOf(u, lambda u, v, w, eid : neighborList.append(v))             # <<<<<<<<<<<<<<
 * 		return neighborList
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_forInEdgesOf); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_CyFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_5Graph_11inNeighbors_lambda1, 0, __pyx_n_s_inNeighbors_locals_lambda, ((PyObject*)__pyx_cur_scope), __pyx_n_s_networkit__NetworKit, __pyx_d, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = NULL;
  __pyx_t_7 = 0;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
      __pyx_t_7 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_1)) {
    PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_u, __pyx_t_3};
    __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1116, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
    PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_u, __pyx_t_3};
    __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1116, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  {
    __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1116, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    if (__pyx_t_6) {
      __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
    }
    __Pyx_INCREF(__pyx_v_u);
    __Pyx_GIVEREF(__pyx_v_u);
    PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_v_u);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1116, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":1117
 * 		neighborList = []
 * 		self.forInEdgesOf(u, lambda u, v, w, eid : neighborList.append(v))
 * 		return neighborList             # <<<<<<<<<<<<<<
 * 
 * 	def forNodes(self, object callback):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_neighborList);
  __pyx_r = __pyx_cur_scope->__pyx_v_neighborList;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1098
 * 		return neighborList
 * 
 * 	def inNeighbors(self, u):             # <<<<<<<<<<<<<<
 * 		""" Get list of in-neighbors of `u`.
 * 
 */

  /* 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_AddTraceback("networkit._NetworKit.Graph.inNeighbors", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1119
 * 		return neighborList
 * 
 * 	def forNodes(self, object callback):             # <<<<<<<<<<<<<<
 * 		""" Experimental node iterator interface
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_97forNodes(PyObject *__pyx_v_self, PyObject *__pyx_v_callback); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_96forNodes[] = " Experimental node iterator interface\n\n\t\tParameters\n\t\t----------\n\t\tcallback : object\n\t\t\tAny callable object that takes the parameter node\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_97forNodes(PyObject *__pyx_v_self, PyObject *__pyx_v_callback) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("forNodes (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_96forNodes(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), ((PyObject *)__pyx_v_callback));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_96forNodes(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_callback) {
  __pyx_t_9networkit_10_NetworKit_NodeCallbackWrapper *__pyx_v_wrapper;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  char const *__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;
  PyObject *__pyx_t_9 = NULL;
  __Pyx_RefNannySetupContext("forNodes", 0);

  /* "networkit/_NetworKit.pyx":1128
 * 		"""
 * 		cdef NodeCallbackWrapper* wrapper
 * 		try:             # <<<<<<<<<<<<<<
 * 			wrapper = new NodeCallbackWrapper(callback)
 * 			self._this.forNodes[NodeCallbackWrapper](dereference(wrapper))
 */
  /*try:*/ {

    /* "networkit/_NetworKit.pyx":1129
 * 		cdef NodeCallbackWrapper* wrapper
 * 		try:
 * 			wrapper = new NodeCallbackWrapper(callback)             # <<<<<<<<<<<<<<
 * 			self._this.forNodes[NodeCallbackWrapper](dereference(wrapper))
 * 		finally:
 */
    __pyx_v_wrapper = new __pyx_t_9networkit_10_NetworKit_NodeCallbackWrapper(__pyx_v_callback);

    /* "networkit/_NetworKit.pyx":1130
 * 		try:
 * 			wrapper = new NodeCallbackWrapper(callback)
 * 			self._this.forNodes[NodeCallbackWrapper](dereference(wrapper))             # <<<<<<<<<<<<<<
 * 		finally:
 * 			del wrapper
 */
    try {
      __pyx_v_self->_this.forNodes<__pyx_t_9networkit_10_NetworKit_NodeCallbackWrapper>((*__pyx_v_wrapper));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1130, __pyx_L4_error)
    }
  }

  /* "networkit/_NetworKit.pyx":1132
 * 			self._this.forNodes[NodeCallbackWrapper](dereference(wrapper))
 * 		finally:
 * 			del wrapper             # <<<<<<<<<<<<<<
 * 
 * 	def forNodesInRandomOrder(self, object callback):
 */
  /*finally:*/ {
    /*normal exit:*/{
      delete __pyx_v_wrapper;
      goto __pyx_L5;
    }
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0)) __Pyx_ErrFetch(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_9);
      __pyx_t_1 = __pyx_lineno; __pyx_t_2 = __pyx_clineno; __pyx_t_3 = __pyx_filename;
      {
        delete __pyx_v_wrapper;
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_7);
        __Pyx_XGIVEREF(__pyx_t_8);
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
      }
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ErrRestore(__pyx_t_4, __pyx_t_5, __pyx_t_6);
      __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0;
      __pyx_lineno = __pyx_t_1; __pyx_clineno = __pyx_t_2; __pyx_filename = __pyx_t_3;
      goto __pyx_L1_error;
    }
    __pyx_L5:;
  }

  /* "networkit/_NetworKit.pyx":1119
 * 		return neighborList
 * 
 * 	def forNodes(self, object callback):             # <<<<<<<<<<<<<<
 * 		""" Experimental node iterator interface
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.forNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1134
 * 			del wrapper
 * 
 * 	def forNodesInRandomOrder(self, object callback):             # <<<<<<<<<<<<<<
 * 		""" Experimental node iterator interface
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_99forNodesInRandomOrder(PyObject *__pyx_v_self, PyObject *__pyx_v_callback); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_98forNodesInRandomOrder[] = " Experimental node iterator interface\n\n\t\tParameters\n\t\t----------\n\t\tcallback : object\n\t\t\tAny callable object that takes the parameter node\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_99forNodesInRandomOrder(PyObject *__pyx_v_self, PyObject *__pyx_v_callback) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("forNodesInRandomOrder (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_98forNodesInRandomOrder(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), ((PyObject *)__pyx_v_callback));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_98forNodesInRandomOrder(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_callback) {
  __pyx_t_9networkit_10_NetworKit_NodeCallbackWrapper *__pyx_v_wrapper;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  char const *__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;
  PyObject *__pyx_t_9 = NULL;
  __Pyx_RefNannySetupContext("forNodesInRandomOrder", 0);

  /* "networkit/_NetworKit.pyx":1143
 * 		"""
 * 		cdef NodeCallbackWrapper* wrapper
 * 		try:             # <<<<<<<<<<<<<<
 * 			wrapper = new NodeCallbackWrapper(callback)
 * 			self._this.forNodesInRandomOrder[NodeCallbackWrapper](dereference(wrapper))
 */
  /*try:*/ {

    /* "networkit/_NetworKit.pyx":1144
 * 		cdef NodeCallbackWrapper* wrapper
 * 		try:
 * 			wrapper = new NodeCallbackWrapper(callback)             # <<<<<<<<<<<<<<
 * 			self._this.forNodesInRandomOrder[NodeCallbackWrapper](dereference(wrapper))
 * 		finally:
 */
    __pyx_v_wrapper = new __pyx_t_9networkit_10_NetworKit_NodeCallbackWrapper(__pyx_v_callback);

    /* "networkit/_NetworKit.pyx":1145
 * 		try:
 * 			wrapper = new NodeCallbackWrapper(callback)
 * 			self._this.forNodesInRandomOrder[NodeCallbackWrapper](dereference(wrapper))             # <<<<<<<<<<<<<<
 * 		finally:
 * 			del wrapper
 */
    try {
      __pyx_v_self->_this.forNodesInRandomOrder<__pyx_t_9networkit_10_NetworKit_NodeCallbackWrapper>((*__pyx_v_wrapper));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1145, __pyx_L4_error)
    }
  }

  /* "networkit/_NetworKit.pyx":1147
 * 			self._this.forNodesInRandomOrder[NodeCallbackWrapper](dereference(wrapper))
 * 		finally:
 * 			del wrapper             # <<<<<<<<<<<<<<
 * 
 * 	def forNodePairs(self, object callback):
 */
  /*finally:*/ {
    /*normal exit:*/{
      delete __pyx_v_wrapper;
      goto __pyx_L5;
    }
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0)) __Pyx_ErrFetch(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_9);
      __pyx_t_1 = __pyx_lineno; __pyx_t_2 = __pyx_clineno; __pyx_t_3 = __pyx_filename;
      {
        delete __pyx_v_wrapper;
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_7);
        __Pyx_XGIVEREF(__pyx_t_8);
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
      }
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ErrRestore(__pyx_t_4, __pyx_t_5, __pyx_t_6);
      __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0;
      __pyx_lineno = __pyx_t_1; __pyx_clineno = __pyx_t_2; __pyx_filename = __pyx_t_3;
      goto __pyx_L1_error;
    }
    __pyx_L5:;
  }

  /* "networkit/_NetworKit.pyx":1134
 * 			del wrapper
 * 
 * 	def forNodesInRandomOrder(self, object callback):             # <<<<<<<<<<<<<<
 * 		""" Experimental node iterator interface
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.forNodesInRandomOrder", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1149
 * 			del wrapper
 * 
 * 	def forNodePairs(self, object callback):             # <<<<<<<<<<<<<<
 * 		""" Experimental node pair iterator interface
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_101forNodePairs(PyObject *__pyx_v_self, PyObject *__pyx_v_callback); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_100forNodePairs[] = " Experimental node pair iterator interface\n\n\t\tParameters\n\t\t----------\n\t\tcallback : object\n\t\t\tAny callable object that takes the parameters (node, node)\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_101forNodePairs(PyObject *__pyx_v_self, PyObject *__pyx_v_callback) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("forNodePairs (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_100forNodePairs(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), ((PyObject *)__pyx_v_callback));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_100forNodePairs(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_callback) {
  __pyx_t_9networkit_10_NetworKit_NodePairCallbackWrapper *__pyx_v_wrapper;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  char const *__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;
  PyObject *__pyx_t_9 = NULL;
  __Pyx_RefNannySetupContext("forNodePairs", 0);

  /* "networkit/_NetworKit.pyx":1158
 * 		"""
 * 		cdef NodePairCallbackWrapper* wrapper
 * 		try:             # <<<<<<<<<<<<<<
 * 			wrapper = new NodePairCallbackWrapper(callback)
 * 			self._this.forNodePairs[NodePairCallbackWrapper](dereference(wrapper))
 */
  /*try:*/ {

    /* "networkit/_NetworKit.pyx":1159
 * 		cdef NodePairCallbackWrapper* wrapper
 * 		try:
 * 			wrapper = new NodePairCallbackWrapper(callback)             # <<<<<<<<<<<<<<
 * 			self._this.forNodePairs[NodePairCallbackWrapper](dereference(wrapper))
 * 		finally:
 */
    __pyx_v_wrapper = new __pyx_t_9networkit_10_NetworKit_NodePairCallbackWrapper(__pyx_v_callback);

    /* "networkit/_NetworKit.pyx":1160
 * 		try:
 * 			wrapper = new NodePairCallbackWrapper(callback)
 * 			self._this.forNodePairs[NodePairCallbackWrapper](dereference(wrapper))             # <<<<<<<<<<<<<<
 * 		finally:
 * 			del wrapper
 */
    try {
      __pyx_v_self->_this.forNodePairs<__pyx_t_9networkit_10_NetworKit_NodePairCallbackWrapper>((*__pyx_v_wrapper));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1160, __pyx_L4_error)
    }
  }

  /* "networkit/_NetworKit.pyx":1162
 * 			self._this.forNodePairs[NodePairCallbackWrapper](dereference(wrapper))
 * 		finally:
 * 			del wrapper             # <<<<<<<<<<<<<<
 * 
 * 	def forEdges(self, object callback):
 */
  /*finally:*/ {
    /*normal exit:*/{
      delete __pyx_v_wrapper;
      goto __pyx_L5;
    }
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0)) __Pyx_ErrFetch(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_9);
      __pyx_t_1 = __pyx_lineno; __pyx_t_2 = __pyx_clineno; __pyx_t_3 = __pyx_filename;
      {
        delete __pyx_v_wrapper;
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_7);
        __Pyx_XGIVEREF(__pyx_t_8);
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
      }
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ErrRestore(__pyx_t_4, __pyx_t_5, __pyx_t_6);
      __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0;
      __pyx_lineno = __pyx_t_1; __pyx_clineno = __pyx_t_2; __pyx_filename = __pyx_t_3;
      goto __pyx_L1_error;
    }
    __pyx_L5:;
  }

  /* "networkit/_NetworKit.pyx":1149
 * 			del wrapper
 * 
 * 	def forNodePairs(self, object callback):             # <<<<<<<<<<<<<<
 * 		""" Experimental node pair iterator interface
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.forNodePairs", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1164
 * 			del wrapper
 * 
 * 	def forEdges(self, object callback):             # <<<<<<<<<<<<<<
 * 		""" Experimental edge iterator interface
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_103forEdges(PyObject *__pyx_v_self, PyObject *__pyx_v_callback); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_102forEdges[] = " Experimental edge iterator interface\n\n\t\tParameters\n\t\t----------\n\t\tcallback : object\n\t\t\tAny callable object that takes the parameter (node, node, edgeweight, edgeid)\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_103forEdges(PyObject *__pyx_v_self, PyObject *__pyx_v_callback) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("forEdges (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_102forEdges(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), ((PyObject *)__pyx_v_callback));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_102forEdges(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_callback) {
  __pyx_t_9networkit_10_NetworKit_EdgeCallBackWrapper *__pyx_v_wrapper;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  char const *__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;
  PyObject *__pyx_t_9 = NULL;
  __Pyx_RefNannySetupContext("forEdges", 0);

  /* "networkit/_NetworKit.pyx":1173
 * 		"""
 * 		cdef EdgeCallBackWrapper* wrapper
 * 		try:             # <<<<<<<<<<<<<<
 * 			wrapper = new EdgeCallBackWrapper(callback)
 * 			self._this.forEdges[EdgeCallBackWrapper](dereference(wrapper))
 */
  /*try:*/ {

    /* "networkit/_NetworKit.pyx":1174
 * 		cdef EdgeCallBackWrapper* wrapper
 * 		try:
 * 			wrapper = new EdgeCallBackWrapper(callback)             # <<<<<<<<<<<<<<
 * 			self._this.forEdges[EdgeCallBackWrapper](dereference(wrapper))
 * 		finally:
 */
    __pyx_v_wrapper = new __pyx_t_9networkit_10_NetworKit_EdgeCallBackWrapper(__pyx_v_callback);

    /* "networkit/_NetworKit.pyx":1175
 * 		try:
 * 			wrapper = new EdgeCallBackWrapper(callback)
 * 			self._this.forEdges[EdgeCallBackWrapper](dereference(wrapper))             # <<<<<<<<<<<<<<
 * 		finally:
 * 			del wrapper
 */
    try {
      __pyx_v_self->_this.forEdges<__pyx_t_9networkit_10_NetworKit_EdgeCallBackWrapper>((*__pyx_v_wrapper));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1175, __pyx_L4_error)
    }
  }

  /* "networkit/_NetworKit.pyx":1177
 * 			self._this.forEdges[EdgeCallBackWrapper](dereference(wrapper))
 * 		finally:
 * 			del wrapper             # <<<<<<<<<<<<<<
 * 
 * 	def forEdgesOf(self, node u, object callback):
 */
  /*finally:*/ {
    /*normal exit:*/{
      delete __pyx_v_wrapper;
      goto __pyx_L5;
    }
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0)) __Pyx_ErrFetch(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_9);
      __pyx_t_1 = __pyx_lineno; __pyx_t_2 = __pyx_clineno; __pyx_t_3 = __pyx_filename;
      {
        delete __pyx_v_wrapper;
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_7);
        __Pyx_XGIVEREF(__pyx_t_8);
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
      }
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ErrRestore(__pyx_t_4, __pyx_t_5, __pyx_t_6);
      __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0;
      __pyx_lineno = __pyx_t_1; __pyx_clineno = __pyx_t_2; __pyx_filename = __pyx_t_3;
      goto __pyx_L1_error;
    }
    __pyx_L5:;
  }

  /* "networkit/_NetworKit.pyx":1164
 * 			del wrapper
 * 
 * 	def forEdges(self, object callback):             # <<<<<<<<<<<<<<
 * 		""" Experimental edge iterator interface
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.forEdges", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1179
 * 			del wrapper
 * 
 * 	def forEdgesOf(self, node u, object callback):             # <<<<<<<<<<<<<<
 * 		""" Experimental incident (outgoing) edge iterator interface
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_105forEdgesOf(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_104forEdgesOf[] = " Experimental incident (outgoing) edge iterator interface\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tThe node of which incident edges shall be passed to the callback\n\t\tcallback : object\n\t\t\tAny callable object that takes the parameter (node, node, edgeweight, edgeid)\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_105forEdgesOf(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  PyObject *__pyx_v_callback = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("forEdgesOf (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_callback,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_callback)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("forEdgesOf", 1, 2, 2, 1); __PYX_ERR(0, 1179, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "forEdgesOf") < 0)) __PYX_ERR(0, 1179, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1179, __pyx_L3_error)
    __pyx_v_callback = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("forEdgesOf", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1179, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.forEdgesOf", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_104forEdgesOf(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), __pyx_v_u, __pyx_v_callback);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_104forEdgesOf(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, PyObject *__pyx_v_callback) {
  __pyx_t_9networkit_10_NetworKit_EdgeCallBackWrapper *__pyx_v_wrapper;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  char const *__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;
  PyObject *__pyx_t_9 = NULL;
  __Pyx_RefNannySetupContext("forEdgesOf", 0);

  /* "networkit/_NetworKit.pyx":1190
 * 		"""
 * 		cdef EdgeCallBackWrapper* wrapper
 * 		try:             # <<<<<<<<<<<<<<
 * 			wrapper = new EdgeCallBackWrapper(callback)
 * 			self._this.forEdgesOf[EdgeCallBackWrapper](u, dereference(wrapper))
 */
  /*try:*/ {

    /* "networkit/_NetworKit.pyx":1191
 * 		cdef EdgeCallBackWrapper* wrapper
 * 		try:
 * 			wrapper = new EdgeCallBackWrapper(callback)             # <<<<<<<<<<<<<<
 * 			self._this.forEdgesOf[EdgeCallBackWrapper](u, dereference(wrapper))
 * 		finally:
 */
    __pyx_v_wrapper = new __pyx_t_9networkit_10_NetworKit_EdgeCallBackWrapper(__pyx_v_callback);

    /* "networkit/_NetworKit.pyx":1192
 * 		try:
 * 			wrapper = new EdgeCallBackWrapper(callback)
 * 			self._this.forEdgesOf[EdgeCallBackWrapper](u, dereference(wrapper))             # <<<<<<<<<<<<<<
 * 		finally:
 * 			del wrapper
 */
    try {
      __pyx_v_self->_this.forEdgesOf<__pyx_t_9networkit_10_NetworKit_EdgeCallBackWrapper>(__pyx_v_u, (*__pyx_v_wrapper));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1192, __pyx_L4_error)
    }
  }

  /* "networkit/_NetworKit.pyx":1194
 * 			self._this.forEdgesOf[EdgeCallBackWrapper](u, dereference(wrapper))
 * 		finally:
 * 			del wrapper             # <<<<<<<<<<<<<<
 * 
 * 	def forInEdgesOf(self, node u, object callback):
 */
  /*finally:*/ {
    /*normal exit:*/{
      delete __pyx_v_wrapper;
      goto __pyx_L5;
    }
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0)) __Pyx_ErrFetch(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_9);
      __pyx_t_1 = __pyx_lineno; __pyx_t_2 = __pyx_clineno; __pyx_t_3 = __pyx_filename;
      {
        delete __pyx_v_wrapper;
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_7);
        __Pyx_XGIVEREF(__pyx_t_8);
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
      }
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ErrRestore(__pyx_t_4, __pyx_t_5, __pyx_t_6);
      __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0;
      __pyx_lineno = __pyx_t_1; __pyx_clineno = __pyx_t_2; __pyx_filename = __pyx_t_3;
      goto __pyx_L1_error;
    }
    __pyx_L5:;
  }

  /* "networkit/_NetworKit.pyx":1179
 * 			del wrapper
 * 
 * 	def forEdgesOf(self, node u, object callback):             # <<<<<<<<<<<<<<
 * 		""" Experimental incident (outgoing) edge iterator interface
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.forEdgesOf", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1196
 * 			del wrapper
 * 
 * 	def forInEdgesOf(self, node u, object callback):             # <<<<<<<<<<<<<<
 * 		""" Experimental incident incoming edge iterator interface
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_107forInEdgesOf(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_106forInEdgesOf[] = " Experimental incident incoming edge iterator interface\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tThe node of which incident edges shall be passed to the callback\n\t\tcallback : object\n\t\t\tAny callable object that takes the parameter (node, node, edgeweight, edgeid)\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_107forInEdgesOf(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  PyObject *__pyx_v_callback = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("forInEdgesOf (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_callback,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_callback)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("forInEdgesOf", 1, 2, 2, 1); __PYX_ERR(0, 1196, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "forInEdgesOf") < 0)) __PYX_ERR(0, 1196, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1196, __pyx_L3_error)
    __pyx_v_callback = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("forInEdgesOf", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1196, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.forInEdgesOf", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_106forInEdgesOf(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), __pyx_v_u, __pyx_v_callback);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_106forInEdgesOf(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, PyObject *__pyx_v_callback) {
  __pyx_t_9networkit_10_NetworKit_EdgeCallBackWrapper *__pyx_v_wrapper;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  char const *__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;
  PyObject *__pyx_t_9 = NULL;
  __Pyx_RefNannySetupContext("forInEdgesOf", 0);

  /* "networkit/_NetworKit.pyx":1207
 * 		"""
 * 		cdef EdgeCallBackWrapper* wrapper
 * 		try:             # <<<<<<<<<<<<<<
 * 			wrapper = new EdgeCallBackWrapper(callback)
 * 			self._this.forInEdgesOf[EdgeCallBackWrapper](u, dereference(wrapper))
 */
  /*try:*/ {

    /* "networkit/_NetworKit.pyx":1208
 * 		cdef EdgeCallBackWrapper* wrapper
 * 		try:
 * 			wrapper = new EdgeCallBackWrapper(callback)             # <<<<<<<<<<<<<<
 * 			self._this.forInEdgesOf[EdgeCallBackWrapper](u, dereference(wrapper))
 * 		finally:
 */
    __pyx_v_wrapper = new __pyx_t_9networkit_10_NetworKit_EdgeCallBackWrapper(__pyx_v_callback);

    /* "networkit/_NetworKit.pyx":1209
 * 		try:
 * 			wrapper = new EdgeCallBackWrapper(callback)
 * 			self._this.forInEdgesOf[EdgeCallBackWrapper](u, dereference(wrapper))             # <<<<<<<<<<<<<<
 * 		finally:
 * 			del wrapper
 */
    try {
      __pyx_v_self->_this.forInEdgesOf<__pyx_t_9networkit_10_NetworKit_EdgeCallBackWrapper>(__pyx_v_u, (*__pyx_v_wrapper));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1209, __pyx_L4_error)
    }
  }

  /* "networkit/_NetworKit.pyx":1211
 * 			self._this.forInEdgesOf[EdgeCallBackWrapper](u, dereference(wrapper))
 * 		finally:
 * 			del wrapper             # <<<<<<<<<<<<<<
 * 
 * 	def toUndirected(self):
 */
  /*finally:*/ {
    /*normal exit:*/{
      delete __pyx_v_wrapper;
      goto __pyx_L5;
    }
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0)) __Pyx_ErrFetch(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_9);
      __pyx_t_1 = __pyx_lineno; __pyx_t_2 = __pyx_clineno; __pyx_t_3 = __pyx_filename;
      {
        delete __pyx_v_wrapper;
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_7);
        __Pyx_XGIVEREF(__pyx_t_8);
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
      }
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ErrRestore(__pyx_t_4, __pyx_t_5, __pyx_t_6);
      __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0;
      __pyx_lineno = __pyx_t_1; __pyx_clineno = __pyx_t_2; __pyx_filename = __pyx_t_3;
      goto __pyx_L1_error;
    }
    __pyx_L5:;
  }

  /* "networkit/_NetworKit.pyx":1196
 * 			del wrapper
 * 
 * 	def forInEdgesOf(self, node u, object callback):             # <<<<<<<<<<<<<<
 * 		""" Experimental incident incoming edge iterator interface
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.forInEdgesOf", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1213
 * 			del wrapper
 * 
 * 	def toUndirected(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Return an undirected version of this graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_109toUndirected(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_108toUndirected[] = "\n\t\tReturn an undirected version of this graph.\n\n\t \tReturns\n\t \t-------\n\t\t\tundirected graph.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_109toUndirected(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("toUndirected (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_108toUndirected(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_108toUndirected(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_v_warn = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  NetworKit::Graph __pyx_t_4;
  __Pyx_RefNannySetupContext("toUndirected", 0);

  /* "networkit/_NetworKit.pyx":1221
 * 			undirected graph.
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.toUndirected is deprecated, use graphtools.toUndirected instead.")
 * 		return Graph().setThis(self._this.toUndirected())
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":1222
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.toUndirected is deprecated, use graphtools.toUndirected instead.")             # <<<<<<<<<<<<<<
 * 		return Graph().setThis(self._this.toUndirected())
 * 
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_toUndirected_is_deprecated) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_toUndirected_is_deprecated);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1222, __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;

  /* "networkit/_NetworKit.pyx":1223
 * 		from warnings import warn
 * 		warn("Graph.toUndirected is deprecated, use graphtools.toUndirected instead.")
 * 		return Graph().setThis(self._this.toUndirected())             # <<<<<<<<<<<<<<
 * 
 * 	def toUnweighted(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  try {
    __pyx_t_4 = __pyx_v_self->_this.toUndirected();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1223, __pyx_L1_error)
  }
  __pyx_t_1 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_2)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_2), __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1223, __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;

  /* "networkit/_NetworKit.pyx":1213
 * 			del wrapper
 * 
 * 	def toUndirected(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Return an undirected version of this graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.toUndirected", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1225
 * 		return Graph().setThis(self._this.toUndirected())
 * 
 * 	def toUnweighted(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Return an unweighted version of this graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_111toUnweighted(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_110toUnweighted[] = "\n\t\tReturn an unweighted version of this graph.\n\n\t \tReturns\n\t \t-------\n\t\tnetworkit.Graph\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_111toUnweighted(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("toUnweighted (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_110toUnweighted(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_110toUnweighted(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_v_warn = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  NetworKit::Graph __pyx_t_4;
  __Pyx_RefNannySetupContext("toUnweighted", 0);

  /* "networkit/_NetworKit.pyx":1233
 * 		networkit.Graph
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.toUnweighted is deprecated, use graphtools.toUnweighted instead.")
 * 		return Graph().setThis(self._this.toUnweighted())
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1233, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1233, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1233, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":1234
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.toUnweighted is deprecated, use graphtools.toUnweighted instead.")             # <<<<<<<<<<<<<<
 * 		return Graph().setThis(self._this.toUnweighted())
 * 
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_toUnweighted_is_deprecated) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_toUnweighted_is_deprecated);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1234, __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;

  /* "networkit/_NetworKit.pyx":1235
 * 		from warnings import warn
 * 		warn("Graph.toUnweighted is deprecated, use graphtools.toUnweighted instead.")
 * 		return Graph().setThis(self._this.toUnweighted())             # <<<<<<<<<<<<<<
 * 
 * 	def transpose(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  try {
    __pyx_t_4 = __pyx_v_self->_this.toUnweighted();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1235, __pyx_L1_error)
  }
  __pyx_t_1 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_2)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_2), __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1235, __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;

  /* "networkit/_NetworKit.pyx":1225
 * 		return Graph().setThis(self._this.toUndirected())
 * 
 * 	def toUnweighted(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Return an unweighted version of this graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.toUnweighted", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1237
 * 		return Graph().setThis(self._this.toUnweighted())
 * 
 * 	def transpose(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Return the transpose of this (directed) graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_113transpose(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_112transpose[] = "\n\t\tReturn the transpose of this (directed) graph.\n\n\t\tReturns\n\t\t-------\n\t\tnetworkit.Graph\n\t\t\tDirected graph.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_113transpose(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("transpose (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_112transpose(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_112transpose(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_v_warn = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  NetworKit::Graph __pyx_t_4;
  __Pyx_RefNannySetupContext("transpose", 0);

  /* "networkit/_NetworKit.pyx":1246
 * 			Directed graph.
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.transpose is deprecated, use graphtools.transpose instead.")
 * 		return Graph().setThis(self._this.transpose())
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":1247
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.transpose is deprecated, use graphtools.transpose instead.")             # <<<<<<<<<<<<<<
 * 		return Graph().setThis(self._this.transpose())
 * 
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_transpose_is_deprecated_us) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_transpose_is_deprecated_us);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1247, __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;

  /* "networkit/_NetworKit.pyx":1248
 * 		from warnings import warn
 * 		warn("Graph.transpose is deprecated, use graphtools.transpose instead.")
 * 		return Graph().setThis(self._this.transpose())             # <<<<<<<<<<<<<<
 * 
 * 	def isWeighted(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1248, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  try {
    __pyx_t_4 = __pyx_v_self->_this.transpose();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1248, __pyx_L1_error)
  }
  __pyx_t_1 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_2)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_2), __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1248, __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;

  /* "networkit/_NetworKit.pyx":1237
 * 		return Graph().setThis(self._this.toUnweighted())
 * 
 * 	def transpose(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Return the transpose of this (directed) graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.transpose", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1250
 * 		return Graph().setThis(self._this.transpose())
 * 
 * 	def isWeighted(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_115isWeighted(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_114isWeighted[] = "\n\t\tReturns\n\t\t-------\n\t\tbool\n\t\t\tTrue if this graph supports edge weights other than 1.0.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_115isWeighted(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isWeighted (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_114isWeighted(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_114isWeighted(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("isWeighted", 0);

  /* "networkit/_NetworKit.pyx":1257
 * 			True if this graph supports edge weights other than 1.0.
 * 		"""
 * 		return self._this.isWeighted()             # <<<<<<<<<<<<<<
 * 
 * 	def isDirected(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.isWeighted();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1257, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1257, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1250
 * 		return Graph().setThis(self._this.transpose())
 * 
 * 	def isWeighted(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.isWeighted", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1259
 * 		return self._this.isWeighted()
 * 
 * 	def isDirected(self):             # <<<<<<<<<<<<<<
 * 		return self._this.isDirected()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_117isDirected(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_117isDirected(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isDirected (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_116isDirected(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_116isDirected(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("isDirected", 0);

  /* "networkit/_NetworKit.pyx":1260
 * 
 * 	def isDirected(self):
 * 		return self._this.isDirected()             # <<<<<<<<<<<<<<
 * 
 * 	def toString(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.isDirected();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1260, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1259
 * 		return self._this.isWeighted()
 * 
 * 	def isDirected(self):             # <<<<<<<<<<<<<<
 * 		return self._this.isDirected()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.isDirected", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1262
 * 		return self._this.isDirected()
 * 
 * 	def toString(self):             # <<<<<<<<<<<<<<
 * 		""" Get a string representation of the graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_119toString(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_118toString[] = " Get a string representation of the graph.\n\n\t\tReturns\n\t\t-------\n\t\tstring\n\t\t\tA string representation of the graph.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_119toString(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("toString (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_118toString(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_118toString(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_v_warn = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::string __pyx_t_4;
  __Pyx_RefNannySetupContext("toString", 0);

  /* "networkit/_NetworKit.pyx":1270
 * 			A string representation of the graph.
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.toString is deprecated.")
 * 		return self._this.toString()
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":1271
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.toString is deprecated.")             # <<<<<<<<<<<<<<
 * 		return self._this.toString()
 * 
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_toString_is_deprecated) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_toString_is_deprecated);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1271, __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;

  /* "networkit/_NetworKit.pyx":1272
 * 		from warnings import warn
 * 		warn("Graph.toString is deprecated.")
 * 		return self._this.toString()             # <<<<<<<<<<<<<<
 * 
 * 	def getName(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_4 = __pyx_v_self->_this.toString();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1272, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1272, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1262
 * 		return self._this.isDirected()
 * 
 * 	def toString(self):             # <<<<<<<<<<<<<<
 * 		""" Get a string representation of the graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.toString", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1274
 * 		return self._this.toString()
 * 
 * 	def getName(self):             # <<<<<<<<<<<<<<
 * 		""" Get the name of the graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_121getName(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_120getName[] = " Get the name of the graph.\n\n\t\tReturns\n\t\t-------\n\t\tstring\n\t\t\tThe name of the graph.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_121getName(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getName (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_120getName(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_120getName(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_v_warn = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::string __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("getName", 0);

  /* "networkit/_NetworKit.pyx":1282
 * 			The name of the graph.
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.getName is deprecated.")
 * 		return pystring(self._this.getName())
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":1283
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.getName is deprecated.")             # <<<<<<<<<<<<<<
 * 		return pystring(self._this.getName())
 * 
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_getName_is_deprecated) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_getName_is_deprecated);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1283, __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;

  /* "networkit/_NetworKit.pyx":1284
 * 		from warnings import warn
 * 		warn("Graph.getName is deprecated.")
 * 		return pystring(self._this.getName())             # <<<<<<<<<<<<<<
 * 
 * 	def setName(self, name):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pystring); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_4 = __pyx_v_self->_this.getName();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1284, __pyx_L1_error)
  }
  __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1284, __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;

  /* "networkit/_NetworKit.pyx":1274
 * 		return self._this.toString()
 * 
 * 	def getName(self):             # <<<<<<<<<<<<<<
 * 		""" Get the name of the graph.
 * 
 */

  /* 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("networkit._NetworKit.Graph.getName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1286
 * 		return pystring(self._this.getName())
 * 
 * 	def setName(self, name):             # <<<<<<<<<<<<<<
 * 		""" Set name of graph to `name`.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_123setName(PyObject *__pyx_v_self, PyObject *__pyx_v_name); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_122setName[] = " Set name of graph to `name`.\n\n\t\tParameters\n\t\t----------\n\t\tname : string\n\t\t\tThe name.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_123setName(PyObject *__pyx_v_self, PyObject *__pyx_v_name) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setName (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_122setName(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), ((PyObject *)__pyx_v_name));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_122setName(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_name) {
  PyObject *__pyx_v_warn = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::string __pyx_t_4;
  __Pyx_RefNannySetupContext("setName", 0);

  /* "networkit/_NetworKit.pyx":1294
 * 			The name.
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.setName is deprecated.")
 * 		self._this.setName(stdstring(name))
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":1295
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.setName is deprecated.")             # <<<<<<<<<<<<<<
 * 		self._this.setName(stdstring(name))
 * 
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_setName_is_deprecated) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_setName_is_deprecated);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1295, __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;

  /* "networkit/_NetworKit.pyx":1296
 * 		from warnings import warn
 * 		warn("Graph.setName is deprecated.")
 * 		self._this.setName(stdstring(name))             # <<<<<<<<<<<<<<
 * 
 * 	def totalEdgeWeight(self):
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_v_name) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_name);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = __pyx_convert_string_from_py_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1296, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  try {
    __pyx_v_self->_this.setName(__pyx_t_4);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1296, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":1286
 * 		return pystring(self._this.getName())
 * 
 * 	def setName(self, name):             # <<<<<<<<<<<<<<
 * 		""" Set name of graph to `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_AddTraceback("networkit._NetworKit.Graph.setName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1298
 * 		self._this.setName(stdstring(name))
 * 
 * 	def totalEdgeWeight(self):             # <<<<<<<<<<<<<<
 * 		""" Get the sum of all edge weights.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_125totalEdgeWeight(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_124totalEdgeWeight[] = " Get the sum of all edge weights.\n\n\t\tReturns\n\t\t-------\n\t\tedgeweight\n\t\t\tThe sum of all edge weights.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_125totalEdgeWeight(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("totalEdgeWeight (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_124totalEdgeWeight(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_124totalEdgeWeight(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("totalEdgeWeight", 0);

  /* "networkit/_NetworKit.pyx":1306
 * 			The sum of all edge weights.
 * 		"""
 * 		return self._this.totalEdgeWeight()             # <<<<<<<<<<<<<<
 * 
 * 	def randomNode(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.totalEdgeWeight();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1306, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1298
 * 		self._this.setName(stdstring(name))
 * 
 * 	def totalEdgeWeight(self):             # <<<<<<<<<<<<<<
 * 		""" Get the sum of all edge weights.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.totalEdgeWeight", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1308
 * 		return self._this.totalEdgeWeight()
 * 
 * 	def randomNode(self):             # <<<<<<<<<<<<<<
 * 		""" Get a random node of the graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_127randomNode(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_126randomNode[] = " Get a random node of the graph.\n\n\t\tReturns\n\t\t-------\n\t\tnode\n\t\t\tA random node.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_127randomNode(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("randomNode (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_126randomNode(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_126randomNode(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_v_warn = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_4;
  __Pyx_RefNannySetupContext("randomNode", 0);

  /* "networkit/_NetworKit.pyx":1316
 * 			A random node.
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.randomNode is deprecated, use graphtools.randomNode instead.")
 * 		return self._this.randomNode()
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":1317
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.randomNode is deprecated, use graphtools.randomNode instead.")             # <<<<<<<<<<<<<<
 * 		return self._this.randomNode()
 * 
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_randomNode_is_deprecated_u) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_randomNode_is_deprecated_u);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1317, __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;

  /* "networkit/_NetworKit.pyx":1318
 * 		from warnings import warn
 * 		warn("Graph.randomNode is deprecated, use graphtools.randomNode instead.")
 * 		return self._this.randomNode()             # <<<<<<<<<<<<<<
 * 
 * 	def randomNeighbor(self, u):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_4 = __pyx_v_self->_this.randomNode();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1318, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1318, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1308
 * 		return self._this.totalEdgeWeight()
 * 
 * 	def randomNode(self):             # <<<<<<<<<<<<<<
 * 		""" Get a random node of the graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.randomNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1320
 * 		return self._this.randomNode()
 * 
 * 	def randomNeighbor(self, u):             # <<<<<<<<<<<<<<
 * 		""" Get a random neighbor of `v` and `none` if degree is zero.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_129randomNeighbor(PyObject *__pyx_v_self, PyObject *__pyx_v_u); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_128randomNeighbor[] = " Get a random neighbor of `v` and `none` if degree is zero.\n\n\t\tParameters\n\t\t----------\n\t\tv : node\n\t\t\tNode.\n\n\t\tReturns\n\t\t-------\n\t\tnode\n\t\t\tA random neighbor of `v.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_129randomNeighbor(PyObject *__pyx_v_self, PyObject *__pyx_v_u) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("randomNeighbor (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_128randomNeighbor(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), ((PyObject *)__pyx_v_u));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_128randomNeighbor(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u) {
  PyObject *__pyx_v_warn = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_4;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_5;
  __Pyx_RefNannySetupContext("randomNeighbor", 0);

  /* "networkit/_NetworKit.pyx":1333
 * 			A random neighbor of `v.
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.randomNeighbor is deprecated, use graphtools.randomNeighbor instead.")
 * 		return self._this.randomNeighbor(u)
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":1334
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.randomNeighbor is deprecated, use graphtools.randomNeighbor instead.")             # <<<<<<<<<<<<<<
 * 		return self._this.randomNeighbor(u)
 * 
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_randomNeighbor_is_deprecat) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_randomNeighbor_is_deprecat);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1334, __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;

  /* "networkit/_NetworKit.pyx":1335
 * 		from warnings import warn
 * 		warn("Graph.randomNeighbor is deprecated, use graphtools.randomNeighbor instead.")
 * 		return self._this.randomNeighbor(u)             # <<<<<<<<<<<<<<
 * 
 * 	def randomEdge(self, bool_t uniformDistribution = False):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_4 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_4 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1335, __pyx_L1_error)
  try {
    __pyx_t_5 = __pyx_v_self->_this.randomNeighbor(__pyx_t_4);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1335, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1335, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1320
 * 		return self._this.randomNode()
 * 
 * 	def randomNeighbor(self, u):             # <<<<<<<<<<<<<<
 * 		""" Get a random neighbor of `v` and `none` if degree is zero.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.randomNeighbor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1337
 * 		return self._this.randomNeighbor(u)
 * 
 * 	def randomEdge(self, bool_t uniformDistribution = False):             # <<<<<<<<<<<<<<
 * 		""" Get a random edge of the graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_131randomEdge(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_130randomEdge[] = " Get a random edge of the graph.\n\n\t\tParameters\n\t\t----------\n\t\tuniformDistribution : bool\n\t\t\tIf the distribution of the edge shall be uniform\n\n\t\tReturns\n\t\t-------\n\t\tpair\n\t\t\tRandom random edge.\n\n\t\tNotes\n\t\t-----\n\t\tFast, but not uniformly random if uniformDistribution is not set,\n\t\tslow and uniformly random otherwise.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_131randomEdge(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  bool __pyx_v_uniformDistribution;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("randomEdge (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_uniformDistribution,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_uniformDistribution);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "randomEdge") < 0)) __PYX_ERR(0, 1337, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_uniformDistribution = __Pyx_PyObject_IsTrue(values[0]); if (unlikely((__pyx_v_uniformDistribution == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1337, __pyx_L3_error)
    } else {
      __pyx_v_uniformDistribution = ((bool)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("randomEdge", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1337, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.randomEdge", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_130randomEdge(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), __pyx_v_uniformDistribution);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_130randomEdge(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, bool __pyx_v_uniformDistribution) {
  PyObject *__pyx_v_warn = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_4;
  __Pyx_RefNannySetupContext("randomEdge", 0);

  /* "networkit/_NetworKit.pyx":1355
 * 		slow and uniformly random otherwise.
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.randomEdge is deprecated, use graphtools.randomEdge instead.")
 * 		return self._this.randomEdge(uniformDistribution)
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":1356
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.randomEdge is deprecated, use graphtools.randomEdge instead.")             # <<<<<<<<<<<<<<
 * 		return self._this.randomEdge(uniformDistribution)
 * 
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_randomEdge_is_deprecated_u) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_randomEdge_is_deprecated_u);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1356, __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;

  /* "networkit/_NetworKit.pyx":1357
 * 		from warnings import warn
 * 		warn("Graph.randomEdge is deprecated, use graphtools.randomEdge instead.")
 * 		return self._this.randomEdge(uniformDistribution)             # <<<<<<<<<<<<<<
 * 
 * 	def randomEdges(self, count numEdges):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_4 = __pyx_v_self->_this.randomEdge(__pyx_v_uniformDistribution);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1357, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_node(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1337
 * 		return self._this.randomNeighbor(u)
 * 
 * 	def randomEdge(self, bool_t uniformDistribution = False):             # <<<<<<<<<<<<<<
 * 		""" Get a random edge of the graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.randomEdge", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1359
 * 		return self._this.randomEdge(uniformDistribution)
 * 
 * 	def randomEdges(self, count numEdges):             # <<<<<<<<<<<<<<
 * 		""" Returns a list with numEdges random edges. The edges are chosen uniformly at random.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_133randomEdges(PyObject *__pyx_v_self, PyObject *__pyx_arg_numEdges); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_132randomEdges[] = " Returns a list with numEdges random edges. The edges are chosen uniformly at random.\n\n\t\tParameters\n\t\t----------\n\t\tnumEdges : count\n\t\t\tThe number of edges to choose.\n\n\t\tReturns\n\t\t-------\n\t\tlist of pairs\n\t\t\tThe selected edges.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_133randomEdges(PyObject *__pyx_v_self, PyObject *__pyx_arg_numEdges) {
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_numEdges;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("randomEdges (wrapper)", 0);
  assert(__pyx_arg_numEdges); {
    __pyx_v_numEdges = __Pyx_PyInt_As_uint64_t(__pyx_arg_numEdges); if (unlikely((__pyx_v_numEdges == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1359, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.randomEdges", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_132randomEdges(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), ((__pyx_t_9networkit_10_NetworKit_count)__pyx_v_numEdges));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_132randomEdges(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_count __pyx_v_numEdges) {
  PyObject *__pyx_v_warn = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> >  __pyx_t_4;
  __Pyx_RefNannySetupContext("randomEdges", 0);

  /* "networkit/_NetworKit.pyx":1372
 * 			The selected edges.
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.randomEdges is deprecated, use graphtools.randomEdges instead.")
 * 		return self._this.randomEdges(numEdges)
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":1373
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.randomEdges is deprecated, use graphtools.randomEdges instead.")             # <<<<<<<<<<<<<<
 * 		return self._this.randomEdges(numEdges)
 * 
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_randomEdges_is_deprecated) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_randomEdges_is_deprecated);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1373, __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;

  /* "networkit/_NetworKit.pyx":1374
 * 		from warnings import warn
 * 		warn("Graph.randomEdges is deprecated, use graphtools.randomEdges instead.")
 * 		return self._this.randomEdges(numEdges)             # <<<<<<<<<<<<<<
 * 
 * 	def numberOfSelfLoops(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_4 = __pyx_v_self->_this.randomEdges(__pyx_v_numEdges);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1374, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1359
 * 		return self._this.randomEdge(uniformDistribution)
 * 
 * 	def randomEdges(self, count numEdges):             # <<<<<<<<<<<<<<
 * 		""" Returns a list with numEdges random edges. The edges are chosen uniformly at random.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.randomEdges", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1376
 * 		return self._this.randomEdges(numEdges)
 * 
 * 	def numberOfSelfLoops(self):             # <<<<<<<<<<<<<<
 * 		""" Get number of self-loops, i.e. edges {v, v}.
 * 		Returns
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_135numberOfSelfLoops(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_134numberOfSelfLoops[] = " Get number of self-loops, i.e. edges {v, v}.\n\t\tReturns\n\t\t-------\n\t\tcount\n\t\t\tnumber of self-loops.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_135numberOfSelfLoops(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("numberOfSelfLoops (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_134numberOfSelfLoops(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_134numberOfSelfLoops(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("numberOfSelfLoops", 0);

  /* "networkit/_NetworKit.pyx":1383
 * 			number of self-loops.
 * 		"""
 * 		return self._this.numberOfSelfLoops()             # <<<<<<<<<<<<<<
 * 
 * 	def BFSfrom(self, start, object callback):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.numberOfSelfLoops();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1383, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1376
 * 		return self._this.randomEdges(numEdges)
 * 
 * 	def numberOfSelfLoops(self):             # <<<<<<<<<<<<<<
 * 		""" Get number of self-loops, i.e. edges {v, v}.
 * 		Returns
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.numberOfSelfLoops", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1385
 * 		return self._this.numberOfSelfLoops()
 * 
 * 	def BFSfrom(self, start, object callback):             # <<<<<<<<<<<<<<
 * 		""" Experimental BFS search interface
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_137BFSfrom(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_136BFSfrom[] = " Experimental BFS search interface\n\n\t\tParameters\n\t\t----------\n\t\tstart: node or list[node]\n\t\t\tOne or more start nodes from which the BFS shall be started\n\t\tcallback : object\n\t\t\tAny callable object that takes the parameter (node, count) (the second parameter is the depth)\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_137BFSfrom(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_start = 0;
  PyObject *__pyx_v_callback = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("BFSfrom (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_start,&__pyx_n_s_callback,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_start)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_callback)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("BFSfrom", 1, 2, 2, 1); __PYX_ERR(0, 1385, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "BFSfrom") < 0)) __PYX_ERR(0, 1385, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_start = values[0];
    __pyx_v_callback = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("BFSfrom", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1385, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.BFSfrom", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_136BFSfrom(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), __pyx_v_start, __pyx_v_callback);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_136BFSfrom(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_start, PyObject *__pyx_v_callback) {
  PyObject *__pyx_v_warn = NULL;
  __pyx_t_9networkit_10_NetworKit_NodeDistCallbackWrapper *__pyx_v_wrapper;
  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;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_7;
  int __pyx_t_8;
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_9;
  int __pyx_t_10;
  char const *__pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  __Pyx_RefNannySetupContext("BFSfrom", 0);

  /* "networkit/_NetworKit.pyx":1395
 * 			Any callable object that takes the parameter (node, count) (the second parameter is the depth)
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.BFSfrom is deprecated, use graph.Traversal.BFSfrom instead")
 * 		cdef NodeDistCallbackWrapper *wrapper
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":1396
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.BFSfrom is deprecated, use graph.Traversal.BFSfrom instead")             # <<<<<<<<<<<<<<
 * 		cdef NodeDistCallbackWrapper *wrapper
 * 		try:
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_BFSfrom_is_deprecated_use) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_BFSfrom_is_deprecated_use);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1396, __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;

  /* "networkit/_NetworKit.pyx":1398
 * 		warn("Graph.BFSfrom is deprecated, use graph.Traversal.BFSfrom instead")
 * 		cdef NodeDistCallbackWrapper *wrapper
 * 		try:             # <<<<<<<<<<<<<<
 * 			wrapper = new NodeDistCallbackWrapper(callback)
 * 			try:
 */
  /*try:*/ {

    /* "networkit/_NetworKit.pyx":1399
 * 		cdef NodeDistCallbackWrapper *wrapper
 * 		try:
 * 			wrapper = new NodeDistCallbackWrapper(callback)             # <<<<<<<<<<<<<<
 * 			try:
 * 				self._this.BFSfromNode[NodeDistCallbackWrapper](<node?>start, dereference(wrapper))
 */
    __pyx_v_wrapper = new __pyx_t_9networkit_10_NetworKit_NodeDistCallbackWrapper(__pyx_v_callback);

    /* "networkit/_NetworKit.pyx":1400
 * 		try:
 * 			wrapper = new NodeDistCallbackWrapper(callback)
 * 			try:             # <<<<<<<<<<<<<<
 * 				self._this.BFSfromNode[NodeDistCallbackWrapper](<node?>start, dereference(wrapper))
 * 			except TypeError:
 */
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":1401
 * 			wrapper = new NodeDistCallbackWrapper(callback)
 * 			try:
 * 				self._this.BFSfromNode[NodeDistCallbackWrapper](<node?>start, dereference(wrapper))             # <<<<<<<<<<<<<<
 * 			except TypeError:
 * 				self._this.BFSfrom[NodeDistCallbackWrapper](<vector[node]?>start, dereference(wrapper))
 */
        __pyx_t_7 = __Pyx_PyInt_As_uint64_t(__pyx_v_start); if (unlikely((__pyx_t_7 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1401, __pyx_L6_error)
        try {
          __pyx_v_self->_this.BFSfrom<__pyx_t_9networkit_10_NetworKit_NodeDistCallbackWrapper>(((__pyx_t_9networkit_10_NetworKit_node)__pyx_t_7), (*__pyx_v_wrapper));
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1401, __pyx_L6_error)
        }

        /* "networkit/_NetworKit.pyx":1400
 * 		try:
 * 			wrapper = new NodeDistCallbackWrapper(callback)
 * 			try:             # <<<<<<<<<<<<<<
 * 				self._this.BFSfromNode[NodeDistCallbackWrapper](<node?>start, dereference(wrapper))
 * 			except TypeError:
 */
      }
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      goto __pyx_L11_try_end;
      __pyx_L6_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;

      /* "networkit/_NetworKit.pyx":1402
 * 			try:
 * 				self._this.BFSfromNode[NodeDistCallbackWrapper](<node?>start, dereference(wrapper))
 * 			except TypeError:             # <<<<<<<<<<<<<<
 * 				self._this.BFSfrom[NodeDistCallbackWrapper](<vector[node]?>start, dereference(wrapper))
 * 		finally:
 */
      __pyx_t_8 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_TypeError);
      if (__pyx_t_8) {
        __Pyx_AddTraceback("networkit._NetworKit.Graph.BFSfrom", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 1402, __pyx_L8_except_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_GOTREF(__pyx_t_3);

        /* "networkit/_NetworKit.pyx":1403
 * 				self._this.BFSfromNode[NodeDistCallbackWrapper](<node?>start, dereference(wrapper))
 * 			except TypeError:
 * 				self._this.BFSfrom[NodeDistCallbackWrapper](<vector[node]?>start, dereference(wrapper))             # <<<<<<<<<<<<<<
 * 		finally:
 * 			del wrapper
 */
        __pyx_t_9 = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_node(__pyx_v_start); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1403, __pyx_L8_except_error)
        try {
          __pyx_v_self->_this.BFSfrom<__pyx_t_9networkit_10_NetworKit_NodeDistCallbackWrapper>(((std::vector<__pyx_t_9networkit_10_NetworKit_node> )__pyx_t_9), (*__pyx_v_wrapper));
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1403, __pyx_L8_except_error)
        }
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        goto __pyx_L7_exception_handled;
      }
      goto __pyx_L8_except_error;
      __pyx_L8_except_error:;

      /* "networkit/_NetworKit.pyx":1400
 * 		try:
 * 			wrapper = new NodeDistCallbackWrapper(callback)
 * 			try:             # <<<<<<<<<<<<<<
 * 				self._this.BFSfromNode[NodeDistCallbackWrapper](<node?>start, dereference(wrapper))
 * 			except TypeError:
 */
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
      goto __pyx_L4_error;
      __pyx_L7_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
      __pyx_L11_try_end:;
    }
  }

  /* "networkit/_NetworKit.pyx":1405
 * 				self._this.BFSfrom[NodeDistCallbackWrapper](<vector[node]?>start, dereference(wrapper))
 * 		finally:
 * 			del wrapper             # <<<<<<<<<<<<<<
 * 
 * 	def BFSEdgesFrom(self, node start, object callback):
 */
  /*finally:*/ {
    /*normal exit:*/{
      delete __pyx_v_wrapper;
      goto __pyx_L5;
    }
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_4 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0;
      __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;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_5, &__pyx_t_4) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_5, &__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_12);
      __Pyx_XGOTREF(__pyx_t_13);
      __Pyx_XGOTREF(__pyx_t_14);
      __pyx_t_8 = __pyx_lineno; __pyx_t_10 = __pyx_clineno; __pyx_t_11 = __pyx_filename;
      {
        delete __pyx_v_wrapper;
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_12);
        __Pyx_XGIVEREF(__pyx_t_13);
        __Pyx_XGIVEREF(__pyx_t_14);
        __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
      }
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_ErrRestore(__pyx_t_6, __pyx_t_5, __pyx_t_4);
      __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_4 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0;
      __pyx_lineno = __pyx_t_8; __pyx_clineno = __pyx_t_10; __pyx_filename = __pyx_t_11;
      goto __pyx_L1_error;
    }
    __pyx_L5:;
  }

  /* "networkit/_NetworKit.pyx":1385
 * 		return self._this.numberOfSelfLoops()
 * 
 * 	def BFSfrom(self, start, object callback):             # <<<<<<<<<<<<<<
 * 		""" Experimental BFS search interface
 * 
 */

  /* 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("networkit._NetworKit.Graph.BFSfrom", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1407
 * 			del wrapper
 * 
 * 	def BFSEdgesFrom(self, node start, object callback):             # <<<<<<<<<<<<<<
 * 		""" Experimental BFS search interface that passes edges that are part of the BFS tree to the callback
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_139BFSEdgesFrom(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_138BFSEdgesFrom[] = " Experimental BFS search interface that passes edges that are part of the BFS tree to the callback\n\n\t\tParameters\n\t\t----------\n\t\tstart: node\n\t\t\tThe start node from which the BFS shall be started\n\t\tcallback : object\n\t\t\tAny callable object that takes the parameter (node, node)\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_139BFSEdgesFrom(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_start;
  PyObject *__pyx_v_callback = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("BFSEdgesFrom (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_start,&__pyx_n_s_callback,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_start)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_callback)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("BFSEdgesFrom", 1, 2, 2, 1); __PYX_ERR(0, 1407, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "BFSEdgesFrom") < 0)) __PYX_ERR(0, 1407, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_start = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_start == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1407, __pyx_L3_error)
    __pyx_v_callback = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("BFSEdgesFrom", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1407, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.BFSEdgesFrom", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_138BFSEdgesFrom(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), __pyx_v_start, __pyx_v_callback);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_138BFSEdgesFrom(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_start, PyObject *__pyx_v_callback) {
  PyObject *__pyx_v_warn = NULL;
  __pyx_t_9networkit_10_NetworKit_EdgeCallBackWrapper *__pyx_v_wrapper;
  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;
  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;
  __Pyx_RefNannySetupContext("BFSEdgesFrom", 0);

  /* "networkit/_NetworKit.pyx":1417
 * 			Any callable object that takes the parameter (node, node)
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.BFSEdgesFrom is deprecated, use graph.Traversal.BFSEdgesFrom instead")
 * 		cdef EdgeCallBackWrapper *wrapper
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":1418
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.BFSEdgesFrom is deprecated, use graph.Traversal.BFSEdgesFrom instead")             # <<<<<<<<<<<<<<
 * 		cdef EdgeCallBackWrapper *wrapper
 * 		try:
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_BFSEdgesFrom_is_deprecated) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_BFSEdgesFrom_is_deprecated);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1418, __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;

  /* "networkit/_NetworKit.pyx":1420
 * 		warn("Graph.BFSEdgesFrom is deprecated, use graph.Traversal.BFSEdgesFrom instead")
 * 		cdef EdgeCallBackWrapper *wrapper
 * 		try:             # <<<<<<<<<<<<<<
 * 			wrapper = new EdgeCallBackWrapper(callback)
 * 			self._this.BFSEdgesFrom[EdgeCallBackWrapper](start, dereference(wrapper))
 */
  /*try:*/ {

    /* "networkit/_NetworKit.pyx":1421
 * 		cdef EdgeCallBackWrapper *wrapper
 * 		try:
 * 			wrapper = new EdgeCallBackWrapper(callback)             # <<<<<<<<<<<<<<
 * 			self._this.BFSEdgesFrom[EdgeCallBackWrapper](start, dereference(wrapper))
 * 		finally:
 */
    __pyx_v_wrapper = new __pyx_t_9networkit_10_NetworKit_EdgeCallBackWrapper(__pyx_v_callback);

    /* "networkit/_NetworKit.pyx":1422
 * 		try:
 * 			wrapper = new EdgeCallBackWrapper(callback)
 * 			self._this.BFSEdgesFrom[EdgeCallBackWrapper](start, dereference(wrapper))             # <<<<<<<<<<<<<<
 * 		finally:
 * 			del wrapper
 */
    try {
      __pyx_v_self->_this.BFSEdgesFrom<__pyx_t_9networkit_10_NetworKit_EdgeCallBackWrapper>(__pyx_v_start, (*__pyx_v_wrapper));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1422, __pyx_L4_error)
    }
  }

  /* "networkit/_NetworKit.pyx":1424
 * 			self._this.BFSEdgesFrom[EdgeCallBackWrapper](start, dereference(wrapper))
 * 		finally:
 * 			del wrapper             # <<<<<<<<<<<<<<
 * 
 * 	def DFSfrom(self, node start, object callback):
 */
  /*finally:*/ {
    /*normal exit:*/{
      delete __pyx_v_wrapper;
      goto __pyx_L5;
    }
    __pyx_L4_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_1); __pyx_t_1 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12);
      if ((PY_MAJOR_VERSION < 3) || 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;
      {
        delete __pyx_v_wrapper;
      }
      if (PY_MAJOR_VERSION >= 3) {
        __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_L5:;
  }

  /* "networkit/_NetworKit.pyx":1407
 * 			del wrapper
 * 
 * 	def BFSEdgesFrom(self, node start, object callback):             # <<<<<<<<<<<<<<
 * 		""" Experimental BFS search interface that passes edges that are part of the BFS tree to the 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_AddTraceback("networkit._NetworKit.Graph.BFSEdgesFrom", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1426
 * 			del wrapper
 * 
 * 	def DFSfrom(self, node start, object callback):             # <<<<<<<<<<<<<<
 * 		""" Experimental DFS search interface
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_141DFSfrom(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_140DFSfrom[] = " Experimental DFS search interface\n\n\t\tParameters\n\t\t----------\n\t\tstart: node\n\t\t\tThe start node from which the DFS shall be started\n\t\tcallback : object\n\t\t\tAny callable object that takes the parameter node\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_141DFSfrom(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_start;
  PyObject *__pyx_v_callback = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("DFSfrom (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_start,&__pyx_n_s_callback,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_start)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_callback)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("DFSfrom", 1, 2, 2, 1); __PYX_ERR(0, 1426, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "DFSfrom") < 0)) __PYX_ERR(0, 1426, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_start = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_start == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1426, __pyx_L3_error)
    __pyx_v_callback = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("DFSfrom", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1426, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.DFSfrom", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_140DFSfrom(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), __pyx_v_start, __pyx_v_callback);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_140DFSfrom(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_start, PyObject *__pyx_v_callback) {
  PyObject *__pyx_v_warn = NULL;
  __pyx_t_9networkit_10_NetworKit_NodeCallbackWrapper *__pyx_v_wrapper;
  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;
  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;
  __Pyx_RefNannySetupContext("DFSfrom", 0);

  /* "networkit/_NetworKit.pyx":1436
 * 			Any callable object that takes the parameter node
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.DFSfrom is deprecated, use graph.Traversal.DFSfrom instead")
 * 		cdef NodeCallbackWrapper *wrapper
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1436, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1436, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1436, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":1437
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.DFSfrom is deprecated, use graph.Traversal.DFSfrom instead")             # <<<<<<<<<<<<<<
 * 		cdef NodeCallbackWrapper *wrapper
 * 		try:
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_DFSfrom_is_deprecated_use) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_DFSfrom_is_deprecated_use);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1437, __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;

  /* "networkit/_NetworKit.pyx":1439
 * 		warn("Graph.DFSfrom is deprecated, use graph.Traversal.DFSfrom instead")
 * 		cdef NodeCallbackWrapper *wrapper
 * 		try:             # <<<<<<<<<<<<<<
 * 			wrapper = new NodeCallbackWrapper(callback)
 * 			self._this.DFSfrom[NodeCallbackWrapper](start, dereference(wrapper))
 */
  /*try:*/ {

    /* "networkit/_NetworKit.pyx":1440
 * 		cdef NodeCallbackWrapper *wrapper
 * 		try:
 * 			wrapper = new NodeCallbackWrapper(callback)             # <<<<<<<<<<<<<<
 * 			self._this.DFSfrom[NodeCallbackWrapper](start, dereference(wrapper))
 * 		finally:
 */
    __pyx_v_wrapper = new __pyx_t_9networkit_10_NetworKit_NodeCallbackWrapper(__pyx_v_callback);

    /* "networkit/_NetworKit.pyx":1441
 * 		try:
 * 			wrapper = new NodeCallbackWrapper(callback)
 * 			self._this.DFSfrom[NodeCallbackWrapper](start, dereference(wrapper))             # <<<<<<<<<<<<<<
 * 		finally:
 * 			del wrapper
 */
    try {
      __pyx_v_self->_this.DFSfrom<__pyx_t_9networkit_10_NetworKit_NodeCallbackWrapper>(__pyx_v_start, (*__pyx_v_wrapper));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1441, __pyx_L4_error)
    }
  }

  /* "networkit/_NetworKit.pyx":1443
 * 			self._this.DFSfrom[NodeCallbackWrapper](start, dereference(wrapper))
 * 		finally:
 * 			del wrapper             # <<<<<<<<<<<<<<
 * 
 * 	def DFSEdgesFrom(self, node start, object callback):
 */
  /*finally:*/ {
    /*normal exit:*/{
      delete __pyx_v_wrapper;
      goto __pyx_L5;
    }
    __pyx_L4_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_1); __pyx_t_1 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12);
      if ((PY_MAJOR_VERSION < 3) || 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;
      {
        delete __pyx_v_wrapper;
      }
      if (PY_MAJOR_VERSION >= 3) {
        __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_L5:;
  }

  /* "networkit/_NetworKit.pyx":1426
 * 			del wrapper
 * 
 * 	def DFSfrom(self, node start, object callback):             # <<<<<<<<<<<<<<
 * 		""" Experimental DFS search interface
 * 
 */

  /* 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("networkit._NetworKit.Graph.DFSfrom", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1445
 * 			del wrapper
 * 
 * 	def DFSEdgesFrom(self, node start, object callback):             # <<<<<<<<<<<<<<
 * 		""" Experimental DFS search interface that passes edges that are part of the DFS tree to the callback
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_143DFSEdgesFrom(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_142DFSEdgesFrom[] = " Experimental DFS search interface that passes edges that are part of the DFS tree to the callback\n\n\t\tParameters\n\t\t----------\n\t\tstart: node\n\t\t\tThe start node from which the DFS shall be started\n\t\tcallback : object\n\t\t\tAny callable object that takes the parameter (node, node)\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_143DFSEdgesFrom(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_start;
  PyObject *__pyx_v_callback = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("DFSEdgesFrom (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_start,&__pyx_n_s_callback,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_start)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_callback)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("DFSEdgesFrom", 1, 2, 2, 1); __PYX_ERR(0, 1445, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "DFSEdgesFrom") < 0)) __PYX_ERR(0, 1445, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_start = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_start == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1445, __pyx_L3_error)
    __pyx_v_callback = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("DFSEdgesFrom", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1445, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.DFSEdgesFrom", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_142DFSEdgesFrom(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), __pyx_v_start, __pyx_v_callback);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_142DFSEdgesFrom(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_start, PyObject *__pyx_v_callback) {
  PyObject *__pyx_v_warn = NULL;
  __pyx_t_9networkit_10_NetworKit_NodePairCallbackWrapper *__pyx_v_wrapper;
  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;
  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;
  __Pyx_RefNannySetupContext("DFSEdgesFrom", 0);

  /* "networkit/_NetworKit.pyx":1455
 * 			Any callable object that takes the parameter (node, node)
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.DFSEdgesFrom is deprecated, use graph.Traversal.DFSEdgesFrom instead")
 * 		cdef NodePairCallbackWrapper *wrapper
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1455, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1455, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1455, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":1456
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.DFSEdgesFrom is deprecated, use graph.Traversal.DFSEdgesFrom instead")             # <<<<<<<<<<<<<<
 * 		cdef NodePairCallbackWrapper *wrapper
 * 		try:
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_DFSEdgesFrom_is_deprecated) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_DFSEdgesFrom_is_deprecated);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1456, __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;

  /* "networkit/_NetworKit.pyx":1458
 * 		warn("Graph.DFSEdgesFrom is deprecated, use graph.Traversal.DFSEdgesFrom instead")
 * 		cdef NodePairCallbackWrapper *wrapper
 * 		try:             # <<<<<<<<<<<<<<
 * 			wrapper = new NodePairCallbackWrapper(callback)
 * 			self._this.DFSEdgesFrom(start, dereference(wrapper))
 */
  /*try:*/ {

    /* "networkit/_NetworKit.pyx":1459
 * 		cdef NodePairCallbackWrapper *wrapper
 * 		try:
 * 			wrapper = new NodePairCallbackWrapper(callback)             # <<<<<<<<<<<<<<
 * 			self._this.DFSEdgesFrom(start, dereference(wrapper))
 * 		finally:
 */
    __pyx_v_wrapper = new __pyx_t_9networkit_10_NetworKit_NodePairCallbackWrapper(__pyx_v_callback);

    /* "networkit/_NetworKit.pyx":1460
 * 		try:
 * 			wrapper = new NodePairCallbackWrapper(callback)
 * 			self._this.DFSEdgesFrom(start, dereference(wrapper))             # <<<<<<<<<<<<<<
 * 		finally:
 * 			del wrapper
 */
    try {
      __pyx_v_self->_this.DFSEdgesFrom(__pyx_v_start, (*__pyx_v_wrapper));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1460, __pyx_L4_error)
    }
  }

  /* "networkit/_NetworKit.pyx":1462
 * 			self._this.DFSEdgesFrom(start, dereference(wrapper))
 * 		finally:
 * 			del wrapper             # <<<<<<<<<<<<<<
 * 
 * 	def checkConsistency(self):
 */
  /*finally:*/ {
    /*normal exit:*/{
      delete __pyx_v_wrapper;
      goto __pyx_L5;
    }
    __pyx_L4_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_1); __pyx_t_1 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12);
      if ((PY_MAJOR_VERSION < 3) || 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;
      {
        delete __pyx_v_wrapper;
      }
      if (PY_MAJOR_VERSION >= 3) {
        __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_L5:;
  }

  /* "networkit/_NetworKit.pyx":1445
 * 			del wrapper
 * 
 * 	def DFSEdgesFrom(self, node start, object callback):             # <<<<<<<<<<<<<<
 * 		""" Experimental DFS search interface that passes edges that are part of the DFS tree to the 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_AddTraceback("networkit._NetworKit.Graph.DFSEdgesFrom", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1464
 * 			del wrapper
 * 
 * 	def checkConsistency(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Check for invalid graph states, such as multi-edges.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_145checkConsistency(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_144checkConsistency[] = "\n\t\tCheck for invalid graph states, such as multi-edges.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_145checkConsistency(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("checkConsistency (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_144checkConsistency(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_144checkConsistency(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("checkConsistency", 0);

  /* "networkit/_NetworKit.pyx":1468
 * 		Check for invalid graph states, such as multi-edges.
 * 		"""
 * 		return self._this.checkConsistency()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.checkConsistency();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1468, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1464
 * 			del wrapper
 * 
 * 	def checkConsistency(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Check for invalid graph states, such as multi-edges.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.checkConsistency", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1471
 * 
 * 
 * 	def subgraphFromNodes(self, nodes, includeOutNeighbors = False, includeInNeighbors = False):             # <<<<<<<<<<<<<<
 * 		""" Create a subgraph induced by the set `nodes`.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_147subgraphFromNodes(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_146subgraphFromNodes[] = " Create a subgraph induced by the set `nodes`.\n\n\t\tThere a two relevant sets of nodes:\n\t\t- `nodes` are such passed as arguments\n\t\t- Neighbors are empty by default.\n\t\t\tIf `includeOutNeighbors` is set, it includes all out neighbors of Nodes\n\t\t\tIf `includeInNeighbors` is set, it includes all in neighbors of Nodes (relevant only for directed graphs)\n\n\t\tThe subgraph contains all nodes in Nodes + Neighbors and all edge which have one end point in Nodes\n\t\tand the other in Nodes or Neighbors.\n\n\t\tParameters\n\t\t----------\n\t\tnodes : list/set\n\t\t\tA subset of nodes of `G` which induce the subgraph.\n\t\tincludeOutNeighbors : bool\n\t\t\tIf true also include nodes pointed to by a node in nodes.\n\t\tincludeInNeighbors : bool\n\t\t\tIf true also include nodes pointing to a node in nodes.\n\n\t\tReturns\n\t\t-------\n\t\tnetworkit.Graph\n\t\t\tThe subgraph induced by `nodes` (and possibly their neighbors)\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_147subgraphFromNodes(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_nodes = 0;
  PyObject *__pyx_v_includeOutNeighbors = 0;
  PyObject *__pyx_v_includeInNeighbors = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("subgraphFromNodes (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_nodes,&__pyx_n_s_includeOutNeighbors,&__pyx_n_s_includeInNeighbors,0};
    PyObject* values[3] = {0,0,0};
    values[1] = ((PyObject *)Py_False);
    values[2] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nodes)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_includeOutNeighbors);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_includeInNeighbors);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "subgraphFromNodes") < 0)) __PYX_ERR(0, 1471, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_nodes = values[0];
    __pyx_v_includeOutNeighbors = values[1];
    __pyx_v_includeInNeighbors = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("subgraphFromNodes", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1471, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.subgraphFromNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_146subgraphFromNodes(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), __pyx_v_nodes, __pyx_v_includeOutNeighbors, __pyx_v_includeInNeighbors);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_146subgraphFromNodes(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_nodes, PyObject *__pyx_v_includeOutNeighbors, PyObject *__pyx_v_includeInNeighbors) {
  PyObject *__pyx_v_warn = NULL;
  std::unordered_set<__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_nnodes;
  PyObject *__pyx_v_node = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  PyObject *(*__pyx_t_5)(PyObject *);
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_6;
  bool __pyx_t_7;
  bool __pyx_t_8;
  NetworKit::Graph __pyx_t_9;
  __Pyx_RefNannySetupContext("subgraphFromNodes", 0);

  /* "networkit/_NetworKit.pyx":1497
 * 			The subgraph induced by `nodes` (and possibly their neighbors)
 * 		"""
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("Graph.subgraphFromNodes is deprecated, use graphtools.subgraphFromNodes instead.")
 * 		cdef unordered_set[node] nnodes
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":1498
 * 		"""
 * 		from warnings import warn
 * 		warn("Graph.subgraphFromNodes is deprecated, use graphtools.subgraphFromNodes instead.")             # <<<<<<<<<<<<<<
 * 		cdef unordered_set[node] nnodes
 * 		for node in nodes:
 */
  __Pyx_INCREF(__pyx_v_warn);
  __pyx_t_1 = __pyx_v_warn; __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_u_Graph_subgraphFromNodes_is_depre) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_u_Graph_subgraphFromNodes_is_depre);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1498, __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;

  /* "networkit/_NetworKit.pyx":1500
 * 		warn("Graph.subgraphFromNodes is deprecated, use graphtools.subgraphFromNodes instead.")
 * 		cdef unordered_set[node] nnodes
 * 		for node in nodes:             # <<<<<<<<<<<<<<
 * 			nnodes.insert(node)
 * 		return Graph().setThis(self._this.subgraphFromNodes(nnodes, includeOutNeighbors, includeInNeighbors))
 */
  if (likely(PyList_CheckExact(__pyx_v_nodes)) || PyTuple_CheckExact(__pyx_v_nodes)) {
    __pyx_t_2 = __pyx_v_nodes; __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_nodes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1500, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1500, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_5)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 1500, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1500, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      } else {
        if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 1500, __pyx_L1_error)
        #else
        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1500, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        #endif
      }
    } else {
      __pyx_t_1 = __pyx_t_5(__pyx_t_2);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 1500, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v_node, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "networkit/_NetworKit.pyx":1501
 * 		cdef unordered_set[node] nnodes
 * 		for node in nodes:
 * 			nnodes.insert(node)             # <<<<<<<<<<<<<<
 * 		return Graph().setThis(self._this.subgraphFromNodes(nnodes, includeOutNeighbors, includeInNeighbors))
 * 
 */
    __pyx_t_6 = __Pyx_PyInt_As_uint64_t(__pyx_v_node); if (unlikely((__pyx_t_6 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1501, __pyx_L1_error)
    (void)(__pyx_v_nnodes.insert(__pyx_t_6));

    /* "networkit/_NetworKit.pyx":1500
 * 		warn("Graph.subgraphFromNodes is deprecated, use graphtools.subgraphFromNodes instead.")
 * 		cdef unordered_set[node] nnodes
 * 		for node in nodes:             # <<<<<<<<<<<<<<
 * 			nnodes.insert(node)
 * 		return Graph().setThis(self._this.subgraphFromNodes(nnodes, includeOutNeighbors, includeInNeighbors))
 */
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":1502
 * 		for node in nodes:
 * 			nnodes.insert(node)
 * 		return Graph().setThis(self._this.subgraphFromNodes(nnodes, includeOutNeighbors, includeInNeighbors))             # <<<<<<<<<<<<<<
 * 
 * 	def iterNodes(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_includeOutNeighbors); if (unlikely((__pyx_t_7 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1502, __pyx_L1_error)
  __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_includeInNeighbors); if (unlikely((__pyx_t_8 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1502, __pyx_L1_error)
  try {
    __pyx_t_9 = __pyx_v_self->_this.subgraphFromNodes(__pyx_v_nnodes, __pyx_t_7, __pyx_t_8);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1502, __pyx_L1_error)
  }
  __pyx_t_1 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_2)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_2), __pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1502, __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;

  /* "networkit/_NetworKit.pyx":1471
 * 
 * 
 * 	def subgraphFromNodes(self, nodes, includeOutNeighbors = False, includeInNeighbors = False):             # <<<<<<<<<<<<<<
 * 		""" Create a subgraph induced by the set `nodes`.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.subgraphFromNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XDECREF(__pyx_v_node);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_9networkit_10_NetworKit_5Graph_150generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "networkit/_NetworKit.pyx":1504
 * 		return Graph().setThis(self._this.subgraphFromNodes(nnodes, includeOutNeighbors, includeInNeighbors))
 * 
 * 	def iterNodes(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterates over the nodes of the graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_149iterNodes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_148iterNodes[] = "\n\t\tIterates over the nodes of the graph.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_149iterNodes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("iterNodes (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_148iterNodes(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_148iterNodes(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("iterNodes", 0);
  __pyx_cur_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes *)__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes(__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 1504, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_v_self = __pyx_v_self;
  __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
  __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9networkit_10_NetworKit_5Graph_150generator, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_iterNodes, __pyx_n_s_Graph_iterNodes, __pyx_n_s_networkit__NetworKit); if (unlikely(!gen)) __PYX_ERR(0, 1504, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.iterNodes", __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_9networkit_10_NetworKit_5Graph_150generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes *__pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  NetworKit::Graph::NodeRange __pyx_t_1;
  NetworKit::Graph::NodeIterator __pyx_t_2;
  bool __pyx_t_3;
  int __pyx_t_4;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("iterNodes", 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)) __PYX_ERR(0, 1504, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":1508
 * 		Iterates over the nodes of the graph.
 * 		"""
 * 		it = self._this.nodeRange().begin()             # <<<<<<<<<<<<<<
 * 		while it != self._this.nodeRange().end():
 * 			yield dereference(it)
 */
  try {
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_self->_this.nodeRange();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1508, __pyx_L1_error)
  }
  try {
    __pyx_t_2 = __pyx_t_1.begin();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1508, __pyx_L1_error)
  }
  __pyx_cur_scope->__pyx_v_it = __pyx_t_2;

  /* "networkit/_NetworKit.pyx":1509
 * 		"""
 * 		it = self._this.nodeRange().begin()
 * 		while it != self._this.nodeRange().end():             # <<<<<<<<<<<<<<
 * 			yield dereference(it)
 * 			preincrement(it)
 */
  while (1) {
    try {
      __pyx_t_1 = __pyx_cur_scope->__pyx_v_self->_this.nodeRange();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1509, __pyx_L1_error)
    }
    try {
      __pyx_t_2 = __pyx_t_1.end();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1509, __pyx_L1_error)
    }
    try {
      __pyx_t_3 = (__pyx_cur_scope->__pyx_v_it != __pyx_t_2);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1509, __pyx_L1_error)
    }
    __pyx_t_3 = (__pyx_cur_scope->__pyx_v_it != __pyx_t_2);
    __pyx_t_4 = (__pyx_t_3 != 0);
    if (!__pyx_t_4) break;

    /* "networkit/_NetworKit.pyx":1510
 * 		it = self._this.nodeRange().begin()
 * 		while it != self._this.nodeRange().end():
 * 			yield dereference(it)             # <<<<<<<<<<<<<<
 * 			preincrement(it)
 * 
 */
    try {
      __pyx_t_5 = * __pyx_cur_scope->__pyx_v_it;
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1510, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyInt_From_uint64_t(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    __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:;
    if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 1510, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":1511
 * 		while it != self._this.nodeRange().end():
 * 			yield dereference(it)
 * 			preincrement(it)             # <<<<<<<<<<<<<<
 * 
 * 	def iterEdges(self):
 */
    try {
      __pyx_t_2 = ++ __pyx_cur_scope->__pyx_v_it;
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1511, __pyx_L1_error)
    }
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* "networkit/_NetworKit.pyx":1504
 * 		return Graph().setThis(self._this.subgraphFromNodes(nnodes, includeOutNeighbors, includeInNeighbors))
 * 
 * 	def iterNodes(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterates over the nodes of the graph.
 */

  /* function exit code */
  PyErr_SetNone(PyExc_StopIteration);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("iterNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  #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_9networkit_10_NetworKit_5Graph_153generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "networkit/_NetworKit.pyx":1513
 * 			preincrement(it)
 * 
 * 	def iterEdges(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterates over the edges of the graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_152iterEdges(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_151iterEdges[] = "\n\t\tIterates over the edges of the graph.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_152iterEdges(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("iterEdges (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_151iterEdges(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_151iterEdges(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("iterEdges", 0);
  __pyx_cur_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges *)__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges(__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 1513, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_v_self = __pyx_v_self;
  __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
  __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9networkit_10_NetworKit_5Graph_153generator1, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_iterEdges, __pyx_n_s_Graph_iterEdges, __pyx_n_s_networkit__NetworKit); if (unlikely(!gen)) __PYX_ERR(0, 1513, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.iterEdges", __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_9networkit_10_NetworKit_5Graph_153generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges *__pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  NetworKit::Graph::EdgeRange __pyx_t_1;
  NetworKit::Graph::EdgeIterator __pyx_t_2;
  bool __pyx_t_3;
  int __pyx_t_4;
  struct NetworKit::Edge __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("iterEdges", 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)) __PYX_ERR(0, 1513, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":1517
 * 		Iterates over the edges of the graph.
 * 		"""
 * 		it = self._this.edgeRange().begin()             # <<<<<<<<<<<<<<
 * 		while it != self._this.edgeRange().end():
 * 			yield dereference(it).u, dereference(it).v
 */
  try {
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_self->_this.edgeRange();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1517, __pyx_L1_error)
  }
  try {
    __pyx_t_2 = __pyx_t_1.begin();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1517, __pyx_L1_error)
  }
  __pyx_cur_scope->__pyx_v_it = __pyx_t_2;

  /* "networkit/_NetworKit.pyx":1518
 * 		"""
 * 		it = self._this.edgeRange().begin()
 * 		while it != self._this.edgeRange().end():             # <<<<<<<<<<<<<<
 * 			yield dereference(it).u, dereference(it).v
 * 			preincrement(it)
 */
  while (1) {
    try {
      __pyx_t_1 = __pyx_cur_scope->__pyx_v_self->_this.edgeRange();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1518, __pyx_L1_error)
    }
    try {
      __pyx_t_2 = __pyx_t_1.end();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1518, __pyx_L1_error)
    }
    try {
      __pyx_t_3 = (__pyx_cur_scope->__pyx_v_it != __pyx_t_2);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1518, __pyx_L1_error)
    }
    __pyx_t_3 = (__pyx_cur_scope->__pyx_v_it != __pyx_t_2);
    __pyx_t_4 = (__pyx_t_3 != 0);
    if (!__pyx_t_4) break;

    /* "networkit/_NetworKit.pyx":1519
 * 		it = self._this.edgeRange().begin()
 * 		while it != self._this.edgeRange().end():
 * 			yield dereference(it).u, dereference(it).v             # <<<<<<<<<<<<<<
 * 			preincrement(it)
 * 
 */
    try {
      __pyx_t_5 = * __pyx_cur_scope->__pyx_v_it;
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1519, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyInt_From_uint64_t(__pyx_t_5.u); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1519, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    try {
      __pyx_t_5 = * __pyx_cur_scope->__pyx_v_it;
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1519, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_PyInt_From_uint64_t(__pyx_t_5.v); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1519, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1519, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_GIVEREF(__pyx_t_6);
    PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_7);
    PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7);
    __pyx_t_6 = 0;
    __pyx_t_7 = 0;
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    __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:;
    if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 1519, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":1520
 * 		while it != self._this.edgeRange().end():
 * 			yield dereference(it).u, dereference(it).v
 * 			preincrement(it)             # <<<<<<<<<<<<<<
 * 
 * 	def iterEdgesWeights(self):
 */
    try {
      __pyx_t_2 = ++ __pyx_cur_scope->__pyx_v_it;
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1520, __pyx_L1_error)
    }
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* "networkit/_NetworKit.pyx":1513
 * 			preincrement(it)
 * 
 * 	def iterEdges(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterates over the edges of the graph.
 */

  /* function exit code */
  PyErr_SetNone(PyExc_StopIteration);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("iterEdges", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  #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_9networkit_10_NetworKit_5Graph_156generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "networkit/_NetworKit.pyx":1522
 * 			preincrement(it)
 * 
 * 	def iterEdgesWeights(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterates over the edges of the graph and their weights.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_155iterEdgesWeights(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_154iterEdgesWeights[] = "\n\t\tIterates over the edges of the graph and their weights.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_155iterEdgesWeights(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("iterEdgesWeights (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_154iterEdgesWeights(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_154iterEdgesWeights(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("iterEdgesWeights", 0);
  __pyx_cur_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights *)__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights(__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 1522, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_v_self = __pyx_v_self;
  __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
  __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9networkit_10_NetworKit_5Graph_156generator2, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_iterEdgesWeights, __pyx_n_s_Graph_iterEdgesWeights, __pyx_n_s_networkit__NetworKit); if (unlikely(!gen)) __PYX_ERR(0, 1522, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.iterEdgesWeights", __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_9networkit_10_NetworKit_5Graph_156generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights *__pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  NetworKit::Graph::EdgeWeightRange __pyx_t_1;
  NetworKit::Graph::EdgeWeightIterator __pyx_t_2;
  bool __pyx_t_3;
  int __pyx_t_4;
  struct NetworKit::WeightedEdge __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("iterEdgesWeights", 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)) __PYX_ERR(0, 1522, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":1526
 * 		Iterates over the edges of the graph and their weights.
 * 		"""
 * 		it = self._this.edgeWeightRange().begin()             # <<<<<<<<<<<<<<
 * 		while it != self._this.edgeWeightRange().end():
 * 			yield dereference(it).u, dereference(it).v, dereference(it).weight
 */
  try {
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_self->_this.edgeWeightRange();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1526, __pyx_L1_error)
  }
  try {
    __pyx_t_2 = __pyx_t_1.begin();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1526, __pyx_L1_error)
  }
  __pyx_cur_scope->__pyx_v_it = __pyx_t_2;

  /* "networkit/_NetworKit.pyx":1527
 * 		"""
 * 		it = self._this.edgeWeightRange().begin()
 * 		while it != self._this.edgeWeightRange().end():             # <<<<<<<<<<<<<<
 * 			yield dereference(it).u, dereference(it).v, dereference(it).weight
 * 			preincrement(it)
 */
  while (1) {
    try {
      __pyx_t_1 = __pyx_cur_scope->__pyx_v_self->_this.edgeWeightRange();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1527, __pyx_L1_error)
    }
    try {
      __pyx_t_2 = __pyx_t_1.end();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1527, __pyx_L1_error)
    }
    try {
      __pyx_t_3 = (__pyx_cur_scope->__pyx_v_it != __pyx_t_2);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1527, __pyx_L1_error)
    }
    __pyx_t_3 = (__pyx_cur_scope->__pyx_v_it != __pyx_t_2);
    __pyx_t_4 = (__pyx_t_3 != 0);
    if (!__pyx_t_4) break;

    /* "networkit/_NetworKit.pyx":1528
 * 		it = self._this.edgeWeightRange().begin()
 * 		while it != self._this.edgeWeightRange().end():
 * 			yield dereference(it).u, dereference(it).v, dereference(it).weight             # <<<<<<<<<<<<<<
 * 			preincrement(it)
 * 
 */
    try {
      __pyx_t_5 = * __pyx_cur_scope->__pyx_v_it;
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1528, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyInt_From_uint64_t(__pyx_t_5.u); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    try {
      __pyx_t_5 = * __pyx_cur_scope->__pyx_v_it;
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1528, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_PyInt_From_uint64_t(__pyx_t_5.v); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    try {
      __pyx_t_5 = * __pyx_cur_scope->__pyx_v_it;
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1528, __pyx_L1_error)
    }
    __pyx_t_8 = PyFloat_FromDouble(__pyx_t_5.weight); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_GIVEREF(__pyx_t_6);
    PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_7);
    PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_7);
    __Pyx_GIVEREF(__pyx_t_8);
    PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_8);
    __pyx_t_6 = 0;
    __pyx_t_7 = 0;
    __pyx_t_8 = 0;
    __pyx_r = __pyx_t_9;
    __pyx_t_9 = 0;
    __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:;
    if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 1528, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":1529
 * 		while it != self._this.edgeWeightRange().end():
 * 			yield dereference(it).u, dereference(it).v, dereference(it).weight
 * 			preincrement(it)             # <<<<<<<<<<<<<<
 * 
 * 	def iterNeighbors(self, u):
 */
    try {
      __pyx_t_2 = ++ __pyx_cur_scope->__pyx_v_it;
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1529, __pyx_L1_error)
    }
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* "networkit/_NetworKit.pyx":1522
 * 			preincrement(it)
 * 
 * 	def iterEdgesWeights(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterates over the edges of the graph and their weights.
 */

  /* function exit code */
  PyErr_SetNone(PyExc_StopIteration);
  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("iterEdgesWeights", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  #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_9networkit_10_NetworKit_5Graph_159generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "networkit/_NetworKit.pyx":1531
 * 			preincrement(it)
 * 
 * 	def iterNeighbors(self, u):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterates over a range of the neighbors of a node.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_158iterNeighbors(PyObject *__pyx_v_self, PyObject *__pyx_v_u); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_157iterNeighbors[] = "\n\t\tIterates over a range of the neighbors of a node.\n\n\t\tParameters\n\t\t----------\n\t\tu : Node\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_158iterNeighbors(PyObject *__pyx_v_self, PyObject *__pyx_v_u) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("iterNeighbors (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_157iterNeighbors(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), ((PyObject *)__pyx_v_u));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_157iterNeighbors(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("iterNeighbors", 0);
  __pyx_cur_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors *)__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors(__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 1531, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_v_self = __pyx_v_self;
  __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
  __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
  __pyx_cur_scope->__pyx_v_u = __pyx_v_u;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_u);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_u);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9networkit_10_NetworKit_5Graph_159generator3, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_iterNeighbors, __pyx_n_s_Graph_iterNeighbors, __pyx_n_s_networkit__NetworKit); if (unlikely(!gen)) __PYX_ERR(0, 1531, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.iterNeighbors", __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_9networkit_10_NetworKit_5Graph_159generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors *__pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  NetworKit::Graph::OutNeighborRange __pyx_t_2;
  NetworKit::Graph::NeighborIterator __pyx_t_3;
  bool __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("iterNeighbors", 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)) __PYX_ERR(0, 1531, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":1539
 * 		u : Node
 * 		"""
 * 		it = self._this.neighborRange(u).begin()             # <<<<<<<<<<<<<<
 * 		while it != self._this.neighborRange(u).end():
 * 			yield dereference(it)
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_cur_scope->__pyx_v_u); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1539, __pyx_L1_error)
  try {
    __pyx_t_2 = __pyx_cur_scope->__pyx_v_self->_this.neighborRange(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1539, __pyx_L1_error)
  }
  try {
    __pyx_t_3 = __pyx_t_2.begin();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1539, __pyx_L1_error)
  }
  __pyx_cur_scope->__pyx_v_it = __pyx_t_3;

  /* "networkit/_NetworKit.pyx":1540
 * 		"""
 * 		it = self._this.neighborRange(u).begin()
 * 		while it != self._this.neighborRange(u).end():             # <<<<<<<<<<<<<<
 * 			yield dereference(it)
 * 			preincrement(it)
 */
  while (1) {
    __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_cur_scope->__pyx_v_u); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1540, __pyx_L1_error)
    try {
      __pyx_t_2 = __pyx_cur_scope->__pyx_v_self->_this.neighborRange(__pyx_t_1);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1540, __pyx_L1_error)
    }
    try {
      __pyx_t_3 = __pyx_t_2.end();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1540, __pyx_L1_error)
    }
    try {
      __pyx_t_4 = (__pyx_cur_scope->__pyx_v_it != __pyx_t_3);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1540, __pyx_L1_error)
    }
    __pyx_t_4 = (__pyx_cur_scope->__pyx_v_it != __pyx_t_3);
    __pyx_t_5 = (__pyx_t_4 != 0);
    if (!__pyx_t_5) break;

    /* "networkit/_NetworKit.pyx":1541
 * 		it = self._this.neighborRange(u).begin()
 * 		while it != self._this.neighborRange(u).end():
 * 			yield dereference(it)             # <<<<<<<<<<<<<<
 * 			preincrement(it)
 * 
 */
    try {
      __pyx_t_1 = * __pyx_cur_scope->__pyx_v_it;
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1541, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    __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:;
    if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 1541, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":1542
 * 		while it != self._this.neighborRange(u).end():
 * 			yield dereference(it)
 * 			preincrement(it)             # <<<<<<<<<<<<<<
 * 
 * 	def iterInNeighbors(self, u):
 */
    try {
      __pyx_t_3 = ++ __pyx_cur_scope->__pyx_v_it;
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1542, __pyx_L1_error)
    }
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* "networkit/_NetworKit.pyx":1531
 * 			preincrement(it)
 * 
 * 	def iterNeighbors(self, u):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterates over a range of the neighbors of a node.
 */

  /* function exit code */
  PyErr_SetNone(PyExc_StopIteration);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("iterNeighbors", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  #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_9networkit_10_NetworKit_5Graph_162generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "networkit/_NetworKit.pyx":1544
 * 			preincrement(it)
 * 
 * 	def iterInNeighbors(self, u):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterates over a range of the in-neighbors of a node.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_161iterInNeighbors(PyObject *__pyx_v_self, PyObject *__pyx_v_u); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Graph_160iterInNeighbors[] = "\n\t\tIterates over a range of the in-neighbors of a node.\n\n\t\tParameters\n\t\t----------\n\t\tu : Node\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_161iterInNeighbors(PyObject *__pyx_v_self, PyObject *__pyx_v_u) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("iterInNeighbors (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_160iterInNeighbors(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), ((PyObject *)__pyx_v_u));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_160iterInNeighbors(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, PyObject *__pyx_v_u) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("iterInNeighbors", 0);
  __pyx_cur_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors *)__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors(__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 1544, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_v_self = __pyx_v_self;
  __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
  __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
  __pyx_cur_scope->__pyx_v_u = __pyx_v_u;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_u);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_u);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9networkit_10_NetworKit_5Graph_162generator4, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_iterInNeighbors, __pyx_n_s_Graph_iterInNeighbors, __pyx_n_s_networkit__NetworKit); if (unlikely(!gen)) __PYX_ERR(0, 1544, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Graph.iterInNeighbors", __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_9networkit_10_NetworKit_5Graph_162generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors *__pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  NetworKit::Graph::InNeighborRange __pyx_t_2;
  NetworKit::Graph::NeighborIterator __pyx_t_3;
  bool __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("iterInNeighbors", 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)) __PYX_ERR(0, 1544, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":1552
 * 		u : Node
 * 		"""
 * 		it = self._this.inNeighborRange(u).begin()             # <<<<<<<<<<<<<<
 * 		while it != self._this.inNeighborRange(u).end():
 * 			yield dereference(it)
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_cur_scope->__pyx_v_u); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1552, __pyx_L1_error)
  try {
    __pyx_t_2 = __pyx_cur_scope->__pyx_v_self->_this.inNeighborRange(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1552, __pyx_L1_error)
  }
  try {
    __pyx_t_3 = __pyx_t_2.begin();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1552, __pyx_L1_error)
  }
  __pyx_cur_scope->__pyx_v_it = __pyx_t_3;

  /* "networkit/_NetworKit.pyx":1553
 * 		"""
 * 		it = self._this.inNeighborRange(u).begin()
 * 		while it != self._this.inNeighborRange(u).end():             # <<<<<<<<<<<<<<
 * 			yield dereference(it)
 * 			preincrement(it)
 */
  while (1) {
    __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_cur_scope->__pyx_v_u); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1553, __pyx_L1_error)
    try {
      __pyx_t_2 = __pyx_cur_scope->__pyx_v_self->_this.inNeighborRange(__pyx_t_1);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1553, __pyx_L1_error)
    }
    try {
      __pyx_t_3 = __pyx_t_2.end();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1553, __pyx_L1_error)
    }
    try {
      __pyx_t_4 = (__pyx_cur_scope->__pyx_v_it != __pyx_t_3);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1553, __pyx_L1_error)
    }
    __pyx_t_4 = (__pyx_cur_scope->__pyx_v_it != __pyx_t_3);
    __pyx_t_5 = (__pyx_t_4 != 0);
    if (!__pyx_t_5) break;

    /* "networkit/_NetworKit.pyx":1554
 * 		it = self._this.inNeighborRange(u).begin()
 * 		while it != self._this.inNeighborRange(u).end():
 * 			yield dereference(it)             # <<<<<<<<<<<<<<
 * 			preincrement(it)
 * 
 */
    try {
      __pyx_t_1 = * __pyx_cur_scope->__pyx_v_it;
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1554, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1554, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    __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:;
    if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 1554, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":1555
 * 		while it != self._this.inNeighborRange(u).end():
 * 			yield dereference(it)
 * 			preincrement(it)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/distance/STSP.hpp>":
 */
    try {
      __pyx_t_3 = ++ __pyx_cur_scope->__pyx_v_it;
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1555, __pyx_L1_error)
    }
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* "networkit/_NetworKit.pyx":1544
 * 			preincrement(it)
 * 
 * 	def iterInNeighbors(self, u):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterates over a range of the in-neighbors of a node.
 */

  /* function exit code */
  PyErr_SetNone(PyExc_StopIteration);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("iterInNeighbors", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  #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;
}

/* "(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_9networkit_10_NetworKit_5Graph_164__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_164__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_163__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_163__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.__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_9networkit_10_NetworKit_5Graph_166__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Graph_166__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Graph_165__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Graph_165__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Graph.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1569
 * 	cdef Graph _G
 * 
 * 	def __init__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Creates the STSP class for a graph G, a source node, and a target node.
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_4STSP_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_4STSP___init__[] = "\n\t\tCreates the STSP class for a graph G, a source node, and a target node.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe graph.\n\t\tsource : node\n\t\t\tThe source node.\n\t\ttarget : node\n\t\t\tThe target node.\n\t\tstorePred : bool\n\t\t\tIf true, the algorithm will also store the predecessors\n\t\t\tand reconstruct a shortest path from @a source and @a target.\n\t";
#if CYTHON_COMPILING_IN_CPYTHON
struct wrapperbase __pyx_wrapperbase_9networkit_10_NetworKit_4STSP___init__;
#endif
static int __pyx_pw_9networkit_10_NetworKit_4STSP_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_namedargs = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4STSP___init__(((struct __pyx_obj_9networkit_10_NetworKit_STSP *)__pyx_v_self), __pyx_v_args, __pyx_v_namedargs);

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

static int __pyx_pf_9networkit_10_NetworKit_4STSP___init__(struct __pyx_obj_9networkit_10_NetworKit_STSP *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "networkit/_NetworKit.pyx":1585
 * 			and reconstruct a shortest path from @a source and @a target.
 * 	"""
 * 		if type(self) == STSP:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use STSP directly, use a sub-class instead")
 * 
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), ((PyObject *)__pyx_ptype_9networkit_10_NetworKit_STSP), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1585, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1585, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(__pyx_t_2)) {

    /* "networkit/_NetworKit.pyx":1586
 * 	"""
 * 		if type(self) == STSP:
 * 			raise RuntimeError("Error, you may not use STSP directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def getPath(self):
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1586, __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(0, 1586, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":1585
 * 			and reconstruct a shortest path from @a source and @a target.
 * 	"""
 * 		if type(self) == STSP:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use STSP directly, use a sub-class instead")
 * 
 */
  }

  /* "networkit/_NetworKit.pyx":1569
 * 	cdef Graph _G
 * 
 * 	def __init__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Creates the STSP class for a graph G, a source node, and a target node.
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.STSP.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1588
 * 			raise RuntimeError("Error, you may not use STSP directly, use a sub-class instead")
 * 
 * 	def getPath(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns a shortest path from the source node to the target node (without
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_4STSP_3getPath(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_4STSP_2getPath[] = "\n\t\tReturns a shortest path from the source node to the target node (without\n\t\tincluding them). Note: the shortest path can be constructed only if the\n\t\talgorithm is executed with @a storePred set to true.\n\n\t\tReturns\n\t\t-------\n\t\tvector\n\t\t\tA shortest path from the source node to the target node.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_4STSP_3getPath(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPath (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4STSP_2getPath(((struct __pyx_obj_9networkit_10_NetworKit_STSP *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_4STSP_2getPath(struct __pyx_obj_9networkit_10_NetworKit_STSP *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getPath", 0);

  /* "networkit/_NetworKit.pyx":1599
 * 			A shortest path from the source node to the target node.
 * 		"""
 * 		return (<_STSP*>(self._this)).getPath()             # <<<<<<<<<<<<<<
 * 
 * 	def getPredecessors(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::STSP *)__pyx_v_self->__pyx_base._this)->getPath();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1599, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1599, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1588
 * 			raise RuntimeError("Error, you may not use STSP directly, use a sub-class instead")
 * 
 * 	def getPath(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns a shortest path from the source node to the target node (without
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.STSP.getPath", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1601
 * 		return (<_STSP*>(self._this)).getPath()
 * 
 * 	def getPredecessors(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the predecessor nodes from the target node to the source node,
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_4STSP_5getPredecessors(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_4STSP_4getPredecessors[] = "\n\t\tReturns the predecessor nodes from the target node to the source node,\n\t\tNote: predecessors are stored only if the algorithm is executed with\n\t\tstorePred set to true.\n\n\t\tReturns\n\t\t-------\n\t\tvector\n\t\t\tThe list of predecessors from @a target to @a source.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_4STSP_5getPredecessors(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPredecessors (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4STSP_4getPredecessors(((struct __pyx_obj_9networkit_10_NetworKit_STSP *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_4STSP_4getPredecessors(struct __pyx_obj_9networkit_10_NetworKit_STSP *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getPredecessors", 0);

  /* "networkit/_NetworKit.pyx":1612
 * 			The list of predecessors from @a target to @a source.
 * 		"""
 * 		return (<_STSP*>(self._this)).getPredecessors()             # <<<<<<<<<<<<<<
 * 
 * 	def getDistance(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::STSP *)__pyx_v_self->__pyx_base._this)->getPredecessors();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1612, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1601
 * 		return (<_STSP*>(self._this)).getPath()
 * 
 * 	def getPredecessors(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the predecessor nodes from the target node to the source node,
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.STSP.getPredecessors", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1614
 * 		return (<_STSP*>(self._this)).getPredecessors()
 * 
 * 	def getDistance(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the distance from the source node to the target node
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_4STSP_7getDistance(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_4STSP_6getDistance[] = "\n\t\tReturns the distance from the source node to the target node\n\n\t\tReturns\n\t\t-------\n\t\tedgeweight\n\t\t\tThe distance from source to the target node.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_4STSP_7getDistance(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDistance (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4STSP_6getDistance(((struct __pyx_obj_9networkit_10_NetworKit_STSP *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_4STSP_6getDistance(struct __pyx_obj_9networkit_10_NetworKit_STSP *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getDistance", 0);

  /* "networkit/_NetworKit.pyx":1623
 * 			The distance from source to the target node.
 * 		"""
 * 		return (<_STSP*>(self._this)).getDistance()             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/distance/BidirectionalBFS.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::STSP *)__pyx_v_self->__pyx_base._this)->getDistance();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1623, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1614
 * 		return (<_STSP*>(self._this)).getPredecessors()
 * 
 * 	def getDistance(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the distance from the source node to the target node
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.STSP.getDistance", __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_9networkit_10_NetworKit_4STSP_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_4STSP_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4STSP_8__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_STSP *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_4STSP_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_STSP *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.STSP.__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_9networkit_10_NetworKit_4STSP_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_4STSP_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4STSP_10__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_STSP *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_4STSP_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_STSP *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.STSP.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1651
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, node source, node target, bool_t storePred=True):             # <<<<<<<<<<<<<<
 * 		self._this = new _BidirectionalBFS(G._this, source, target, storePred)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_16BidirectionalBFS_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_16BidirectionalBFS_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_source;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_target;
  bool __pyx_v_storePred;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_source,&__pyx_n_s_target,&__pyx_n_s_storePred,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_source)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 4, 1); __PYX_ERR(0, 1651, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_target)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 4, 2); __PYX_ERR(0, 1651, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_storePred);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 1651, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_source = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_source == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1651, __pyx_L3_error)
    __pyx_v_target = __Pyx_PyInt_As_uint64_t(values[2]); if (unlikely((__pyx_v_target == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1651, __pyx_L3_error)
    if (values[3]) {
      __pyx_v_storePred = __Pyx_PyObject_IsTrue(values[3]); if (unlikely((__pyx_v_storePred == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1651, __pyx_L3_error)
    } else {
      __pyx_v_storePred = ((bool)1);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1651, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.BidirectionalBFS.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 1651, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16BidirectionalBFS___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_BidirectionalBFS *)__pyx_v_self), __pyx_v_G, __pyx_v_source, __pyx_v_target, __pyx_v_storePred);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_16BidirectionalBFS___cinit__(struct __pyx_obj_9networkit_10_NetworKit_BidirectionalBFS *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_node __pyx_v_source, __pyx_t_9networkit_10_NetworKit_node __pyx_v_target, bool __pyx_v_storePred) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::BidirectionalBFS *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":1652
 * 
 * 	def __cinit__(self, Graph G, node source, node target, bool_t storePred=True):
 * 		self._this = new _BidirectionalBFS(G._this, source, target, storePred)             # <<<<<<<<<<<<<<
 * 
 * 	def getHops(self):
 */
  try {
    __pyx_t_1 = new NetworKit::BidirectionalBFS(__pyx_v_G->_this, __pyx_v_source, __pyx_v_target, __pyx_v_storePred);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1652, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":1651
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, node source, node target, bool_t storePred=True):             # <<<<<<<<<<<<<<
 * 		self._this = new _BidirectionalBFS(G._this, source, target, storePred)
 * 
 */

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

/* "networkit/_NetworKit.pyx":1654
 * 		self._this = new _BidirectionalBFS(G._this, source, target, storePred)
 * 
 * 	def getHops(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the distance (i.e., number of hops) from the source to the
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_16BidirectionalBFS_3getHops(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_16BidirectionalBFS_2getHops[] = "\n\t\tReturns the distance (i.e., number of hops) from the source to the\n\t\ttarget node.\n\n\t\tReturns\n\t\t-------\n\t\tcount\n\t\t\tNumber of hops from the source to the target node.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_16BidirectionalBFS_3getHops(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getHops (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16BidirectionalBFS_2getHops(((struct __pyx_obj_9networkit_10_NetworKit_BidirectionalBFS *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_16BidirectionalBFS_2getHops(struct __pyx_obj_9networkit_10_NetworKit_BidirectionalBFS *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getHops", 0);

  /* "networkit/_NetworKit.pyx":1664
 * 			Number of hops from the source to the target node.
 * 		"""
 * 		return (<_BidirectionalBFS*>(self._this)).getHops()             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/distance/BidirectionalDijkstra.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::BidirectionalBFS *)__pyx_v_self->__pyx_base.__pyx_base._this)->getHops();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1664, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1664, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1654
 * 		self._this = new _BidirectionalBFS(G._this, source, target, storePred)
 * 
 * 	def getHops(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the distance (i.e., number of hops) from the source to the
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.BidirectionalBFS.getHops", __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_9networkit_10_NetworKit_16BidirectionalBFS_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_16BidirectionalBFS_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16BidirectionalBFS_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_BidirectionalBFS *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_16BidirectionalBFS_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BidirectionalBFS *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.BidirectionalBFS.__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_9networkit_10_NetworKit_16BidirectionalBFS_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_16BidirectionalBFS_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16BidirectionalBFS_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_BidirectionalBFS *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_16BidirectionalBFS_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BidirectionalBFS *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.BidirectionalBFS.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1691
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, node source, node target, bool_t storePred=True):             # <<<<<<<<<<<<<<
 * 		self._this = new _BidirectionalDijkstra(G._this, source, target, storePred)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_21BidirectionalDijkstra_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_21BidirectionalDijkstra_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_source;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_target;
  bool __pyx_v_storePred;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_source,&__pyx_n_s_target,&__pyx_n_s_storePred,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_source)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 4, 1); __PYX_ERR(0, 1691, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_target)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 4, 2); __PYX_ERR(0, 1691, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_storePred);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 1691, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_source = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_source == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1691, __pyx_L3_error)
    __pyx_v_target = __Pyx_PyInt_As_uint64_t(values[2]); if (unlikely((__pyx_v_target == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1691, __pyx_L3_error)
    if (values[3]) {
      __pyx_v_storePred = __Pyx_PyObject_IsTrue(values[3]); if (unlikely((__pyx_v_storePred == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1691, __pyx_L3_error)
    } else {
      __pyx_v_storePred = ((bool)1);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1691, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.BidirectionalDijkstra.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 1691, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21BidirectionalDijkstra___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_BidirectionalDijkstra *)__pyx_v_self), __pyx_v_G, __pyx_v_source, __pyx_v_target, __pyx_v_storePred);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_21BidirectionalDijkstra___cinit__(struct __pyx_obj_9networkit_10_NetworKit_BidirectionalDijkstra *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_node __pyx_v_source, __pyx_t_9networkit_10_NetworKit_node __pyx_v_target, bool __pyx_v_storePred) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::BidirectionalDijkstra *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":1692
 * 
 * 	def __cinit__(self, Graph G, node source, node target, bool_t storePred=True):
 * 		self._this = new _BidirectionalDijkstra(G._this, source, target, storePred)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/distance/AStar.hpp>":
 */
  try {
    __pyx_t_1 = new NetworKit::BidirectionalDijkstra(__pyx_v_G->_this, __pyx_v_source, __pyx_v_target, __pyx_v_storePred);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1692, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":1691
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, node source, node target, bool_t storePred=True):             # <<<<<<<<<<<<<<
 * 		self._this = new _BidirectionalDijkstra(G._this, source, target, storePred)
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.BidirectionalDijkstra.__cinit__", __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_9networkit_10_NetworKit_21BidirectionalDijkstra_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21BidirectionalDijkstra_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21BidirectionalDijkstra_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_BidirectionalDijkstra *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21BidirectionalDijkstra_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BidirectionalDijkstra *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.BidirectionalDijkstra.__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_9networkit_10_NetworKit_21BidirectionalDijkstra_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21BidirectionalDijkstra_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21BidirectionalDijkstra_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_BidirectionalDijkstra *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21BidirectionalDijkstra_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BidirectionalDijkstra *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.BidirectionalDijkstra.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1719
 * 
 * 	cdef vector[double] heu
 * 	def __cinit__(self, Graph G, vector[double] &heu, node source, node target, bool_t storePred=True):             # <<<<<<<<<<<<<<
 * 		self.heu = heu
 * 		self._this = new _AStar(G._this, self.heu, source, target, storePred)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_5AStar_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_5AStar_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  std::vector<double>  __pyx_v_heu;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_source;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_target;
  bool __pyx_v_storePred;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_heu,&__pyx_n_s_source,&__pyx_n_s_target,&__pyx_n_s_storePred,0};
    PyObject* values[5] = {0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_heu)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 4, 5, 1); __PYX_ERR(0, 1719, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_source)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 4, 5, 2); __PYX_ERR(0, 1719, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_target)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 4, 5, 3); __PYX_ERR(0, 1719, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_storePred);
          if (value) { values[4] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 1719, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_heu = __pyx_convert_vector_from_py_double(values[1]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1719, __pyx_L3_error)
    __pyx_v_source = __Pyx_PyInt_As_uint64_t(values[2]); if (unlikely((__pyx_v_source == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1719, __pyx_L3_error)
    __pyx_v_target = __Pyx_PyInt_As_uint64_t(values[3]); if (unlikely((__pyx_v_target == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1719, __pyx_L3_error)
    if (values[4]) {
      __pyx_v_storePred = __Pyx_PyObject_IsTrue(values[4]); if (unlikely((__pyx_v_storePred == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1719, __pyx_L3_error)
    } else {
      __pyx_v_storePred = ((bool)1);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 4, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1719, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.AStar.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 1719, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5AStar___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_AStar *)__pyx_v_self), __pyx_v_G, __pyx_v_heu, __pyx_v_source, __pyx_v_target, __pyx_v_storePred);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_5AStar___cinit__(struct __pyx_obj_9networkit_10_NetworKit_AStar *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<double>  __pyx_v_heu, __pyx_t_9networkit_10_NetworKit_node __pyx_v_source, __pyx_t_9networkit_10_NetworKit_node __pyx_v_target, bool __pyx_v_storePred) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::AStar *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":1720
 * 	cdef vector[double] heu
 * 	def __cinit__(self, Graph G, vector[double] &heu, node source, node target, bool_t storePred=True):
 * 		self.heu = heu             # <<<<<<<<<<<<<<
 * 		self._this = new _AStar(G._this, self.heu, source, target, storePred)
 * 
 */
  __pyx_v_self->heu = __pyx_v_heu;

  /* "networkit/_NetworKit.pyx":1721
 * 	def __cinit__(self, Graph G, vector[double] &heu, node source, node target, bool_t storePred=True):
 * 		self.heu = heu
 * 		self._this = new _AStar(G._this, self.heu, source, target, storePred)             # <<<<<<<<<<<<<<
 * 
 * 	def run(self):
 */
  try {
    __pyx_t_1 = new NetworKit::AStar(__pyx_v_G->_this, __pyx_v_self->heu, __pyx_v_source, __pyx_v_target, __pyx_v_storePred);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1721, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":1719
 * 
 * 	cdef vector[double] heu
 * 	def __cinit__(self, Graph G, vector[double] &heu, node source, node target, bool_t storePred=True):             # <<<<<<<<<<<<<<
 * 		self.heu = heu
 * 		self._this = new _AStar(G._this, self.heu, source, target, storePred)
 */

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

/* "networkit/_NetworKit.pyx":1723
 * 		self._this = new _AStar(G._this, self.heu, source, target, storePred)
 * 
 * 	def run(self):             # <<<<<<<<<<<<<<
 * 		(<_AStar*>(self._this)).run()
 * 		return self
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5AStar_3run(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_5AStar_3run(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5AStar_2run(((struct __pyx_obj_9networkit_10_NetworKit_AStar *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5AStar_2run(struct __pyx_obj_9networkit_10_NetworKit_AStar *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":1724
 * 
 * 	def run(self):
 * 		(<_AStar*>(self._this)).run()             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
  try {
    ((NetworKit::AStar *)__pyx_v_self->__pyx_base.__pyx_base._this)->run();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1724, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":1725
 * 	def run(self):
 * 		(<_AStar*>(self._this)).run()
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def getPath(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1723
 * 		self._this = new _AStar(G._this, self.heu, source, target, storePred)
 * 
 * 	def run(self):             # <<<<<<<<<<<<<<
 * 		(<_AStar*>(self._this)).run()
 * 		return self
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.AStar.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1727
 * 		return self
 * 
 * 	def getPath(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns a shortest path from the source node to the target node (without
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5AStar_5getPath(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5AStar_4getPath[] = "\n\t\tReturns a shortest path from the source node to the target node (without\n\t\tincluding them). Note: the shortest path can be constructed only if the\n\t\talgorithm is executed with @a storePred set to true.\n\n\t\tReturns\n\t\t-------\n\t\tvector\n\t\t\tA shortest path from the source node to the target node.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5AStar_5getPath(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPath (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5AStar_4getPath(((struct __pyx_obj_9networkit_10_NetworKit_AStar *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5AStar_4getPath(struct __pyx_obj_9networkit_10_NetworKit_AStar *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getPath", 0);

  /* "networkit/_NetworKit.pyx":1738
 * 			A shortest path from the source node to the target node.
 * 		"""
 * 		return (<_AStar*>(self._this)).getPath()             # <<<<<<<<<<<<<<
 * 
 * # TODO: expose all methods
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::AStar *)__pyx_v_self->__pyx_base.__pyx_base._this)->getPath();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1738, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1738, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1727
 * 		return self
 * 
 * 	def getPath(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns a shortest path from the source node to the target node (without
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.AStar.getPath", __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_9networkit_10_NetworKit_5AStar_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_5AStar_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5AStar_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_AStar *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5AStar_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AStar *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.AStar.__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_9networkit_10_NetworKit_5AStar_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_5AStar_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5AStar_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_AStar *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5AStar_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AStar *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.AStar.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1761
 * 	cdef Graph _G
 * 
 * 	def __init__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == SSSP:
 * 			raise RuntimeError("Error, you may not use SSSP directly, use a sub-class instead")
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_4SSSP_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_4SSSP_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_namedargs = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4SSSP___init__(((struct __pyx_obj_9networkit_10_NetworKit_SSSP *)__pyx_v_self), __pyx_v_args, __pyx_v_namedargs);

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

static int __pyx_pf_9networkit_10_NetworKit_4SSSP___init__(struct __pyx_obj_9networkit_10_NetworKit_SSSP *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "networkit/_NetworKit.pyx":1762
 * 
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == SSSP:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use SSSP directly, use a sub-class instead")
 * 
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), ((PyObject *)__pyx_ptype_9networkit_10_NetworKit_SSSP), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1762, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1762, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(__pyx_t_2)) {

    /* "networkit/_NetworKit.pyx":1763
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == SSSP:
 * 			raise RuntimeError("Error, you may not use SSSP directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def getDistances(self, moveOut=False):
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__19, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1763, __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(0, 1763, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":1762
 * 
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == SSSP:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use SSSP directly, use a sub-class instead")
 * 
 */
  }

  /* "networkit/_NetworKit.pyx":1761
 * 	cdef Graph _G
 * 
 * 	def __init__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == SSSP:
 * 			raise RuntimeError("Error, you may not use SSSP directly, use a sub-class instead")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.SSSP.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1765
 * 			raise RuntimeError("Error, you may not use SSSP directly, use a sub-class instead")
 * 
 * 	def getDistances(self, moveOut=False):             # <<<<<<<<<<<<<<
 * 		"""
 * 		DEPRECATED
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_4SSSP_3getDistances(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_4SSSP_2getDistances[] = "\n\t\tDEPRECATED\n\t\tReturns a list of weighted distances from the source node, i.e. the\n \t \tlength of the shortest path from the source node to any other node.\n\n \t \tReturns\n \t \t-------\n \t \tvector\n \t \t\tThe weighted distances from the source node to any other node in the graph.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_4SSSP_3getDistances(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_moveOut = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDistances (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_moveOut,0};
    PyObject* values[1] = {0};
    values[0] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_moveOut);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getDistances") < 0)) __PYX_ERR(0, 1765, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_moveOut = values[0];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getDistances", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1765, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.SSSP.getDistances", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4SSSP_2getDistances(((struct __pyx_obj_9networkit_10_NetworKit_SSSP *)__pyx_v_self), __pyx_v_moveOut);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_4SSSP_2getDistances(struct __pyx_obj_9networkit_10_NetworKit_SSSP *__pyx_v_self, PyObject *__pyx_v_moveOut) {
  PyObject *__pyx_v_warn = 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;
  std::vector<__pyx_t_9networkit_10_NetworKit_edgeweight>  __pyx_t_5;
  __Pyx_RefNannySetupContext("getDistances", 0);

  /* "networkit/_NetworKit.pyx":1776
 *  	 		The weighted distances from the source node to any other node in the graph.
 * 		"""
 * 		if moveOut:             # <<<<<<<<<<<<<<
 * 			from warnings import warn
 * 			warn("moveOut parameter is deprecated and not used")
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_moveOut); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1776, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "networkit/_NetworKit.pyx":1777
 * 		"""
 * 		if moveOut:
 * 			from warnings import warn             # <<<<<<<<<<<<<<
 * 			warn("moveOut parameter is deprecated and not used")
 * 
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1777, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_warn);
    __Pyx_GIVEREF(__pyx_n_s_warn);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_warn);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1777, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_warn); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1777, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v_warn = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "networkit/_NetworKit.pyx":1778
 * 		if moveOut:
 * 			from warnings import warn
 * 			warn("moveOut parameter is deprecated and not used")             # <<<<<<<<<<<<<<
 * 
 * 		return (<_SSSP*>(self._this)).getDistances()
 */
    __Pyx_INCREF(__pyx_v_warn);
    __pyx_t_2 = __pyx_v_warn; __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_kp_u_moveOut_parameter_is_deprecated) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_u_moveOut_parameter_is_deprecated);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "networkit/_NetworKit.pyx":1776
 *  	 		The weighted distances from the source node to any other node in the graph.
 * 		"""
 * 		if moveOut:             # <<<<<<<<<<<<<<
 * 			from warnings import warn
 * 			warn("moveOut parameter is deprecated and not used")
 */
  }

  /* "networkit/_NetworKit.pyx":1780
 * 			warn("moveOut parameter is deprecated and not used")
 * 
 * 		return (<_SSSP*>(self._this)).getDistances()             # <<<<<<<<<<<<<<
 * 
 * 	def distance(self, t):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_5 = ((NetworKit::SSSP *)__pyx_v_self->__pyx_base._this)->getDistances();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1780, __pyx_L1_error)
  }
  __pyx_t_3 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_edgeweight(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1765
 * 			raise RuntimeError("Error, you may not use SSSP directly, use a sub-class instead")
 * 
 * 	def getDistances(self, moveOut=False):             # <<<<<<<<<<<<<<
 * 		"""
 * 		DEPRECATED
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("networkit._NetworKit.SSSP.getDistances", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1782
 * 		return (<_SSSP*>(self._this)).getDistances()
 * 
 * 	def distance(self, t):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the distance from the source node to @a t.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_4SSSP_5distance(PyObject *__pyx_v_self, PyObject *__pyx_v_t); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_4SSSP_4distance[] = "\n\t\tReturns the distance from the source node to @a t.\n\n\t\tParameters\n\t\t----------\n\t\tt : node\n\t\t\tTarget node.\n\n\t\tReturns\n\t\t-------\n\t\tdouble\n\t\t\tDistance from the source node to @a t.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_4SSSP_5distance(PyObject *__pyx_v_self, PyObject *__pyx_v_t) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("distance (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4SSSP_4distance(((struct __pyx_obj_9networkit_10_NetworKit_SSSP *)__pyx_v_self), ((PyObject *)__pyx_v_t));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_4SSSP_4distance(struct __pyx_obj_9networkit_10_NetworKit_SSSP *__pyx_v_self, PyObject *__pyx_v_t) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("distance", 0);

  /* "networkit/_NetworKit.pyx":1796
 * 			Distance from the source node to @a t.
 * 		"""
 * 		return (<_SSSP*>(self._this)).distance(t)             # <<<<<<<<<<<<<<
 * 
 * 	def getPredecessors(self, t):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_t); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1796, __pyx_L1_error)
  try {
    __pyx_t_2 = ((NetworKit::SSSP *)__pyx_v_self->__pyx_base._this)->distance(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1796, __pyx_L1_error)
  }
  __pyx_t_3 = PyFloat_FromDouble(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1782
 * 		return (<_SSSP*>(self._this)).getDistances()
 * 
 * 	def distance(self, t):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the distance from the source node to @a t.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.SSSP.distance", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1798
 * 		return (<_SSSP*>(self._this)).distance(t)
 * 
 * 	def getPredecessors(self, t):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the predecessor nodes of @a t on all shortest paths from source
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_4SSSP_7getPredecessors(PyObject *__pyx_v_self, PyObject *__pyx_v_t); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_4SSSP_6getPredecessors[] = "\n\t\tReturns the predecessor nodes of @a t on all shortest paths from source\n\t\tto @a t.\n\t\tParameters\n\t\t----------\n\t\tt : node\n\t\t\tTarget node.\n\n\t\tReturns\n\t\t-------\n\t\tlist\n\t\t\tThe predecessors of @a t on all shortest paths from source to @a t.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_4SSSP_7getPredecessors(PyObject *__pyx_v_self, PyObject *__pyx_v_t) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPredecessors (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4SSSP_6getPredecessors(((struct __pyx_obj_9networkit_10_NetworKit_SSSP *)__pyx_v_self), ((PyObject *)__pyx_v_t));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_4SSSP_6getPredecessors(struct __pyx_obj_9networkit_10_NetworKit_SSSP *__pyx_v_self, PyObject *__pyx_v_t) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("getPredecessors", 0);

  /* "networkit/_NetworKit.pyx":1812
 * 			The predecessors of @a t on all shortest paths from source to @a t.
 * 		"""
 * 		return (<_SSSP*>(self._this)).getPredecessors(t)             # <<<<<<<<<<<<<<
 * 
 * 	def getPath(self, t, forward=True):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_t); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1812, __pyx_L1_error)
  try {
    __pyx_t_2 = ((NetworKit::SSSP *)__pyx_v_self->__pyx_base._this)->getPredecessors(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1812, __pyx_L1_error)
  }
  __pyx_t_3 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1812, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1798
 * 		return (<_SSSP*>(self._this)).distance(t)
 * 
 * 	def getPredecessors(self, t):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the predecessor nodes of @a t on all shortest paths from source
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.SSSP.getPredecessors", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1814
 * 		return (<_SSSP*>(self._this)).getPredecessors(t)
 * 
 * 	def getPath(self, t, forward=True):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns a shortest path from source to @a t and an empty path if source and @a t
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_4SSSP_9getPath(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_4SSSP_8getPath[] = "\n\t\tReturns a shortest path from source to @a t and an empty path if source and @a t\n\t\tare not connected.\n\n\t\tParameters\n\t\t----------\n\t\tt : node\n\t\t\tTarget node.\n\t\tforward : bool\n\t\t\tIf @c true (default) the path is directed from source to @a t, otherwise the path\n\t\t\tis reversed.\n\n\t\tReturns\n\t\t-------\n\t\tlist\n\t\t\tA shortest path from source to @a t or an empty path.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_4SSSP_9getPath(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_t = 0;
  PyObject *__pyx_v_forward = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPath (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_t,&__pyx_n_s_forward,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)Py_True);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_t)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_forward);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getPath") < 0)) __PYX_ERR(0, 1814, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_t = values[0];
    __pyx_v_forward = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getPath", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1814, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.SSSP.getPath", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4SSSP_8getPath(((struct __pyx_obj_9networkit_10_NetworKit_SSSP *)__pyx_v_self), __pyx_v_t, __pyx_v_forward);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_4SSSP_8getPath(struct __pyx_obj_9networkit_10_NetworKit_SSSP *__pyx_v_self, PyObject *__pyx_v_t, PyObject *__pyx_v_forward) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  bool __pyx_t_2;
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("getPath", 0);

  /* "networkit/_NetworKit.pyx":1832
 * 			A shortest path from source to @a t or an empty path.
 * 		"""
 * 		return (<_SSSP*>(self._this)).getPath(t, forward)             # <<<<<<<<<<<<<<
 * 
 * 	def getPaths(self, t, forward=True):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_t); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1832, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_forward); if (unlikely((__pyx_t_2 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1832, __pyx_L1_error)
  try {
    __pyx_t_3 = ((NetworKit::SSSP *)__pyx_v_self->__pyx_base._this)->getPath(__pyx_t_1, __pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1832, __pyx_L1_error)
  }
  __pyx_t_4 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1832, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1814
 * 		return (<_SSSP*>(self._this)).getPredecessors(t)
 * 
 * 	def getPath(self, t, forward=True):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns a shortest path from source to @a t and an empty path if source and @a t
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("networkit._NetworKit.SSSP.getPath", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1834
 * 		return (<_SSSP*>(self._this)).getPath(t, forward)
 * 
 * 	def getPaths(self, t, forward=True):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns all shortest paths from source to @a t and an empty set if source
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_4SSSP_11getPaths(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_4SSSP_10getPaths[] = "\n\t\tReturns all shortest paths from source to @a t and an empty set if source\n\t\tand @a t are not connected.\n\n\t\tParameters\n\t\t----------\n\t\tt : node\n\t\t\tTarget node.\n\t\tforward : bool\n\t\t\tIf @c true (default) the path is directed from source to\n\t\t\t@a t, otherwise the path is reversed.\n\n\t\tReturns\n\t\t-------\n\t\t\tAll shortest paths from source node to target node @a t.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_4SSSP_11getPaths(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_t = 0;
  PyObject *__pyx_v_forward = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPaths (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_t,&__pyx_n_s_forward,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)Py_True);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_t)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_forward);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getPaths") < 0)) __PYX_ERR(0, 1834, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_t = values[0];
    __pyx_v_forward = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getPaths", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1834, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.SSSP.getPaths", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4SSSP_10getPaths(((struct __pyx_obj_9networkit_10_NetworKit_SSSP *)__pyx_v_self), __pyx_v_t, __pyx_v_forward);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_4SSSP_10getPaths(struct __pyx_obj_9networkit_10_NetworKit_SSSP *__pyx_v_self, PyObject *__pyx_v_t, PyObject *__pyx_v_forward) {
  std::set<std::vector<__pyx_t_9networkit_10_NetworKit_node> >  __pyx_v_paths;
  PyObject *__pyx_v_result = NULL;
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_elem;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  bool __pyx_t_2;
  std::set<std::vector<__pyx_t_9networkit_10_NetworKit_node> >  __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  std::set<std::vector<__pyx_t_9networkit_10_NetworKit_node> > ::iterator __pyx_t_5;
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  __Pyx_RefNannySetupContext("getPaths", 0);

  /* "networkit/_NetworKit.pyx":1851
 * 			All shortest paths from source node to target node @a t.
 * 		"""
 * 		cdef set[vector[node]] paths = (<_SSSP*>(self._this)).getPaths(t, forward)             # <<<<<<<<<<<<<<
 * 		result = []
 * 		for elem in paths:
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_t); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1851, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_forward); if (unlikely((__pyx_t_2 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1851, __pyx_L1_error)
  try {
    __pyx_t_3 = ((NetworKit::SSSP *)__pyx_v_self->__pyx_base._this)->getPaths(__pyx_t_1, __pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1851, __pyx_L1_error)
  }
  __pyx_v_paths = __pyx_t_3;

  /* "networkit/_NetworKit.pyx":1852
 * 		"""
 * 		cdef set[vector[node]] paths = (<_SSSP*>(self._this)).getPaths(t, forward)
 * 		result = []             # <<<<<<<<<<<<<<
 * 		for elem in paths:
 * 			result.append(list(elem))
 */
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1852, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_result = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "networkit/_NetworKit.pyx":1853
 * 		cdef set[vector[node]] paths = (<_SSSP*>(self._this)).getPaths(t, forward)
 * 		result = []
 * 		for elem in paths:             # <<<<<<<<<<<<<<
 * 			result.append(list(elem))
 * 		return result
 */
  __pyx_t_5 = __pyx_v_paths.begin();
  for (;;) {
    if (!(__pyx_t_5 != __pyx_v_paths.end())) break;
    __pyx_t_6 = *__pyx_t_5;
    ++__pyx_t_5;
    __pyx_v_elem = __pyx_t_6;

    /* "networkit/_NetworKit.pyx":1854
 * 		result = []
 * 		for elem in paths:
 * 			result.append(list(elem))             # <<<<<<<<<<<<<<
 * 		return result
 * 
 */
    __pyx_t_4 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_v_elem); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1854, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = PySequence_List(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1854, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_result, __pyx_t_7); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 1854, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "networkit/_NetworKit.pyx":1853
 * 		cdef set[vector[node]] paths = (<_SSSP*>(self._this)).getPaths(t, forward)
 * 		result = []
 * 		for elem in paths:             # <<<<<<<<<<<<<<
 * 			result.append(list(elem))
 * 		return result
 */
  }

  /* "networkit/_NetworKit.pyx":1855
 * 		for elem in paths:
 * 			result.append(list(elem))
 * 		return result             # <<<<<<<<<<<<<<
 * 
 * 	def getNodesSortedByDistance(self, moveOut=False):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_result);
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1834
 * 		return (<_SSSP*>(self._this)).getPath(t, forward)
 * 
 * 	def getPaths(self, t, forward=True):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns all shortest paths from source to @a t and an empty set if source
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("networkit._NetworKit.SSSP.getPaths", __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;
}

/* "networkit/_NetworKit.pyx":1857
 * 		return result
 * 
 * 	def getNodesSortedByDistance(self, moveOut=False):             # <<<<<<<<<<<<<<
 * 		""" Returns a list of nodes ordered in increasing distance from the source.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_4SSSP_13getNodesSortedByDistance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_4SSSP_12getNodesSortedByDistance[] = " Returns a list of nodes ordered in increasing distance from the source.\n\n\t\tFor this functionality to be available, storeNodesSortedByDistance has to be set to true in the constructor.\n\t\tThere are no guarantees regarding the ordering of two nodes with the same distance to the source.\n\n\t\tReturns\n\t\t-------\n\t\tlist\n\t\t\tNodes ordered in increasing distance from the source.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_4SSSP_13getNodesSortedByDistance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_moveOut = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNodesSortedByDistance (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_moveOut,0};
    PyObject* values[1] = {0};
    values[0] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_moveOut);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getNodesSortedByDistance") < 0)) __PYX_ERR(0, 1857, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_moveOut = values[0];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getNodesSortedByDistance", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1857, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.SSSP.getNodesSortedByDistance", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4SSSP_12getNodesSortedByDistance(((struct __pyx_obj_9networkit_10_NetworKit_SSSP *)__pyx_v_self), __pyx_v_moveOut);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_4SSSP_12getNodesSortedByDistance(struct __pyx_obj_9networkit_10_NetworKit_SSSP *__pyx_v_self, PyObject *__pyx_v_moveOut) {
  PyObject *__pyx_v_warn = 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;
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_5;
  __Pyx_RefNannySetupContext("getNodesSortedByDistance", 0);

  /* "networkit/_NetworKit.pyx":1868
 * 			Nodes ordered in increasing distance from the source.
 * 		"""
 * 		if moveOut:             # <<<<<<<<<<<<<<
 * 			from warnings import warn
 * 			warn("moveOut parameter is deprecated and not used")
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_moveOut); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1868, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "networkit/_NetworKit.pyx":1869
 * 		"""
 * 		if moveOut:
 * 			from warnings import warn             # <<<<<<<<<<<<<<
 * 			warn("moveOut parameter is deprecated and not used")
 * 		return (<_SSSP*>(self._this)).getNodesSortedByDistance()
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1869, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_warn);
    __Pyx_GIVEREF(__pyx_n_s_warn);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_warn);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1869, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_warn); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1869, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v_warn = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "networkit/_NetworKit.pyx":1870
 * 		if moveOut:
 * 			from warnings import warn
 * 			warn("moveOut parameter is deprecated and not used")             # <<<<<<<<<<<<<<
 * 		return (<_SSSP*>(self._this)).getNodesSortedByDistance()
 * 
 */
    __Pyx_INCREF(__pyx_v_warn);
    __pyx_t_2 = __pyx_v_warn; __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_kp_u_moveOut_parameter_is_deprecated) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_u_moveOut_parameter_is_deprecated);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1870, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "networkit/_NetworKit.pyx":1868
 * 			Nodes ordered in increasing distance from the source.
 * 		"""
 * 		if moveOut:             # <<<<<<<<<<<<<<
 * 			from warnings import warn
 * 			warn("moveOut parameter is deprecated and not used")
 */
  }

  /* "networkit/_NetworKit.pyx":1871
 * 			from warnings import warn
 * 			warn("moveOut parameter is deprecated and not used")
 * 		return (<_SSSP*>(self._this)).getNodesSortedByDistance()             # <<<<<<<<<<<<<<
 * 
 * 	def numberOfPaths(self, t):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_5 = ((NetworKit::SSSP *)__pyx_v_self->__pyx_base._this)->getNodesSortedByDistance();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1871, __pyx_L1_error)
  }
  __pyx_t_3 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1857
 * 		return result
 * 
 * 	def getNodesSortedByDistance(self, moveOut=False):             # <<<<<<<<<<<<<<
 * 		""" Returns a list of nodes ordered in increasing distance from the source.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("networkit._NetworKit.SSSP.getNodesSortedByDistance", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1873
 * 		return (<_SSSP*>(self._this)).getNodesSortedByDistance()
 * 
 * 	def numberOfPaths(self, t):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the number of paths from the source node to @a t.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_4SSSP_15numberOfPaths(PyObject *__pyx_v_self, PyObject *__pyx_v_t); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_4SSSP_14numberOfPaths[] = "\n\t\tReturns the number of paths from the source node to @a t.\n\n\t\tParameters\n\t\t----------\n\t\tt : node\n\t\t\tTarget node.\n\n\t\tReturns\n\t\t-------\n\t\tint\n\t\t\tThe number of paths from the source node to @a t.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_4SSSP_15numberOfPaths(PyObject *__pyx_v_self, PyObject *__pyx_v_t) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("numberOfPaths (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4SSSP_14numberOfPaths(((struct __pyx_obj_9networkit_10_NetworKit_SSSP *)__pyx_v_self), ((PyObject *)__pyx_v_t));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_4SSSP_14numberOfPaths(struct __pyx_obj_9networkit_10_NetworKit_SSSP *__pyx_v_self, PyObject *__pyx_v_t) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  double __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("numberOfPaths", 0);

  /* "networkit/_NetworKit.pyx":1887
 * 			The number of paths from the source node to @a t.
 * 		"""
 * 		return (<_SSSP*>(self._this))._numberOfPaths(t)             # <<<<<<<<<<<<<<
 * 
 * 	def setSource(self, s not None):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_t); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1887, __pyx_L1_error)
  try {
    __pyx_t_2 = ((NetworKit::SSSP *)__pyx_v_self->__pyx_base._this)->_numberOfPaths(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1887, __pyx_L1_error)
  }
  __pyx_t_3 = PyFloat_FromDouble(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1873
 * 		return (<_SSSP*>(self._this)).getNodesSortedByDistance()
 * 
 * 	def numberOfPaths(self, t):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the number of paths from the source node to @a t.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.SSSP.numberOfPaths", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1889
 * 		return (<_SSSP*>(self._this))._numberOfPaths(t)
 * 
 * 	def setSource(self, s not None):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Sets a new source node.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_4SSSP_17setSource(PyObject *__pyx_v_self, PyObject *__pyx_v_s); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_4SSSP_16setSource[] = "\n\t\tSets a new source node.\n\n\t\tParameters\n\t\t----------\n\t\ts : node\n\t\t\tNew source node.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_4SSSP_17setSource(PyObject *__pyx_v_self, PyObject *__pyx_v_s) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setSource (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_s) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "s"); __PYX_ERR(0, 1889, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4SSSP_16setSource(((struct __pyx_obj_9networkit_10_NetworKit_SSSP *)__pyx_v_self), ((PyObject *)__pyx_v_s));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_4SSSP_16setSource(struct __pyx_obj_9networkit_10_NetworKit_SSSP *__pyx_v_self, PyObject *__pyx_v_s) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __Pyx_RefNannySetupContext("setSource", 0);

  /* "networkit/_NetworKit.pyx":1898
 * 			New source node.
 * 		"""
 * 		(<_SSSP*>(self._this)).setSource(s)             # <<<<<<<<<<<<<<
 * 
 * 	def setTarget(self, t not None):
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_s); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1898, __pyx_L1_error)
  try {
    ((NetworKit::SSSP *)__pyx_v_self->__pyx_base._this)->setSource(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1898, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":1889
 * 		return (<_SSSP*>(self._this))._numberOfPaths(t)
 * 
 * 	def setSource(self, s not None):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Sets a new source node.
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.SSSP.setSource", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1900
 * 		(<_SSSP*>(self._this)).setSource(s)
 * 
 * 	def setTarget(self, t not None):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Sets a new target node.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_4SSSP_19setTarget(PyObject *__pyx_v_self, PyObject *__pyx_v_t); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_4SSSP_18setTarget[] = "\n\t\tSets a new target node.\n\n\t\tParameters\n\t\t----------\n\t\tt : node\n\t\t\tNew target node.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_4SSSP_19setTarget(PyObject *__pyx_v_self, PyObject *__pyx_v_t) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setTarget (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_t) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "t"); __PYX_ERR(0, 1900, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4SSSP_18setTarget(((struct __pyx_obj_9networkit_10_NetworKit_SSSP *)__pyx_v_self), ((PyObject *)__pyx_v_t));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_4SSSP_18setTarget(struct __pyx_obj_9networkit_10_NetworKit_SSSP *__pyx_v_self, PyObject *__pyx_v_t) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __Pyx_RefNannySetupContext("setTarget", 0);

  /* "networkit/_NetworKit.pyx":1909
 * 			New target node.
 * 		"""
 * 		(<_SSSP*>(self._this)).setTarget(t)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_t); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1909, __pyx_L1_error)
  try {
    ((NetworKit::SSSP *)__pyx_v_self->__pyx_base._this)->setTarget(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1909, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":1900
 * 		(<_SSSP*>(self._this)).setSource(s)
 * 
 * 	def setTarget(self, t not None):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Sets a new target node.
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.SSSP.setTarget", __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_9networkit_10_NetworKit_4SSSP_21__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_4SSSP_21__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4SSSP_20__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_SSSP *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_4SSSP_20__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SSSP *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.SSSP.__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_9networkit_10_NetworKit_4SSSP_23__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_4SSSP_23__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4SSSP_22__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_SSSP *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_4SSSP_22__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SSSP *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__21, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.SSSP.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1923
 * cdef class DynSSSP(SSSP):
 * 	""" Base class for single source shortest path algorithms in dynamic graphs. """
 * 	def __init__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == SSSP:
 * 			raise RuntimeError("Error, you may not use DynSSSP directly, use a sub-class instead")
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_7DynSSSP_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_7DynSSSP_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_namedargs = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_7DynSSSP___init__(((struct __pyx_obj_9networkit_10_NetworKit_DynSSSP *)__pyx_v_self), __pyx_v_args, __pyx_v_namedargs);

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

static int __pyx_pf_9networkit_10_NetworKit_7DynSSSP___init__(struct __pyx_obj_9networkit_10_NetworKit_DynSSSP *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "networkit/_NetworKit.pyx":1924
 * 	""" Base class for single source shortest path algorithms in dynamic graphs. """
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == SSSP:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use DynSSSP directly, use a sub-class instead")
 * 
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), ((PyObject *)__pyx_ptype_9networkit_10_NetworKit_SSSP), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1924, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1924, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(__pyx_t_2)) {

    /* "networkit/_NetworKit.pyx":1925
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == SSSP:
 * 			raise RuntimeError("Error, you may not use DynSSSP directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def update(self, ev):
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__22, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1925, __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(0, 1925, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":1924
 * 	""" Base class for single source shortest path algorithms in dynamic graphs. """
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == SSSP:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use DynSSSP directly, use a sub-class instead")
 * 
 */
  }

  /* "networkit/_NetworKit.pyx":1923
 * cdef class DynSSSP(SSSP):
 * 	""" Base class for single source shortest path algorithms in dynamic graphs. """
 * 	def __init__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == SSSP:
 * 			raise RuntimeError("Error, you may not use DynSSSP directly, use a sub-class instead")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynSSSP.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1927
 * 			raise RuntimeError("Error, you may not use DynSSSP directly, use a sub-class instead")
 * 
 * 	def update(self, ev):             # <<<<<<<<<<<<<<
 * 		""" Updates shortest paths with the edge insertion.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_7DynSSSP_3update(PyObject *__pyx_v_self, PyObject *__pyx_v_ev); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_7DynSSSP_2update[] = " Updates shortest paths with the edge insertion.\n\n\t\tParameters\n\t\t----------\n\t\tev : GraphEvent.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_7DynSSSP_3update(PyObject *__pyx_v_self, PyObject *__pyx_v_ev) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("update (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_7DynSSSP_2update(((struct __pyx_obj_9networkit_10_NetworKit_DynSSSP *)__pyx_v_self), ((PyObject *)__pyx_v_ev));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_7DynSSSP_2update(struct __pyx_obj_9networkit_10_NetworKit_DynSSSP *__pyx_v_self, PyObject *__pyx_v_ev) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum NetworKit::GraphEvent::Type __pyx_t_2;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_3;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_4;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_5;
  NetworKit::GraphEvent __pyx_t_6;
  __Pyx_RefNannySetupContext("update", 0);

  /* "networkit/_NetworKit.pyx":1934
 * 		ev : GraphEvent.
 * 		"""
 * 		(<_DynSSSP*>(self._this)).update(_GraphEvent(ev.type, ev.u, ev.v, ev.w))             # <<<<<<<<<<<<<<
 * 
 * 	def updateBatch(self, batch):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum NetworKit::GraphEvent::Type)__Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1934, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_u); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_As_uint64_t(__pyx_t_1); if (unlikely((__pyx_t_3 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1934, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_v); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyInt_As_uint64_t(__pyx_t_1); if (unlikely((__pyx_t_4 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1934, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_w); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1934, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  try {
    __pyx_t_6 = NetworKit::GraphEvent(__pyx_t_2, __pyx_t_3, __pyx_t_4, __pyx_t_5);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1934, __pyx_L1_error)
  }
  try {
    ((NetworKit::DynSSSP *)__pyx_v_self->__pyx_base.__pyx_base._this)->update(__pyx_t_6);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1934, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":1927
 * 			raise RuntimeError("Error, you may not use DynSSSP directly, use a sub-class instead")
 * 
 * 	def update(self, ev):             # <<<<<<<<<<<<<<
 * 		""" Updates shortest paths with the edge insertion.
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynSSSP.update", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1936
 * 		(<_DynSSSP*>(self._this)).update(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 
 * 	def updateBatch(self, batch):             # <<<<<<<<<<<<<<
 * 		""" Updates shortest paths with the batch `batch` of edge insertions.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_7DynSSSP_5updateBatch(PyObject *__pyx_v_self, PyObject *__pyx_v_batch); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_7DynSSSP_4updateBatch[] = " Updates shortest paths with the batch `batch` of edge insertions.\n\n\t\tParameters\n\t\t----------\n\t\tbatch : list of GraphEvent.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_7DynSSSP_5updateBatch(PyObject *__pyx_v_self, PyObject *__pyx_v_batch) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("updateBatch (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_7DynSSSP_4updateBatch(((struct __pyx_obj_9networkit_10_NetworKit_DynSSSP *)__pyx_v_self), ((PyObject *)__pyx_v_batch));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_7DynSSSP_4updateBatch(struct __pyx_obj_9networkit_10_NetworKit_DynSSSP *__pyx_v_self, PyObject *__pyx_v_batch) {
  std::vector<NetworKit::GraphEvent>  __pyx_v__batch;
  PyObject *__pyx_v_ev = 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;
  enum NetworKit::GraphEvent::Type __pyx_t_5;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_6;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_7;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_8;
  NetworKit::GraphEvent __pyx_t_9;
  __Pyx_RefNannySetupContext("updateBatch", 0);

  /* "networkit/_NetworKit.pyx":1944
 * 		"""
 * 		cdef vector[_GraphEvent] _batch
 * 		for ev in batch:             # <<<<<<<<<<<<<<
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		(<_DynSSSP*>(self._this)).updateBatch(_batch)
 */
  if (likely(PyList_CheckExact(__pyx_v_batch)) || PyTuple_CheckExact(__pyx_v_batch)) {
    __pyx_t_1 = __pyx_v_batch; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_batch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1944, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1944, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 1944, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1944, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 1944, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1944, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 1944, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_ev, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "networkit/_NetworKit.pyx":1945
 * 		cdef vector[_GraphEvent] _batch
 * 		for ev in batch:
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))             # <<<<<<<<<<<<<<
 * 		(<_DynSSSP*>(self._this)).updateBatch(_batch)
 * 
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = ((enum NetworKit::GraphEvent::Type)__Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1945, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_u); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyInt_As_uint64_t(__pyx_t_4); if (unlikely((__pyx_t_6 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1945, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_v); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = __Pyx_PyInt_As_uint64_t(__pyx_t_4); if (unlikely((__pyx_t_7 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1945, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_w); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_8 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1945, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    try {
      __pyx_t_9 = NetworKit::GraphEvent(__pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1945, __pyx_L1_error)
    }
    try {
      __pyx_v__batch.push_back(__pyx_t_9);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1945, __pyx_L1_error)
    }

    /* "networkit/_NetworKit.pyx":1944
 * 		"""
 * 		cdef vector[_GraphEvent] _batch
 * 		for ev in batch:             # <<<<<<<<<<<<<<
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		(<_DynSSSP*>(self._this)).updateBatch(_batch)
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":1946
 * 		for ev in batch:
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		(<_DynSSSP*>(self._this)).updateBatch(_batch)             # <<<<<<<<<<<<<<
 * 
 * 	def modified(self):
 */
  try {
    ((NetworKit::DynSSSP *)__pyx_v_self->__pyx_base.__pyx_base._this)->updateBatch(__pyx_v__batch);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1946, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":1936
 * 		(<_DynSSSP*>(self._this)).update(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 
 * 	def updateBatch(self, batch):             # <<<<<<<<<<<<<<
 * 		""" Updates shortest paths with the batch `batch` of edge insertions.
 * 
 */

  /* 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_AddTraceback("networkit._NetworKit.DynSSSP.updateBatch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1948
 * 		(<_DynSSSP*>(self._this)).updateBatch(_batch)
 * 
 * 	def modified(self):             # <<<<<<<<<<<<<<
 * 		return (<_DynSSSP*>(self._this)).modified()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_7DynSSSP_7modified(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_7DynSSSP_7modified(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("modified (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_7DynSSSP_6modified(((struct __pyx_obj_9networkit_10_NetworKit_DynSSSP *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_7DynSSSP_6modified(struct __pyx_obj_9networkit_10_NetworKit_DynSSSP *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("modified", 0);

  /* "networkit/_NetworKit.pyx":1949
 * 
 * 	def modified(self):
 * 		return (<_DynSSSP*>(self._this)).modified()             # <<<<<<<<<<<<<<
 * 
 * 	def setTargetNode(self, t):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::DynSSSP *)__pyx_v_self->__pyx_base.__pyx_base._this)->modified();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1949, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":1948
 * 		(<_DynSSSP*>(self._this)).updateBatch(_batch)
 * 
 * 	def modified(self):             # <<<<<<<<<<<<<<
 * 		return (<_DynSSSP*>(self._this)).modified()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.DynSSSP.modified", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1951
 * 		return (<_DynSSSP*>(self._this)).modified()
 * 
 * 	def setTargetNode(self, t):             # <<<<<<<<<<<<<<
 * 		(<_DynSSSP*>(self._this)).setTargetNode(t)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_7DynSSSP_9setTargetNode(PyObject *__pyx_v_self, PyObject *__pyx_v_t); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_7DynSSSP_9setTargetNode(PyObject *__pyx_v_self, PyObject *__pyx_v_t) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setTargetNode (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_7DynSSSP_8setTargetNode(((struct __pyx_obj_9networkit_10_NetworKit_DynSSSP *)__pyx_v_self), ((PyObject *)__pyx_v_t));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_7DynSSSP_8setTargetNode(struct __pyx_obj_9networkit_10_NetworKit_DynSSSP *__pyx_v_self, PyObject *__pyx_v_t) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __Pyx_RefNannySetupContext("setTargetNode", 0);

  /* "networkit/_NetworKit.pyx":1952
 * 
 * 	def setTargetNode(self, t):
 * 		(<_DynSSSP*>(self._this)).setTargetNode(t)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_t); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1952, __pyx_L1_error)
  try {
    ((NetworKit::DynSSSP *)__pyx_v_self->__pyx_base.__pyx_base._this)->setTargetNode(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1952, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":1951
 * 		return (<_DynSSSP*>(self._this)).modified()
 * 
 * 	def setTargetNode(self, t):             # <<<<<<<<<<<<<<
 * 		(<_DynSSSP*>(self._this)).setTargetNode(t)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynSSSP.setTargetNode", __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_9networkit_10_NetworKit_7DynSSSP_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_7DynSSSP_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_7DynSSSP_10__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynSSSP *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_7DynSSSP_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynSSSP *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__23, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynSSSP.__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_9networkit_10_NetworKit_7DynSSSP_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_7DynSSSP_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_7DynSSSP_12__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynSSSP *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_7DynSSSP_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynSSSP *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__24, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynSSSP.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":1979
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, source, storePaths=True, storeNodesSortedByDistance=False, target=none):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _BFS(G._this, source, storePaths, storeNodesSortedByDistance, target)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_3BFS_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_3BFS_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_source = 0;
  PyObject *__pyx_v_storePaths = 0;
  PyObject *__pyx_v_storeNodesSortedByDistance = 0;
  PyObject *__pyx_v_target = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_source,&__pyx_n_s_storePaths,&__pyx_n_s_storeNodesSortedByDistance,&__pyx_n_s_target,0};
    PyObject* values[5] = {0,0,0,0,0};
    values[2] = ((PyObject *)Py_True);
    values[3] = ((PyObject *)Py_False);
    values[4] = __pyx_k__25;
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_source)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 5, 1); __PYX_ERR(0, 1979, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_storePaths);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_storeNodesSortedByDistance);
          if (value) { values[3] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_target);
          if (value) { values[4] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 1979, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_source = values[1];
    __pyx_v_storePaths = values[2];
    __pyx_v_storeNodesSortedByDistance = values[3];
    __pyx_v_target = values[4];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1979, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.BFS.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 1979, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_3BFS___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_BFS *)__pyx_v_self), __pyx_v_G, __pyx_v_source, __pyx_v_storePaths, __pyx_v_storeNodesSortedByDistance, __pyx_v_target);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_3BFS___cinit__(struct __pyx_obj_9networkit_10_NetworKit_BFS *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_source, PyObject *__pyx_v_storePaths, PyObject *__pyx_v_storeNodesSortedByDistance, PyObject *__pyx_v_target) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  bool __pyx_t_2;
  bool __pyx_t_3;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_4;
  NetworKit::BFS *__pyx_t_5;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":1980
 * 
 * 	def __cinit__(self, Graph G, source, storePaths=True, storeNodesSortedByDistance=False, target=none):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _BFS(G._this, source, storePaths, storeNodesSortedByDistance, target)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":1981
 * 	def __cinit__(self, Graph G, source, storePaths=True, storeNodesSortedByDistance=False, target=none):
 * 		self._G = G
 * 		self._this = new _BFS(G._this, source, storePaths, storeNodesSortedByDistance, target)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/distance/DynBFS.hpp>":
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_source); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1981, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_storePaths); if (unlikely((__pyx_t_2 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1981, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_storeNodesSortedByDistance); if (unlikely((__pyx_t_3 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1981, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyInt_As_uint64_t(__pyx_v_target); if (unlikely((__pyx_t_4 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1981, __pyx_L1_error)
  try {
    __pyx_t_5 = new NetworKit::BFS(__pyx_v_G->_this, __pyx_t_1, __pyx_t_2, __pyx_t_3, __pyx_t_4);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 1981, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_5;

  /* "networkit/_NetworKit.pyx":1979
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, source, storePaths=True, storeNodesSortedByDistance=False, target=none):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _BFS(G._this, source, storePaths, storeNodesSortedByDistance, target)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.BFS.__cinit__", __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_9networkit_10_NetworKit_3BFS_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_3BFS_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_3BFS_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_BFS *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_3BFS_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BFS *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.BFS.__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_9networkit_10_NetworKit_3BFS_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_3BFS_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_3BFS_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_BFS *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_3BFS_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BFS *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__27, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.BFS.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2004
 * 		maintain a stack of nodes in order of decreasing distance?
 * 	"""
 * 	def __cinit__(self, Graph G, source):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _DynBFS(G._this, source)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_6DynBFS_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_6DynBFS_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_source = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_source,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_source)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); __PYX_ERR(0, 2004, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 2004, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_source = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2004, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynBFS.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 2004, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_6DynBFS___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_DynBFS *)__pyx_v_self), __pyx_v_G, __pyx_v_source);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_6DynBFS___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynBFS *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_source) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  NetworKit::DynBFS *__pyx_t_2;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":2005
 * 	"""
 * 	def __cinit__(self, Graph G, source):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _DynBFS(G._this, source)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base.__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.__pyx_base._G));
  __pyx_v_self->__pyx_base.__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":2006
 * 	def __cinit__(self, Graph G, source):
 * 		self._G = G
 * 		self._this = new _DynBFS(G._this, source)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/distance/ReverseBFS.hpp>":
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_source); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2006, __pyx_L1_error)
  try {
    __pyx_t_2 = new NetworKit::DynBFS(__pyx_v_G->_this, __pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2006, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base._this = __pyx_t_2;

  /* "networkit/_NetworKit.pyx":2004
 * 		maintain a stack of nodes in order of decreasing distance?
 * 	"""
 * 	def __cinit__(self, Graph G, source):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _DynBFS(G._this, source)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynBFS.__cinit__", __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_9networkit_10_NetworKit_6DynBFS_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_6DynBFS_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_6DynBFS_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynBFS *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_6DynBFS_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynBFS *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__28, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynBFS.__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_9networkit_10_NetworKit_6DynBFS_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_6DynBFS_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_6DynBFS_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynBFS *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_6DynBFS_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynBFS *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__29, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynBFS.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2032
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, source, storePaths=True, storeNodesSortedByDistance=False, target=none):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _ReverseBFS(G._this, source, storePaths, storeNodesSortedByDistance, target)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_10ReverseBFS_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_10ReverseBFS_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_source = 0;
  PyObject *__pyx_v_storePaths = 0;
  PyObject *__pyx_v_storeNodesSortedByDistance = 0;
  PyObject *__pyx_v_target = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_source,&__pyx_n_s_storePaths,&__pyx_n_s_storeNodesSortedByDistance,&__pyx_n_s_target,0};
    PyObject* values[5] = {0,0,0,0,0};
    values[2] = ((PyObject *)Py_True);
    values[3] = ((PyObject *)Py_False);
    values[4] = __pyx_k__30;
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_source)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 5, 1); __PYX_ERR(0, 2032, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_storePaths);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_storeNodesSortedByDistance);
          if (value) { values[3] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_target);
          if (value) { values[4] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 2032, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_source = values[1];
    __pyx_v_storePaths = values[2];
    __pyx_v_storeNodesSortedByDistance = values[3];
    __pyx_v_target = values[4];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2032, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ReverseBFS.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 2032, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10ReverseBFS___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_ReverseBFS *)__pyx_v_self), __pyx_v_G, __pyx_v_source, __pyx_v_storePaths, __pyx_v_storeNodesSortedByDistance, __pyx_v_target);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_10ReverseBFS___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ReverseBFS *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_source, PyObject *__pyx_v_storePaths, PyObject *__pyx_v_storeNodesSortedByDistance, PyObject *__pyx_v_target) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  bool __pyx_t_2;
  bool __pyx_t_3;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_4;
  NetworKit::ReverseBFS *__pyx_t_5;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":2033
 * 
 * 	def __cinit__(self, Graph G, source, storePaths=True, storeNodesSortedByDistance=False, target=none):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _ReverseBFS(G._this, source, storePaths, storeNodesSortedByDistance, target)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":2034
 * 	def __cinit__(self, Graph G, source, storePaths=True, storeNodesSortedByDistance=False, target=none):
 * 		self._G = G
 * 		self._this = new _ReverseBFS(G._this, source, storePaths, storeNodesSortedByDistance, target)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/distance/Dijkstra.hpp>":
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_source); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2034, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_storePaths); if (unlikely((__pyx_t_2 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2034, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_storeNodesSortedByDistance); if (unlikely((__pyx_t_3 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2034, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyInt_As_uint64_t(__pyx_v_target); if (unlikely((__pyx_t_4 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2034, __pyx_L1_error)
  try {
    __pyx_t_5 = new NetworKit::ReverseBFS(__pyx_v_G->_this, __pyx_t_1, __pyx_t_2, __pyx_t_3, __pyx_t_4);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2034, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_5;

  /* "networkit/_NetworKit.pyx":2032
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, source, storePaths=True, storeNodesSortedByDistance=False, target=none):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _ReverseBFS(G._this, source, storePaths, storeNodesSortedByDistance, target)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ReverseBFS.__cinit__", __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_9networkit_10_NetworKit_10ReverseBFS_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_10ReverseBFS_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10ReverseBFS_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ReverseBFS *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_10ReverseBFS_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ReverseBFS *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__31, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ReverseBFS.__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_9networkit_10_NetworKit_10ReverseBFS_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_10ReverseBFS_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10ReverseBFS_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ReverseBFS *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_10ReverseBFS_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ReverseBFS *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__32, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ReverseBFS.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2063
 * 		target node. Search ends when target node is reached. t is set to None by default.
 *     """
 * 	def __cinit__(self, Graph G, source, storePaths=True, storeNodesSortedByDistance=False, node target=none):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _Dijkstra(G._this, source, storePaths, storeNodesSortedByDistance, target)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_8Dijkstra_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_8Dijkstra_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_source = 0;
  PyObject *__pyx_v_storePaths = 0;
  PyObject *__pyx_v_storeNodesSortedByDistance = 0;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_target;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_source,&__pyx_n_s_storePaths,&__pyx_n_s_storeNodesSortedByDistance,&__pyx_n_s_target,0};
    PyObject* values[5] = {0,0,0,0,0};
    values[2] = ((PyObject *)Py_True);
    values[3] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_source)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 5, 1); __PYX_ERR(0, 2063, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_storePaths);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_storeNodesSortedByDistance);
          if (value) { values[3] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_target);
          if (value) { values[4] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 2063, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_source = values[1];
    __pyx_v_storePaths = values[2];
    __pyx_v_storeNodesSortedByDistance = values[3];
    if (values[4]) {
      __pyx_v_target = __Pyx_PyInt_As_uint64_t(values[4]); if (unlikely((__pyx_v_target == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2063, __pyx_L3_error)
    } else {
      __pyx_v_target = __pyx_k__33;
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2063, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Dijkstra.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 2063, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8Dijkstra___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_Dijkstra *)__pyx_v_self), __pyx_v_G, __pyx_v_source, __pyx_v_storePaths, __pyx_v_storeNodesSortedByDistance, __pyx_v_target);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_8Dijkstra___cinit__(struct __pyx_obj_9networkit_10_NetworKit_Dijkstra *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_source, PyObject *__pyx_v_storePaths, PyObject *__pyx_v_storeNodesSortedByDistance, __pyx_t_9networkit_10_NetworKit_node __pyx_v_target) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  bool __pyx_t_2;
  bool __pyx_t_3;
  NetworKit::Dijkstra *__pyx_t_4;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":2064
 *     """
 * 	def __cinit__(self, Graph G, source, storePaths=True, storeNodesSortedByDistance=False, node target=none):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _Dijkstra(G._this, source, storePaths, storeNodesSortedByDistance, target)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":2065
 * 	def __cinit__(self, Graph G, source, storePaths=True, storeNodesSortedByDistance=False, node target=none):
 * 		self._G = G
 * 		self._this = new _Dijkstra(G._this, source, storePaths, storeNodesSortedByDistance, target)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/distance/DynDijkstra.hpp>":
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_source); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2065, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_storePaths); if (unlikely((__pyx_t_2 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2065, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_storeNodesSortedByDistance); if (unlikely((__pyx_t_3 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2065, __pyx_L1_error)
  try {
    __pyx_t_4 = new NetworKit::Dijkstra(__pyx_v_G->_this, __pyx_t_1, __pyx_t_2, __pyx_t_3, __pyx_v_target);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2065, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_4;

  /* "networkit/_NetworKit.pyx":2063
 * 		target node. Search ends when target node is reached. t is set to None by default.
 *     """
 * 	def __cinit__(self, Graph G, source, storePaths=True, storeNodesSortedByDistance=False, node target=none):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _Dijkstra(G._this, source, storePaths, storeNodesSortedByDistance, target)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Dijkstra.__cinit__", __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_9networkit_10_NetworKit_8Dijkstra_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Dijkstra_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8Dijkstra_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Dijkstra *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_8Dijkstra_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Dijkstra *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__34, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Dijkstra.__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_9networkit_10_NetworKit_8Dijkstra_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Dijkstra_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8Dijkstra_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Dijkstra *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_8Dijkstra_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Dijkstra *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__35, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Dijkstra.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2087
 * 
 * 	"""
 * 	def __cinit__(self, Graph G, source):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _DynDijkstra(G._this, source)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_11DynDijkstra_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_11DynDijkstra_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_source = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_source,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_source)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); __PYX_ERR(0, 2087, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 2087, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_source = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2087, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynDijkstra.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 2087, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11DynDijkstra___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_DynDijkstra *)__pyx_v_self), __pyx_v_G, __pyx_v_source);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_11DynDijkstra___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynDijkstra *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_source) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  NetworKit::DynDijkstra *__pyx_t_2;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":2088
 * 	"""
 * 	def __cinit__(self, Graph G, source):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _DynDijkstra(G._this, source)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base.__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.__pyx_base._G));
  __pyx_v_self->__pyx_base.__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":2089
 * 	def __cinit__(self, Graph G, source):
 * 		self._G = G
 * 		self._this = new _DynDijkstra(G._this, source)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_source); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2089, __pyx_L1_error)
  try {
    __pyx_t_2 = new NetworKit::DynDijkstra(__pyx_v_G->_this, __pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2089, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base._this = __pyx_t_2;

  /* "networkit/_NetworKit.pyx":2087
 * 
 * 	"""
 * 	def __cinit__(self, Graph G, source):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _DynDijkstra(G._this, source)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynDijkstra.__cinit__", __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_9networkit_10_NetworKit_11DynDijkstra_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_11DynDijkstra_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11DynDijkstra_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynDijkstra *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11DynDijkstra_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynDijkstra *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__36, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynDijkstra.__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_9networkit_10_NetworKit_11DynDijkstra_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_11DynDijkstra_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11DynDijkstra_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynDijkstra *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11DynDijkstra_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynDijkstra *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__37, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynDijkstra.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2094
 * cdef cppclass PathCallbackWrapper:
 * 	void* callback
 * 	__init__(object callback):             # <<<<<<<<<<<<<<
 * 		this.callback = <void*>callback
 * 	void cython_call_operator(vector[node] path):
 */

void __pyx_t_9networkit_10_NetworKit_PathCallbackWrapper::__pyx_f___init__PathCallbackWrapper(PyObject *__pyx_v_callback) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("<init>", 0);

  /* "networkit/_NetworKit.pyx":2095
 * 	void* callback
 * 	__init__(object callback):
 * 		this.callback = <void*>callback             # <<<<<<<<<<<<<<
 * 	void cython_call_operator(vector[node] path):
 * 		cdef bool_t error = False
 */
  this->callback = ((void *)__pyx_v_callback);

  /* "networkit/_NetworKit.pyx":2094
 * cdef cppclass PathCallbackWrapper:
 * 	void* callback
 * 	__init__(object callback):             # <<<<<<<<<<<<<<
 * 		this.callback = <void*>callback
 * 	void cython_call_operator(vector[node] path):
 */

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

/* "networkit/_NetworKit.pyx":2096
 * 	__init__(object callback):
 * 		this.callback = <void*>callback
 * 	void cython_call_operator(vector[node] path):             # <<<<<<<<<<<<<<
 * 		cdef bool_t error = False
 * 		cdef string message
 */

void __pyx_t_9networkit_10_NetworKit_PathCallbackWrapper::cython_call_operator(std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_path) {
  bool __pyx_v_error;
  std::string __pyx_v_message;
  PyObject *__pyx_v_e = 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;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  std::string __pyx_t_13;
  int __pyx_t_14;
  char const *__pyx_t_15;
  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_t_22;
  __Pyx_RefNannySetupContext("cython_call_operator", 0);

  /* "networkit/_NetworKit.pyx":2097
 * 		this.callback = <void*>callback
 * 	void cython_call_operator(vector[node] path):
 * 		cdef bool_t error = False             # <<<<<<<<<<<<<<
 * 		cdef string message
 * 		try:
 */
  __pyx_v_error = 0;

  /* "networkit/_NetworKit.pyx":2099
 * 		cdef bool_t error = False
 * 		cdef string message
 * 		try:             # <<<<<<<<<<<<<<
 * 			(<object>callback)(path)
 * 		except Exception as e:
 */
  {
    __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:*/ {

      /* "networkit/_NetworKit.pyx":2100
 * 		cdef string message
 * 		try:
 * 			(<object>callback)(path)             # <<<<<<<<<<<<<<
 * 		except Exception as e:
 * 			error = True
 */
      __pyx_t_5 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_v_path); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2100, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_INCREF(((PyObject *)callback));
      __pyx_t_6 = ((PyObject *)callback); __pyx_t_7 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
        if (likely(__pyx_t_7)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
          __Pyx_INCREF(__pyx_t_7);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_6, function);
        }
      }
      __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5);
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2100, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "networkit/_NetworKit.pyx":2099
 * 		cdef bool_t error = False
 * 		cdef string message
 * 		try:             # <<<<<<<<<<<<<<
 * 			(<object>callback)(path)
 * 		except Exception as e:
 */
    }
    __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;
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "networkit/_NetworKit.pyx":2101
 * 		try:
 * 			(<object>callback)(path)
 * 		except Exception as e:             # <<<<<<<<<<<<<<
 * 			error = True
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 */
    __pyx_t_8 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
    if (__pyx_t_8) {
      __Pyx_AddTraceback("PathCallbackWrapper.cython_call_operator", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(0, 2101, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_6);
      __pyx_v_e = __pyx_t_6;
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":2102
 * 			(<object>callback)(path)
 * 		except Exception as e:
 * 			error = True             # <<<<<<<<<<<<<<
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 * 		if (error):
 */
        __pyx_v_error = 1;

        /* "networkit/_NetworKit.pyx":2103
 * 		except Exception as e:
 * 			error = True
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))             # <<<<<<<<<<<<<<
 * 		if (error):
 * 			throw_runtime_error(message)
 */
        __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2103, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_An_Exception_occurred_aborting_e, __pyx_n_s_format); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2103, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_11);
        __pyx_t_12 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) {
          __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_11);
          if (likely(__pyx_t_12)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
            __Pyx_INCREF(__pyx_t_12);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_11, function);
          }
        }
        __pyx_t_10 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_12, __pyx_v_e) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_v_e);
        __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
        if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2103, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __pyx_t_11 = NULL;
        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
          __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_9);
          if (likely(__pyx_t_11)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
            __Pyx_INCREF(__pyx_t_11);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_9, function);
          }
        }
        __pyx_t_7 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_11, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10);
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2103, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_13 = __pyx_convert_string_from_py_std__in_string(__pyx_t_7); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2103, __pyx_L14_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_v_message = __pyx_t_13;
      }

      /* "networkit/_NetworKit.pyx":2101
 * 		try:
 * 			(<object>callback)(path)
 * 		except Exception as e:             # <<<<<<<<<<<<<<
 * 			error = True
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 */
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_DECREF(__pyx_v_e);
          __pyx_v_e = NULL;
          goto __pyx_L15;
        }
        __pyx_L14_error:;
        /*exception exit:*/{
          __Pyx_PyThreadState_declare
          __Pyx_PyThreadState_assign
          __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0;
          __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_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
          if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21);
          if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18) < 0)) __Pyx_ErrFetch(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18);
          __Pyx_XGOTREF(__pyx_t_16);
          __Pyx_XGOTREF(__pyx_t_17);
          __Pyx_XGOTREF(__pyx_t_18);
          __Pyx_XGOTREF(__pyx_t_19);
          __Pyx_XGOTREF(__pyx_t_20);
          __Pyx_XGOTREF(__pyx_t_21);
          __pyx_t_8 = __pyx_lineno; __pyx_t_14 = __pyx_clineno; __pyx_t_15 = __pyx_filename;
          {
            __Pyx_DECREF(__pyx_v_e);
            __pyx_v_e = NULL;
          }
          if (PY_MAJOR_VERSION >= 3) {
            __Pyx_XGIVEREF(__pyx_t_19);
            __Pyx_XGIVEREF(__pyx_t_20);
            __Pyx_XGIVEREF(__pyx_t_21);
            __Pyx_ExceptionReset(__pyx_t_19, __pyx_t_20, __pyx_t_21);
          }
          __Pyx_XGIVEREF(__pyx_t_16);
          __Pyx_XGIVEREF(__pyx_t_17);
          __Pyx_XGIVEREF(__pyx_t_18);
          __Pyx_ErrRestore(__pyx_t_16, __pyx_t_17, __pyx_t_18);
          __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0;
          __pyx_lineno = __pyx_t_8; __pyx_clineno = __pyx_t_14; __pyx_filename = __pyx_t_15;
          goto __pyx_L5_except_error;
        }
        __pyx_L15:;
      }
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "networkit/_NetworKit.pyx":2099
 * 		cdef bool_t error = False
 * 		cdef string message
 * 		try:             # <<<<<<<<<<<<<<
 * 			(<object>callback)(path)
 * 		except Exception as e:
 */
    __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_L4_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_L8_try_end:;
  }

  /* "networkit/_NetworKit.pyx":2104
 * 			error = True
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 * 		if (error):             # <<<<<<<<<<<<<<
 * 			throw_runtime_error(message)
 * 
 */
  __pyx_t_22 = (__pyx_v_error != 0);
  if (__pyx_t_22) {

    /* "networkit/_NetworKit.pyx":2105
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 * 		if (error):
 * 			throw_runtime_error(message)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/distance/AllSimplePaths.hpp>":
 */
    throw_runtime_error(__pyx_v_message);

    /* "networkit/_NetworKit.pyx":2104
 * 			error = True
 * 			message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 * 		if (error):             # <<<<<<<<<<<<<<
 * 			throw_runtime_error(message)
 * 
 */
  }

  /* "networkit/_NetworKit.pyx":2096
 * 	__init__(object callback):
 * 		this.callback = <void*>callback
 * 	void cython_call_operator(vector[node] path):             # <<<<<<<<<<<<<<
 * 		cdef bool_t error = False
 * 		cdef string message
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __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_WriteUnraisable("PathCallbackWrapper.cython_call_operator", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":2140
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self,  Graph G, source, target, cutoff=none):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _AllSimplePaths(G._this, source, target, cutoff)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_14AllSimplePaths_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_14AllSimplePaths_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_source = 0;
  PyObject *__pyx_v_target = 0;
  PyObject *__pyx_v_cutoff = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_source,&__pyx_n_s_target,&__pyx_n_s_cutoff,0};
    PyObject* values[4] = {0,0,0,0};
    values[3] = __pyx_k__38;
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_source)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 4, 1); __PYX_ERR(0, 2140, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_target)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 4, 2); __PYX_ERR(0, 2140, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cutoff);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 2140, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_source = values[1];
    __pyx_v_target = values[2];
    __pyx_v_cutoff = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2140, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.AllSimplePaths.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 2140, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14AllSimplePaths___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *)__pyx_v_self), __pyx_v_G, __pyx_v_source, __pyx_v_target, __pyx_v_cutoff);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_14AllSimplePaths___cinit__(struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_source, PyObject *__pyx_v_target, PyObject *__pyx_v_cutoff) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_2;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_3;
  NetworKit::AllSimplePaths *__pyx_t_4;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":2141
 * 
 * 	def __cinit__(self,  Graph G, source, target, cutoff=none):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _AllSimplePaths(G._this, source, target, cutoff)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":2142
 * 	def __cinit__(self,  Graph G, source, target, cutoff=none):
 * 		self._G = G
 * 		self._this = new _AllSimplePaths(G._this, source, target, cutoff)             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_source); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2142, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_target); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2142, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyInt_As_uint64_t(__pyx_v_cutoff); if (unlikely((__pyx_t_3 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2142, __pyx_L1_error)
  try {
    __pyx_t_4 = new NetworKit::AllSimplePaths(__pyx_v_G->_this, __pyx_t_1, __pyx_t_2, __pyx_t_3);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2142, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_4;

  /* "networkit/_NetworKit.pyx":2140
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self,  Graph G, source, target, cutoff=none):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _AllSimplePaths(G._this, source, target, cutoff)
 */

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

/* "networkit/_NetworKit.pyx":2144
 * 		self._this = new _AllSimplePaths(G._this, source, target, cutoff)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_14AllSimplePaths_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_14AllSimplePaths_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_14AllSimplePaths_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *)__pyx_v_self));

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

static void __pyx_pf_9networkit_10_NetworKit_14AllSimplePaths_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":2145
 * 
 * 	def __dealloc__(self):
 * 		del self._this             # <<<<<<<<<<<<<<
 * 
 * 	def run(self):
 */
  delete __pyx_v_self->_this;

  /* "networkit/_NetworKit.pyx":2144
 * 		self._this = new _AllSimplePaths(G._this, source, target, cutoff)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

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

/* "networkit/_NetworKit.pyx":2147
 * 		del self._this
 * 
 * 	def run(self):             # <<<<<<<<<<<<<<
 * 		self._this.run()
 * 		return self
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_14AllSimplePaths_5run(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14AllSimplePaths_5run(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14AllSimplePaths_4run(((struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14AllSimplePaths_4run(struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":2148
 * 
 * 	def run(self):
 * 		self._this.run()             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
  try {
    __pyx_v_self->_this->run();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2148, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":2149
 * 	def run(self):
 * 		self._this.run()
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def numberOfSimplePaths(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":2147
 * 		del self._this
 * 
 * 	def run(self):             # <<<<<<<<<<<<<<
 * 		self._this.run()
 * 		return self
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.AllSimplePaths.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2151
 * 		return self
 * 
 * 	def numberOfSimplePaths(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the number of simple paths.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_14AllSimplePaths_7numberOfSimplePaths(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_14AllSimplePaths_6numberOfSimplePaths[] = "\n\t\tReturns the number of simple paths.\n\n\t\tReturns\n\t\t-------\n\t\tcount\n\t\t\tThe number of simple paths.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_14AllSimplePaths_7numberOfSimplePaths(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("numberOfSimplePaths (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14AllSimplePaths_6numberOfSimplePaths(((struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14AllSimplePaths_6numberOfSimplePaths(struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("numberOfSimplePaths", 0);

  /* "networkit/_NetworKit.pyx":2160
 * 			The number of simple paths.
 * 		"""
 * 		return self._this.numberOfSimplePaths()             # <<<<<<<<<<<<<<
 * 
 * 	def getAllSimplePaths(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this->numberOfSimplePaths();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2160, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":2151
 * 		return self
 * 
 * 	def numberOfSimplePaths(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the number of simple paths.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.AllSimplePaths.numberOfSimplePaths", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2162
 * 		return self._this.numberOfSimplePaths()
 * 
 * 	def getAllSimplePaths(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns all the simple paths from source to target.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_14AllSimplePaths_9getAllSimplePaths(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_14AllSimplePaths_8getAllSimplePaths[] = "\n\t\tReturns all the simple paths from source to target.\n\n\t\tReturns\n\t\t-------\n\t\tA vector of vectors.\n\t\t\tA vector containing vectors which represent all simple paths.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_14AllSimplePaths_9getAllSimplePaths(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getAllSimplePaths (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14AllSimplePaths_8getAllSimplePaths(((struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14AllSimplePaths_8getAllSimplePaths(struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<std::vector<__pyx_t_9networkit_10_NetworKit_node> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getAllSimplePaths", 0);

  /* "networkit/_NetworKit.pyx":2171
 * 			A vector containing vectors which represent all simple paths.
 * 		"""
 * 		return self._this.getAllSimplePaths()             # <<<<<<<<<<<<<<
 * 
 * 	def forAllSimplePaths(self, object callback):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this->getAllSimplePaths();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2171, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_node_3e___(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":2162
 * 		return self._this.numberOfSimplePaths()
 * 
 * 	def getAllSimplePaths(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns all the simple paths from source to target.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.AllSimplePaths.getAllSimplePaths", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2173
 * 		return self._this.getAllSimplePaths()
 * 
 * 	def forAllSimplePaths(self, object callback):             # <<<<<<<<<<<<<<
 * 		""" More efficient path iterator. Iterates over all the simple paths.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_14AllSimplePaths_11forAllSimplePaths(PyObject *__pyx_v_self, PyObject *__pyx_v_callback); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_14AllSimplePaths_10forAllSimplePaths[] = " More efficient path iterator. Iterates over all the simple paths.\n\n\t\tParameters\n\t\t----------\n\t\tcallback : object\n\t\t\tAny callable object that takes the parameter path\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_14AllSimplePaths_11forAllSimplePaths(PyObject *__pyx_v_self, PyObject *__pyx_v_callback) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("forAllSimplePaths (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14AllSimplePaths_10forAllSimplePaths(((struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *)__pyx_v_self), ((PyObject *)__pyx_v_callback));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14AllSimplePaths_10forAllSimplePaths(struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *__pyx_v_self, PyObject *__pyx_v_callback) {
  __pyx_t_9networkit_10_NetworKit_PathCallbackWrapper *__pyx_v_wrapper;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  char const *__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;
  PyObject *__pyx_t_9 = NULL;
  __Pyx_RefNannySetupContext("forAllSimplePaths", 0);

  /* "networkit/_NetworKit.pyx":2182
 * 		"""
 * 		cdef PathCallbackWrapper* wrapper
 * 		try:             # <<<<<<<<<<<<<<
 * 			wrapper = new PathCallbackWrapper(callback)
 * 			self._this.forAllSimplePaths[PathCallbackWrapper](dereference(wrapper))
 */
  /*try:*/ {

    /* "networkit/_NetworKit.pyx":2183
 * 		cdef PathCallbackWrapper* wrapper
 * 		try:
 * 			wrapper = new PathCallbackWrapper(callback)             # <<<<<<<<<<<<<<
 * 			self._this.forAllSimplePaths[PathCallbackWrapper](dereference(wrapper))
 * 		finally:
 */
    __pyx_v_wrapper = new __pyx_t_9networkit_10_NetworKit_PathCallbackWrapper(__pyx_v_callback);

    /* "networkit/_NetworKit.pyx":2184
 * 		try:
 * 			wrapper = new PathCallbackWrapper(callback)
 * 			self._this.forAllSimplePaths[PathCallbackWrapper](dereference(wrapper))             # <<<<<<<<<<<<<<
 * 		finally:
 * 			del wrapper
 */
    try {
      __pyx_v_self->_this->forAllSimplePaths<__pyx_t_9networkit_10_NetworKit_PathCallbackWrapper>((*__pyx_v_wrapper));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 2184, __pyx_L4_error)
    }
  }

  /* "networkit/_NetworKit.pyx":2186
 * 			self._this.forAllSimplePaths[PathCallbackWrapper](dereference(wrapper))
 * 		finally:
 * 			del wrapper             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*finally:*/ {
    /*normal exit:*/{
      delete __pyx_v_wrapper;
      goto __pyx_L5;
    }
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0)) __Pyx_ErrFetch(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_9);
      __pyx_t_1 = __pyx_lineno; __pyx_t_2 = __pyx_clineno; __pyx_t_3 = __pyx_filename;
      {
        delete __pyx_v_wrapper;
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_7);
        __Pyx_XGIVEREF(__pyx_t_8);
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
      }
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ErrRestore(__pyx_t_4, __pyx_t_5, __pyx_t_6);
      __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0;
      __pyx_lineno = __pyx_t_1; __pyx_clineno = __pyx_t_2; __pyx_filename = __pyx_t_3;
      goto __pyx_L1_error;
    }
    __pyx_L5:;
  }

  /* "networkit/_NetworKit.pyx":2173
 * 		return self._this.getAllSimplePaths()
 * 
 * 	def forAllSimplePaths(self, object callback):             # <<<<<<<<<<<<<<
 * 		""" More efficient path iterator. Iterates over all the simple paths.
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.AllSimplePaths.forAllSimplePaths", __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_9networkit_10_NetworKit_14AllSimplePaths_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14AllSimplePaths_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14AllSimplePaths_12__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14AllSimplePaths_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__39, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.AllSimplePaths.__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_9networkit_10_NetworKit_14AllSimplePaths_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14AllSimplePaths_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14AllSimplePaths_14__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14AllSimplePaths_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__40, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.AllSimplePaths.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2211
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _APSP(G._this)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_4APSP_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_4APSP_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 2211, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2211, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.APSP.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 2211, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4APSP___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_APSP *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_4APSP___cinit__(struct __pyx_obj_9networkit_10_NetworKit_APSP *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::APSP *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":2212
 * 
 * 	def __cinit__(self, Graph G):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _APSP(G._this)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":2213
 * 	def __cinit__(self, Graph G):
 * 		self._G = G
 * 		self._this = new _APSP(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  try {
    __pyx_t_1 = new NetworKit::APSP(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2213, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":2211
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _APSP(G._this)
 */

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

/* "networkit/_NetworKit.pyx":2215
 * 		self._this = new _APSP(G._this)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		self._G = None
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_4APSP_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_4APSP_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_4APSP_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_APSP *)__pyx_v_self));

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

static void __pyx_pf_9networkit_10_NetworKit_4APSP_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_APSP *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":2216
 * 
 * 	def __dealloc__(self):
 * 		self._G = None             # <<<<<<<<<<<<<<
 * 
 * 	def getDistances(self):
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None);

  /* "networkit/_NetworKit.pyx":2215
 * 		self._this = new _APSP(G._this)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		self._G = None
 * 
 */

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

/* "networkit/_NetworKit.pyx":2218
 * 		self._G = None
 * 
 * 	def getDistances(self):             # <<<<<<<<<<<<<<
 * 		""" Returns a vector of vectors of distances between each node pair.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_4APSP_5getDistances(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_4APSP_4getDistances[] = " Returns a vector of vectors of distances between each node pair.\n\n \t \tReturns\n \t \t-------\n \t \tvector of vectors\n \t \t\tThe shortest-path distances from each node to any other node in the graph.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_4APSP_5getDistances(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDistances (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4APSP_4getDistances(((struct __pyx_obj_9networkit_10_NetworKit_APSP *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_4APSP_4getDistances(struct __pyx_obj_9networkit_10_NetworKit_APSP *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<std::vector<__pyx_t_9networkit_10_NetworKit_edgeweight> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getDistances", 0);

  /* "networkit/_NetworKit.pyx":2226
 *  	 		The shortest-path distances from each node to any other node in the graph.
 * 		"""
 * 		return (<_APSP*>(self._this)).getDistances()             # <<<<<<<<<<<<<<
 * 
 * 	def getDistance(self, node u, node v):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::APSP *)__pyx_v_self->__pyx_base._this)->getDistances();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2226, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_edgeweight_3e___(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":2218
 * 		self._G = None
 * 
 * 	def getDistances(self):             # <<<<<<<<<<<<<<
 * 		""" Returns a vector of vectors of distances between each node pair.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.APSP.getDistances", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2228
 * 		return (<_APSP*>(self._this)).getDistances()
 * 
 * 	def getDistance(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the length of the shortest path from source 'u' to target `v`.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_4APSP_7getDistance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_4APSP_6getDistance[] = " Returns the length of the shortest path from source 'u' to target `v`.\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tSource node.\n\t\tv : node\n\t\t\tTarget node.\n\n\t\tReturns\n\t\t-------\n\t\tint or float\n\t\t\tThe distance from 'u' to 'v'.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_4APSP_7getDistance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDistance (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("getDistance", 1, 2, 2, 1); __PYX_ERR(0, 2228, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getDistance") < 0)) __PYX_ERR(0, 2228, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2228, __pyx_L3_error)
    __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2228, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getDistance", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2228, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.APSP.getDistance", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4APSP_6getDistance(((struct __pyx_obj_9networkit_10_NetworKit_APSP *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_4APSP_6getDistance(struct __pyx_obj_9networkit_10_NetworKit_APSP *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getDistance", 0);

  /* "networkit/_NetworKit.pyx":2243
 * 			The distance from 'u' to 'v'.
 * 		"""
 * 		return (<_APSP*>(self._this)).getDistance(u, v)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/distance/DynAPSP.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::APSP *)__pyx_v_self->__pyx_base._this)->getDistance(__pyx_v_u, __pyx_v_v);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2243, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2243, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":2228
 * 		return (<_APSP*>(self._this)).getDistances()
 * 
 * 	def getDistance(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the length of the shortest path from source 'u' to target `v`.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.APSP.getDistance", __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_9networkit_10_NetworKit_4APSP_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_4APSP_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4APSP_8__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_APSP *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_4APSP_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_APSP *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__41, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.APSP.__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_9networkit_10_NetworKit_4APSP_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_4APSP_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4APSP_10__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_APSP *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_4APSP_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_APSP *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__42, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.APSP.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2264
 * 		The graph.
 * 		"""
 * 	def __init__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _DynAPSP(G._this)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_7DynAPSP_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_7DynAPSP_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 2264, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2264, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynAPSP.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 2264, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_7DynAPSP___init__(((struct __pyx_obj_9networkit_10_NetworKit_DynAPSP *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_7DynAPSP___init__(struct __pyx_obj_9networkit_10_NetworKit_DynAPSP *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::DynAPSP *__pyx_t_1;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "networkit/_NetworKit.pyx":2265
 * 		"""
 * 	def __init__(self, Graph G):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _DynAPSP(G._this)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":2266
 * 	def __init__(self, Graph G):
 * 		self._G = G
 * 		self._this = new _DynAPSP(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def update(self, ev):
 */
  try {
    __pyx_t_1 = new NetworKit::DynAPSP(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2266, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":2264
 * 		The graph.
 * 		"""
 * 	def __init__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _DynAPSP(G._this)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynAPSP.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2268
 * 		self._this = new _DynAPSP(G._this)
 * 
 * 	def update(self, ev):             # <<<<<<<<<<<<<<
 * 		""" Updates shortest paths with the edge insertion.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_7DynAPSP_3update(PyObject *__pyx_v_self, PyObject *__pyx_v_ev); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_7DynAPSP_2update[] = " Updates shortest paths with the edge insertion.\n\n\t\tParameters\n\t\t----------\n\t\tev : GraphEvent.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_7DynAPSP_3update(PyObject *__pyx_v_self, PyObject *__pyx_v_ev) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("update (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_7DynAPSP_2update(((struct __pyx_obj_9networkit_10_NetworKit_DynAPSP *)__pyx_v_self), ((PyObject *)__pyx_v_ev));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_7DynAPSP_2update(struct __pyx_obj_9networkit_10_NetworKit_DynAPSP *__pyx_v_self, PyObject *__pyx_v_ev) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum NetworKit::GraphEvent::Type __pyx_t_2;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_3;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_4;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_5;
  NetworKit::GraphEvent __pyx_t_6;
  __Pyx_RefNannySetupContext("update", 0);

  /* "networkit/_NetworKit.pyx":2275
 * 		ev : GraphEvent.
 * 		"""
 * 		(<_DynAPSP*>(self._this)).update(_GraphEvent(ev.type, ev.u, ev.v, ev.w))             # <<<<<<<<<<<<<<
 * 
 * 	def updateBatch(self, batch):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum NetworKit::GraphEvent::Type)__Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2275, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_u); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_As_uint64_t(__pyx_t_1); if (unlikely((__pyx_t_3 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2275, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_v); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyInt_As_uint64_t(__pyx_t_1); if (unlikely((__pyx_t_4 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2275, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_w); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2275, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  try {
    __pyx_t_6 = NetworKit::GraphEvent(__pyx_t_2, __pyx_t_3, __pyx_t_4, __pyx_t_5);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2275, __pyx_L1_error)
  }
  try {
    ((NetworKit::DynAPSP *)__pyx_v_self->__pyx_base.__pyx_base._this)->update(__pyx_t_6);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2275, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":2268
 * 		self._this = new _DynAPSP(G._this)
 * 
 * 	def update(self, ev):             # <<<<<<<<<<<<<<
 * 		""" Updates shortest paths with the edge insertion.
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynAPSP.update", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2277
 * 		(<_DynAPSP*>(self._this)).update(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 
 * 	def updateBatch(self, batch):             # <<<<<<<<<<<<<<
 * 		""" Updates shortest paths with the batch `batch` of edge insertions.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_7DynAPSP_5updateBatch(PyObject *__pyx_v_self, PyObject *__pyx_v_batch); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_7DynAPSP_4updateBatch[] = " Updates shortest paths with the batch `batch` of edge insertions.\n\n\t\tParameters\n\t\t----------\n\t\tbatch : list of GraphEvent.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_7DynAPSP_5updateBatch(PyObject *__pyx_v_self, PyObject *__pyx_v_batch) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("updateBatch (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_7DynAPSP_4updateBatch(((struct __pyx_obj_9networkit_10_NetworKit_DynAPSP *)__pyx_v_self), ((PyObject *)__pyx_v_batch));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_7DynAPSP_4updateBatch(struct __pyx_obj_9networkit_10_NetworKit_DynAPSP *__pyx_v_self, PyObject *__pyx_v_batch) {
  std::vector<NetworKit::GraphEvent>  __pyx_v__batch;
  PyObject *__pyx_v_ev = 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;
  enum NetworKit::GraphEvent::Type __pyx_t_5;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_6;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_7;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_8;
  NetworKit::GraphEvent __pyx_t_9;
  __Pyx_RefNannySetupContext("updateBatch", 0);

  /* "networkit/_NetworKit.pyx":2285
 * 		"""
 * 		cdef vector[_GraphEvent] _batch
 * 		for ev in batch:             # <<<<<<<<<<<<<<
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		(<_DynAPSP*>(self._this)).updateBatch(_batch)
 */
  if (likely(PyList_CheckExact(__pyx_v_batch)) || PyTuple_CheckExact(__pyx_v_batch)) {
    __pyx_t_1 = __pyx_v_batch; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_batch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2285, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2285, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 2285, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2285, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 2285, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2285, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 2285, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_ev, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "networkit/_NetworKit.pyx":2286
 * 		cdef vector[_GraphEvent] _batch
 * 		for ev in batch:
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))             # <<<<<<<<<<<<<<
 * 		(<_DynAPSP*>(self._this)).updateBatch(_batch)
 * 
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2286, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = ((enum NetworKit::GraphEvent::Type)__Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2286, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_u); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2286, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyInt_As_uint64_t(__pyx_t_4); if (unlikely((__pyx_t_6 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2286, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_v); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2286, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = __Pyx_PyInt_As_uint64_t(__pyx_t_4); if (unlikely((__pyx_t_7 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2286, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_w); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2286, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_8 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2286, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    try {
      __pyx_t_9 = NetworKit::GraphEvent(__pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 2286, __pyx_L1_error)
    }
    try {
      __pyx_v__batch.push_back(__pyx_t_9);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 2286, __pyx_L1_error)
    }

    /* "networkit/_NetworKit.pyx":2285
 * 		"""
 * 		cdef vector[_GraphEvent] _batch
 * 		for ev in batch:             # <<<<<<<<<<<<<<
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		(<_DynAPSP*>(self._this)).updateBatch(_batch)
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":2287
 * 		for ev in batch:
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		(<_DynAPSP*>(self._this)).updateBatch(_batch)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/graph/SpanningForest.hpp>":
 */
  try {
    ((NetworKit::DynAPSP *)__pyx_v_self->__pyx_base.__pyx_base._this)->updateBatch(__pyx_v__batch);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2287, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":2277
 * 		(<_DynAPSP*>(self._this)).update(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 
 * 	def updateBatch(self, batch):             # <<<<<<<<<<<<<<
 * 		""" Updates shortest paths with the batch `batch` of edge insertions.
 * 
 */

  /* 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_AddTraceback("networkit._NetworKit.DynAPSP.updateBatch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ev);
  __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_9networkit_10_NetworKit_7DynAPSP_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_7DynAPSP_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_7DynAPSP_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynAPSP *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_7DynAPSP_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynAPSP *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__43, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynAPSP.__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_9networkit_10_NetworKit_7DynAPSP_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_7DynAPSP_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_7DynAPSP_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynAPSP *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_7DynAPSP_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynAPSP *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__44, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynAPSP.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2308
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G not None):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _SpanningForest(G._this)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_14SpanningForest_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_14SpanningForest_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 2308, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2308, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.SpanningForest.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 2308, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14SpanningForest___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_SpanningForest *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_14SpanningForest___cinit__(struct __pyx_obj_9networkit_10_NetworKit_SpanningForest *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::SpanningForest *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":2309
 * 
 * 	def __cinit__(self, Graph G not None):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _SpanningForest(G._this)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":2310
 * 	def __cinit__(self, Graph G not None):
 * 		self._G = G
 * 		self._this = new _SpanningForest(G._this)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  try {
    __pyx_t_1 = new NetworKit::SpanningForest(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2310, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":2308
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G not None):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _SpanningForest(G._this)
 */

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

/* "networkit/_NetworKit.pyx":2313
 * 
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_14SpanningForest_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_14SpanningForest_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_14SpanningForest_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_SpanningForest *)__pyx_v_self));

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

static void __pyx_pf_9networkit_10_NetworKit_14SpanningForest_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_SpanningForest *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":2314
 * 
 * 	def __dealloc__(self):
 * 		del self._this             # <<<<<<<<<<<<<<
 * 
 * 	def generate(self):
 */
  delete __pyx_v_self->_this;

  /* "networkit/_NetworKit.pyx":2313
 * 
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

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

/* "networkit/_NetworKit.pyx":2316
 * 		del self._this
 * 
 * 	def generate(self):             # <<<<<<<<<<<<<<
 * 		return Graph().setThis(self._this.generate())
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_14SpanningForest_5generate(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14SpanningForest_5generate(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generate (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14SpanningForest_4generate(((struct __pyx_obj_9networkit_10_NetworKit_SpanningForest *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14SpanningForest_4generate(struct __pyx_obj_9networkit_10_NetworKit_SpanningForest *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Graph __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("generate", 0);

  /* "networkit/_NetworKit.pyx":2317
 * 
 * 	def generate(self):
 * 		return Graph().setThis(self._this.generate())             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/graph/UnionMaximumSpanningForest.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = __pyx_v_self->_this->generate();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2317, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2317, __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;

  /* "networkit/_NetworKit.pyx":2316
 * 		del self._this
 * 
 * 	def generate(self):             # <<<<<<<<<<<<<<
 * 		return Graph().setThis(self._this.generate())
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.SpanningForest.generate", __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_9networkit_10_NetworKit_14SpanningForest_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14SpanningForest_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14SpanningForest_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_SpanningForest *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14SpanningForest_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SpanningForest *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__45, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.SpanningForest.__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_9networkit_10_NetworKit_14SpanningForest_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14SpanningForest_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14SpanningForest_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_SpanningForest *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14SpanningForest_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SpanningForest *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__46, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.SpanningForest.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2342
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G not None, vector[double] attribute = vector[double]()):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_26UnionMaximumSpanningForest_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_26UnionMaximumSpanningForest_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  std::vector<double>  __pyx_v_attribute;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_attribute,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_attribute);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 2342, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    if (values[1]) {
      __pyx_v_attribute = __pyx_convert_vector_from_py_double(values[1]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2342, __pyx_L3_error)
    } else {
      __pyx_v_attribute = __pyx_k__47;
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2342, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.UnionMaximumSpanningForest.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 2342, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26UnionMaximumSpanningForest___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest *)__pyx_v_self), __pyx_v_G, __pyx_v_attribute);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_26UnionMaximumSpanningForest___cinit__(struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<double>  __pyx_v_attribute) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  NetworKit::UnionMaximumSpanningForest *__pyx_t_2;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":2343
 * 
 * 	def __cinit__(self, Graph G not None, vector[double] attribute = vector[double]()):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 
 * 		if attribute.empty():
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":2345
 * 		self._G = G
 * 
 * 		if attribute.empty():             # <<<<<<<<<<<<<<
 * 			self._this = new _UnionMaximumSpanningForest(G._this)
 * 		else:
 */
  __pyx_t_1 = (__pyx_v_attribute.empty() != 0);
  if (__pyx_t_1) {

    /* "networkit/_NetworKit.pyx":2346
 * 
 * 		if attribute.empty():
 * 			self._this = new _UnionMaximumSpanningForest(G._this)             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._this = new _UnionMaximumSpanningForest(G._this, attribute)
 */
    try {
      __pyx_t_2 = new NetworKit::UnionMaximumSpanningForest(__pyx_v_G->_this);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 2346, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_2;

    /* "networkit/_NetworKit.pyx":2345
 * 		self._G = G
 * 
 * 		if attribute.empty():             # <<<<<<<<<<<<<<
 * 			self._this = new _UnionMaximumSpanningForest(G._this)
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":2348
 * 			self._this = new _UnionMaximumSpanningForest(G._this)
 * 		else:
 * 			self._this = new _UnionMaximumSpanningForest(G._this, attribute)             # <<<<<<<<<<<<<<
 * 
 * 	def getUMSF(self, bool_t move = False):
 */
  /*else*/ {
    try {
      __pyx_t_2 = new NetworKit::UnionMaximumSpanningForest(__pyx_v_G->_this, __pyx_v_attribute);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 2348, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_2;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":2342
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G not None, vector[double] attribute = vector[double]()):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 
 */

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

/* "networkit/_NetworKit.pyx":2350
 * 			self._this = new _UnionMaximumSpanningForest(G._this, attribute)
 * 
 * 	def getUMSF(self, bool_t move = False):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Gets the union of all maximum-weight spanning forests as graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_26UnionMaximumSpanningForest_3getUMSF(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_26UnionMaximumSpanningForest_2getUMSF[] = "\n\t\tGets the union of all maximum-weight spanning forests as graph.\n\n\t\tParameters\n\t\t----------\n\t\tmove : bool\n\t\t\tIf the graph shall be moved out of the algorithm instance.\n\n\t\tReturns\n\t\t-------\n\t\tnetworkit.Graph\n\t\t\tThe calculated union of all maximum-weight spanning forests.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_26UnionMaximumSpanningForest_3getUMSF(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  bool __pyx_v_move;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getUMSF (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_move,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_move);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getUMSF") < 0)) __PYX_ERR(0, 2350, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_move = __Pyx_PyObject_IsTrue(values[0]); if (unlikely((__pyx_v_move == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2350, __pyx_L3_error)
    } else {
      __pyx_v_move = ((bool)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getUMSF", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2350, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.UnionMaximumSpanningForest.getUMSF", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26UnionMaximumSpanningForest_2getUMSF(((struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest *)__pyx_v_self), __pyx_v_move);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_26UnionMaximumSpanningForest_2getUMSF(struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest *__pyx_v_self, bool __pyx_v_move) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Graph __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("getUMSF", 0);

  /* "networkit/_NetworKit.pyx":2364
 * 			The calculated union of all maximum-weight spanning forests.
 * 		"""
 * 		return Graph().setThis((<_UnionMaximumSpanningForest*>(self._this)).getUMSF(move))             # <<<<<<<<<<<<<<
 * 
 * 	def getAttribute(self, bool_t move = False):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = ((NetworKit::UnionMaximumSpanningForest *)__pyx_v_self->__pyx_base._this)->getUMSF(__pyx_v_move);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2364, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2364, __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;

  /* "networkit/_NetworKit.pyx":2350
 * 			self._this = new _UnionMaximumSpanningForest(G._this, attribute)
 * 
 * 	def getUMSF(self, bool_t move = False):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Gets the union of all maximum-weight spanning forests as graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.UnionMaximumSpanningForest.getUMSF", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2366
 * 		return Graph().setThis((<_UnionMaximumSpanningForest*>(self._this)).getUMSF(move))
 * 
 * 	def getAttribute(self, bool_t move = False):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get a bool attribute that indicates for each edge if it is part of any maximum-weight spanning forest.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_26UnionMaximumSpanningForest_5getAttribute(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_26UnionMaximumSpanningForest_4getAttribute[] = "\n\t\tGet a bool attribute that indicates for each edge if it is part of any maximum-weight spanning forest.\n\n\t\tThis attribute is only calculated and can thus only be request if the supplied graph has edge ids.\n\n\t\tParameters\n\t\t----------\n\t\tmove : bool\n\t\t\tIf the attribute shall be moved out of the algorithm instance.\n\n\t\tReturns\n\t\t-------\n\t\tlist\n\t\t\tThe list with the bool attribute for each edge.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_26UnionMaximumSpanningForest_5getAttribute(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  bool __pyx_v_move;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getAttribute (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_move,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_move);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getAttribute") < 0)) __PYX_ERR(0, 2366, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_move = __Pyx_PyObject_IsTrue(values[0]); if (unlikely((__pyx_v_move == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2366, __pyx_L3_error)
    } else {
      __pyx_v_move = ((bool)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getAttribute", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2366, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.UnionMaximumSpanningForest.getAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26UnionMaximumSpanningForest_4getAttribute(((struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest *)__pyx_v_self), __pyx_v_move);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_26UnionMaximumSpanningForest_4getAttribute(struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest *__pyx_v_self, bool __pyx_v_move) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<bool>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getAttribute", 0);

  /* "networkit/_NetworKit.pyx":2382
 * 			The list with the bool attribute for each edge.
 * 		"""
 * 		return (<_UnionMaximumSpanningForest*>(self._this)).getAttribute(move)             # <<<<<<<<<<<<<<
 * 
 * 	def inUMST(self, node u, node v = _none):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::UnionMaximumSpanningForest *)__pyx_v_self->__pyx_base._this)->getAttribute(__pyx_v_move);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2382, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_bool(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":2366
 * 		return Graph().setThis((<_UnionMaximumSpanningForest*>(self._this)).getUMSF(move))
 * 
 * 	def getAttribute(self, bool_t move = False):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get a bool attribute that indicates for each edge if it is part of any maximum-weight spanning forest.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.UnionMaximumSpanningForest.getAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2384
 * 		return (<_UnionMaximumSpanningForest*>(self._this)).getAttribute(move)
 * 
 * 	def inUMST(self, node u, node v = _none):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Checks if the edge (u, v) or the edge with id u is part of any maximum-weight spanning forest.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_26UnionMaximumSpanningForest_7inUMST(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_26UnionMaximumSpanningForest_6inUMST[] = "\n\t\tChecks if the edge (u, v) or the edge with id u is part of any maximum-weight spanning forest.\n\n\t\tParameters\n\t\t----------\n\t\tu : node or edgeid\n\t\t\tThe first node of the edge to check or the edge id of the edge to check\n\t\tv : node\n\t\t\tThe second node of the edge to check (only if u is not an edge id)\n\n\t\tReturns\n\t\t-------\n\t\tbool\n\t\t\tIf the edge is part of any maximum-weight spanning forest.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_26UnionMaximumSpanningForest_7inUMST(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("inUMST (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "inUMST") < 0)) __PYX_ERR(0, 2384, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2384, __pyx_L3_error)
    if (values[1]) {
      __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2384, __pyx_L3_error)
    } else {
      __pyx_v_v = __pyx_k__48;
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("inUMST", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2384, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.UnionMaximumSpanningForest.inUMST", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26UnionMaximumSpanningForest_6inUMST(((struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_26UnionMaximumSpanningForest_6inUMST(struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  bool __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("inUMST", 0);

  /* "networkit/_NetworKit.pyx":2400
 * 			If the edge is part of any maximum-weight spanning forest.
 * 		"""
 * 		if v == _none:             # <<<<<<<<<<<<<<
 * 			return (<_UnionMaximumSpanningForest*>(self._this)).inUMSF(u)
 * 		else:
 */
  __pyx_t_1 = ((__pyx_v_v == NetworKit::none) != 0);
  if (__pyx_t_1) {

    /* "networkit/_NetworKit.pyx":2401
 * 		"""
 * 		if v == _none:
 * 			return (<_UnionMaximumSpanningForest*>(self._this)).inUMSF(u)             # <<<<<<<<<<<<<<
 * 		else:
 * 			return (<_UnionMaximumSpanningForest*>(self._this)).inUMSF(u, v)
 */
    __Pyx_XDECREF(__pyx_r);
    try {
      __pyx_t_2 = ((NetworKit::UnionMaximumSpanningForest *)__pyx_v_self->__pyx_base._this)->inUMSF(__pyx_v_u);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 2401, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2401, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "networkit/_NetworKit.pyx":2400
 * 			If the edge is part of any maximum-weight spanning forest.
 * 		"""
 * 		if v == _none:             # <<<<<<<<<<<<<<
 * 			return (<_UnionMaximumSpanningForest*>(self._this)).inUMSF(u)
 * 		else:
 */
  }

  /* "networkit/_NetworKit.pyx":2403
 * 			return (<_UnionMaximumSpanningForest*>(self._this)).inUMSF(u)
 * 		else:
 * 			return (<_UnionMaximumSpanningForest*>(self._this)).inUMSF(u, v)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/graph/RandomMaximumSpanningForest.hpp>":
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    try {
      __pyx_t_2 = ((NetworKit::UnionMaximumSpanningForest *)__pyx_v_self->__pyx_base._this)->inUMSF(__pyx_v_u, __pyx_v_v);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 2403, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2403, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;
  }

  /* "networkit/_NetworKit.pyx":2384
 * 		return (<_UnionMaximumSpanningForest*>(self._this)).getAttribute(move)
 * 
 * 	def inUMST(self, node u, node v = _none):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Checks if the edge (u, v) or the edge with id u is part of any maximum-weight spanning forest.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.UnionMaximumSpanningForest.inUMST", __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_9networkit_10_NetworKit_26UnionMaximumSpanningForest_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_26UnionMaximumSpanningForest_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26UnionMaximumSpanningForest_8__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_26UnionMaximumSpanningForest_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__49, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.UnionMaximumSpanningForest.__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_9networkit_10_NetworKit_26UnionMaximumSpanningForest_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_26UnionMaximumSpanningForest_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26UnionMaximumSpanningForest_10__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_26UnionMaximumSpanningForest_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__50, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.UnionMaximumSpanningForest.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2429
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G not None, vector[double] attribute = vector[double]()):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		if attribute.empty():
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_27RandomMaximumSpanningForest_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_27RandomMaximumSpanningForest_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  std::vector<double>  __pyx_v_attribute;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_attribute,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_attribute);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 2429, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    if (values[1]) {
      __pyx_v_attribute = __pyx_convert_vector_from_py_double(values[1]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2429, __pyx_L3_error)
    } else {
      __pyx_v_attribute = __pyx_k__51;
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2429, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.RandomMaximumSpanningForest.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 2429, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27RandomMaximumSpanningForest___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest *)__pyx_v_self), __pyx_v_G, __pyx_v_attribute);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_27RandomMaximumSpanningForest___cinit__(struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<double>  __pyx_v_attribute) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  NetworKit::RandomMaximumSpanningForest *__pyx_t_2;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":2430
 * 
 * 	def __cinit__(self, Graph G not None, vector[double] attribute = vector[double]()):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		if attribute.empty():
 * 			self._this = new _RandomMaximumSpanningForest(G._this)
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":2431
 * 	def __cinit__(self, Graph G not None, vector[double] attribute = vector[double]()):
 * 		self._G = G
 * 		if attribute.empty():             # <<<<<<<<<<<<<<
 * 			self._this = new _RandomMaximumSpanningForest(G._this)
 * 		else:
 */
  __pyx_t_1 = (__pyx_v_attribute.empty() != 0);
  if (__pyx_t_1) {

    /* "networkit/_NetworKit.pyx":2432
 * 		self._G = G
 * 		if attribute.empty():
 * 			self._this = new _RandomMaximumSpanningForest(G._this)             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._attribute = move(attribute)
 */
    try {
      __pyx_t_2 = new NetworKit::RandomMaximumSpanningForest(__pyx_v_G->_this);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 2432, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_2;

    /* "networkit/_NetworKit.pyx":2431
 * 	def __cinit__(self, Graph G not None, vector[double] attribute = vector[double]()):
 * 		self._G = G
 * 		if attribute.empty():             # <<<<<<<<<<<<<<
 * 			self._this = new _RandomMaximumSpanningForest(G._this)
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":2434
 * 			self._this = new _RandomMaximumSpanningForest(G._this)
 * 		else:
 * 			self._attribute = move(attribute)             # <<<<<<<<<<<<<<
 * 			self._this = new _RandomMaximumSpanningForest(G._this, self._attribute)
 * 
 */
  /*else*/ {
    __pyx_v_self->_attribute = std::move(__pyx_v_attribute);

    /* "networkit/_NetworKit.pyx":2435
 * 		else:
 * 			self._attribute = move(attribute)
 * 			self._this = new _RandomMaximumSpanningForest(G._this, self._attribute)             # <<<<<<<<<<<<<<
 * 
 * 	def getMSF(self, bool_t move = False):
 */
    try {
      __pyx_t_2 = new NetworKit::RandomMaximumSpanningForest(__pyx_v_G->_this, __pyx_v_self->_attribute);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 2435, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_2;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":2429
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G not None, vector[double] attribute = vector[double]()):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		if attribute.empty():
 */

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

/* "networkit/_NetworKit.pyx":2437
 * 			self._this = new _RandomMaximumSpanningForest(G._this, self._attribute)
 * 
 * 	def getMSF(self, bool_t move = False):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Gets the calculated maximum-weight spanning forest as graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_27RandomMaximumSpanningForest_3getMSF(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_27RandomMaximumSpanningForest_2getMSF[] = "\n\t\tGets the calculated maximum-weight spanning forest as graph.\n\n\t\tParameters\n\t\t----------\n\t\tmove : bool\n\t\t\tIf the graph shall be moved out of the algorithm instance.\n\n\t\tReturns\n\t\t-------\n\t\tnetworkit.Graph\n\t\t\tThe calculated maximum-weight spanning forest.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_27RandomMaximumSpanningForest_3getMSF(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  bool __pyx_v_move;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getMSF (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_move,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_move);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getMSF") < 0)) __PYX_ERR(0, 2437, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_move = __Pyx_PyObject_IsTrue(values[0]); if (unlikely((__pyx_v_move == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2437, __pyx_L3_error)
    } else {
      __pyx_v_move = ((bool)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getMSF", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2437, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.RandomMaximumSpanningForest.getMSF", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27RandomMaximumSpanningForest_2getMSF(((struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest *)__pyx_v_self), __pyx_v_move);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_27RandomMaximumSpanningForest_2getMSF(struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest *__pyx_v_self, bool __pyx_v_move) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Graph __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("getMSF", 0);

  /* "networkit/_NetworKit.pyx":2451
 * 			The calculated maximum-weight spanning forest.
 * 		"""
 * 		return Graph().setThis((<_RandomMaximumSpanningForest*>(self._this)).getMSF(move))             # <<<<<<<<<<<<<<
 * 
 * 	def getAttribute(self, bool_t move = False):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = ((NetworKit::RandomMaximumSpanningForest *)__pyx_v_self->__pyx_base._this)->getMSF(__pyx_v_move);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2451, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2451, __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;

  /* "networkit/_NetworKit.pyx":2437
 * 			self._this = new _RandomMaximumSpanningForest(G._this, self._attribute)
 * 
 * 	def getMSF(self, bool_t move = False):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Gets the calculated maximum-weight spanning forest as graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.RandomMaximumSpanningForest.getMSF", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2453
 * 		return Graph().setThis((<_RandomMaximumSpanningForest*>(self._this)).getMSF(move))
 * 
 * 	def getAttribute(self, bool_t move = False):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get a bool attribute that indicates for each edge if it is part of the calculated maximum-weight spanning forest.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_27RandomMaximumSpanningForest_5getAttribute(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_27RandomMaximumSpanningForest_4getAttribute[] = "\n\t\tGet a bool attribute that indicates for each edge if it is part of the calculated maximum-weight spanning forest.\n\n\t\tThis attribute is only calculated and can thus only be request if the supplied graph has edge ids.\n\n\t\tParameters\n\t\t----------\n\t\tmove : bool\n\t\t\tIf the attribute shall be moved out of the algorithm instance.\n\n\t\tReturns\n\t\t-------\n\t\tlist\n\t\t\tThe list with the bool attribute for each edge.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_27RandomMaximumSpanningForest_5getAttribute(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  bool __pyx_v_move;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getAttribute (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_move,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_move);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getAttribute") < 0)) __PYX_ERR(0, 2453, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_move = __Pyx_PyObject_IsTrue(values[0]); if (unlikely((__pyx_v_move == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2453, __pyx_L3_error)
    } else {
      __pyx_v_move = ((bool)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getAttribute", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2453, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.RandomMaximumSpanningForest.getAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27RandomMaximumSpanningForest_4getAttribute(((struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest *)__pyx_v_self), __pyx_v_move);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_27RandomMaximumSpanningForest_4getAttribute(struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest *__pyx_v_self, bool __pyx_v_move) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<bool>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getAttribute", 0);

  /* "networkit/_NetworKit.pyx":2469
 * 			The list with the bool attribute for each edge.
 * 		"""
 * 		return (<_RandomMaximumSpanningForest*>(self._this)).getAttribute(move)             # <<<<<<<<<<<<<<
 * 
 * 	def inMSF(self, node u, node v = _none):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::RandomMaximumSpanningForest *)__pyx_v_self->__pyx_base._this)->getAttribute(__pyx_v_move);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2469, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_bool(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":2453
 * 		return Graph().setThis((<_RandomMaximumSpanningForest*>(self._this)).getMSF(move))
 * 
 * 	def getAttribute(self, bool_t move = False):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get a bool attribute that indicates for each edge if it is part of the calculated maximum-weight spanning forest.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.RandomMaximumSpanningForest.getAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2471
 * 		return (<_RandomMaximumSpanningForest*>(self._this)).getAttribute(move)
 * 
 * 	def inMSF(self, node u, node v = _none):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Checks if the edge (u, v) or the edge with id u is part of the calculated maximum-weight spanning forest.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_27RandomMaximumSpanningForest_7inMSF(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_27RandomMaximumSpanningForest_6inMSF[] = "\n\t\tChecks if the edge (u, v) or the edge with id u is part of the calculated maximum-weight spanning forest.\n\n\t\tParameters\n\t\t----------\n\t\tu : node or edgeid\n\t\t\tThe first node of the edge to check or the edge id of the edge to check\n\t\tv : node\n\t\t\tThe second node of the edge to check (only if u is not an edge id)\n\n\t\tReturns\n\t\t-------\n\t\tbool\n\t\t\tIf the edge is part of the calculated maximum-weight spanning forest.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_27RandomMaximumSpanningForest_7inMSF(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("inMSF (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "inMSF") < 0)) __PYX_ERR(0, 2471, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2471, __pyx_L3_error)
    if (values[1]) {
      __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2471, __pyx_L3_error)
    } else {
      __pyx_v_v = __pyx_k__52;
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("inMSF", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2471, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.RandomMaximumSpanningForest.inMSF", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27RandomMaximumSpanningForest_6inMSF(((struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_27RandomMaximumSpanningForest_6inMSF(struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  bool __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("inMSF", 0);

  /* "networkit/_NetworKit.pyx":2487
 * 			If the edge is part of the calculated maximum-weight spanning forest.
 * 		"""
 * 		if v == _none:             # <<<<<<<<<<<<<<
 * 			return (<_RandomMaximumSpanningForest*>(self._this)).inMSF(u)
 * 		else:
 */
  __pyx_t_1 = ((__pyx_v_v == NetworKit::none) != 0);
  if (__pyx_t_1) {

    /* "networkit/_NetworKit.pyx":2488
 * 		"""
 * 		if v == _none:
 * 			return (<_RandomMaximumSpanningForest*>(self._this)).inMSF(u)             # <<<<<<<<<<<<<<
 * 		else:
 * 			return (<_RandomMaximumSpanningForest*>(self._this)).inMSF(u, v)
 */
    __Pyx_XDECREF(__pyx_r);
    try {
      __pyx_t_2 = ((NetworKit::RandomMaximumSpanningForest *)__pyx_v_self->__pyx_base._this)->inMSF(__pyx_v_u);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 2488, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2488, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "networkit/_NetworKit.pyx":2487
 * 			If the edge is part of the calculated maximum-weight spanning forest.
 * 		"""
 * 		if v == _none:             # <<<<<<<<<<<<<<
 * 			return (<_RandomMaximumSpanningForest*>(self._this)).inMSF(u)
 * 		else:
 */
  }

  /* "networkit/_NetworKit.pyx":2490
 * 			return (<_RandomMaximumSpanningForest*>(self._this)).inMSF(u)
 * 		else:
 * 			return (<_RandomMaximumSpanningForest*>(self._this)).inMSF(u, v)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/independentset/Luby.hpp>":
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    try {
      __pyx_t_2 = ((NetworKit::RandomMaximumSpanningForest *)__pyx_v_self->__pyx_base._this)->inMSF(__pyx_v_u, __pyx_v_v);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 2490, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2490, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;
  }

  /* "networkit/_NetworKit.pyx":2471
 * 		return (<_RandomMaximumSpanningForest*>(self._this)).getAttribute(move)
 * 
 * 	def inMSF(self, node u, node v = _none):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Checks if the edge (u, v) or the edge with id u is part of the calculated maximum-weight spanning forest.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.RandomMaximumSpanningForest.inMSF", __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_9networkit_10_NetworKit_27RandomMaximumSpanningForest_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_27RandomMaximumSpanningForest_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27RandomMaximumSpanningForest_8__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_27RandomMaximumSpanningForest_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__53, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.RandomMaximumSpanningForest.__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_9networkit_10_NetworKit_27RandomMaximumSpanningForest_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_27RandomMaximumSpanningForest_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27RandomMaximumSpanningForest_10__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_27RandomMaximumSpanningForest_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__54, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.RandomMaximumSpanningForest.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2505
 * 	cdef _Luby _this
 * 
 * 	def run(self, Graph G not None):             # <<<<<<<<<<<<<<
 * 		""" Returns a bool vector of length n where vec[v] is True iff v is in the independent sets.
 * 		Parameters
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_4Luby_1run(PyObject *__pyx_v_self, PyObject *__pyx_v_G); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_4Luby_run[] = " Returns a bool vector of length n where vec[v] is True iff v is in the independent sets.\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe graph.\n\t\tReturns\n\t\t-------\n\t\tvector\n\t\t\tA bool vector of length n.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_4Luby_1run(PyObject *__pyx_v_self, PyObject *__pyx_v_G) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 2505, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4Luby_run(((struct __pyx_obj_9networkit_10_NetworKit_Luby *)__pyx_v_self), ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_G));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_4Luby_run(struct __pyx_obj_9networkit_10_NetworKit_Luby *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<bool>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":2516
 * 			A bool vector of length n.
 * 		"""
 * 		return self._this.run(G._this)             # <<<<<<<<<<<<<<
 * 		# TODO: return self
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.run(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2516, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_bool(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2516, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":2505
 * 	cdef _Luby _this
 * 
 * 	def run(self, Graph G not None):             # <<<<<<<<<<<<<<
 * 		""" Returns a bool vector of length n where vec[v] is True iff v is in the independent sets.
 * 		Parameters
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Luby.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2519
 * 		# TODO: return self
 * 
 * 	def toString(self):             # <<<<<<<<<<<<<<
 * 		""" Get string representation of the algorithm.
 * 		Returns
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_4Luby_3toString(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_4Luby_2toString[] = " Get string representation of the algorithm.\n\t\tReturns\n\t\t-------\n\t\tstring\n\t\t\tThe string representation of the algorithm.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_4Luby_3toString(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("toString (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4Luby_2toString(((struct __pyx_obj_9networkit_10_NetworKit_Luby *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_4Luby_2toString(struct __pyx_obj_9networkit_10_NetworKit_Luby *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("toString", 0);

  /* "networkit/_NetworKit.pyx":2526
 * 			The string representation of the algorithm.
 * 		"""
 * 		return self._this.toString().decode("utf-8")             # <<<<<<<<<<<<<<
 * 
 * # Module: generators
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_decode_cpp_string(__pyx_v_self->_this.toString(), 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":2519
 * 		# TODO: return self
 * 
 * 	def toString(self):             # <<<<<<<<<<<<<<
 * 		""" Get string representation of the algorithm.
 * 		Returns
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Luby.toString", __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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_4Luby_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_4Luby_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4Luby_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Luby *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_4Luby_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Luby *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__55, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Luby.__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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_4Luby_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_4Luby_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_4Luby_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Luby *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_4Luby_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Luby *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__56, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Luby.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2560
 * 	"""
 * 
 * 	def __cinit__(self, count k, count nMax, n0=0, bool_t batagelj=True):             # <<<<<<<<<<<<<<
 * 		if isinstance(n0, Graph):
 * 			self._this = new _BarabasiAlbertGenerator(k, nMax, (<Graph>n0)._this, batagelj)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_23BarabasiAlbertGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_23BarabasiAlbertGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_k;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_nMax;
  PyObject *__pyx_v_n0 = 0;
  bool __pyx_v_batagelj;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_k,&__pyx_n_s_nMax,&__pyx_n_s_n0,&__pyx_n_s_batagelj,0};
    PyObject* values[4] = {0,0,0,0};
    values[2] = ((PyObject *)__pyx_int_0);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nMax)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 4, 1); __PYX_ERR(0, 2560, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n0);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_batagelj);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 2560, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_k = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_k == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2560, __pyx_L3_error)
    __pyx_v_nMax = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_nMax == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2560, __pyx_L3_error)
    __pyx_v_n0 = values[2];
    if (values[3]) {
      __pyx_v_batagelj = __Pyx_PyObject_IsTrue(values[3]); if (unlikely((__pyx_v_batagelj == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2560, __pyx_L3_error)
    } else {
      __pyx_v_batagelj = ((bool)1);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2560, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.BarabasiAlbertGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23BarabasiAlbertGenerator___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_BarabasiAlbertGenerator *)__pyx_v_self), __pyx_v_k, __pyx_v_nMax, __pyx_v_n0, __pyx_v_batagelj);

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

static int __pyx_pf_9networkit_10_NetworKit_23BarabasiAlbertGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_BarabasiAlbertGenerator *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_count __pyx_v_k, __pyx_t_9networkit_10_NetworKit_count __pyx_v_nMax, PyObject *__pyx_v_n0, bool __pyx_v_batagelj) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  NetworKit::BarabasiAlbertGenerator *__pyx_t_3;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_4;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":2561
 * 
 * 	def __cinit__(self, count k, count nMax, n0=0, bool_t batagelj=True):
 * 		if isinstance(n0, Graph):             # <<<<<<<<<<<<<<
 * 			self._this = new _BarabasiAlbertGenerator(k, nMax, (<Graph>n0)._this, batagelj)
 * 		else:
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_n0, __pyx_ptype_9networkit_10_NetworKit_Graph); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":2562
 * 	def __cinit__(self, count k, count nMax, n0=0, bool_t batagelj=True):
 * 		if isinstance(n0, Graph):
 * 			self._this = new _BarabasiAlbertGenerator(k, nMax, (<Graph>n0)._this, batagelj)             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._this = new _BarabasiAlbertGenerator(k, nMax, <count>n0, batagelj)
 */
    try {
      __pyx_t_3 = new NetworKit::BarabasiAlbertGenerator(__pyx_v_k, __pyx_v_nMax, ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_n0)->_this, __pyx_v_batagelj);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 2562, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;

    /* "networkit/_NetworKit.pyx":2561
 * 
 * 	def __cinit__(self, count k, count nMax, n0=0, bool_t batagelj=True):
 * 		if isinstance(n0, Graph):             # <<<<<<<<<<<<<<
 * 			self._this = new _BarabasiAlbertGenerator(k, nMax, (<Graph>n0)._this, batagelj)
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":2564
 * 			self._this = new _BarabasiAlbertGenerator(k, nMax, (<Graph>n0)._this, batagelj)
 * 		else:
 * 			self._this = new _BarabasiAlbertGenerator(k, nMax, <count>n0, batagelj)             # <<<<<<<<<<<<<<
 * 
 * 	@classmethod
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyInt_As_uint64_t(__pyx_v_n0); if (unlikely((__pyx_t_4 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2564, __pyx_L1_error)
    try {
      __pyx_t_3 = new NetworKit::BarabasiAlbertGenerator(__pyx_v_k, __pyx_v_nMax, ((__pyx_t_9networkit_10_NetworKit_count)__pyx_t_4), __pyx_v_batagelj);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 2564, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":2560
 * 	"""
 * 
 * 	def __cinit__(self, count k, count nMax, n0=0, bool_t batagelj=True):             # <<<<<<<<<<<<<<
 * 		if isinstance(n0, Graph):
 * 			self._this = new _BarabasiAlbertGenerator(k, nMax, (<Graph>n0)._this, batagelj)
 */

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

/* "networkit/_NetworKit.pyx":2567
 * 
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1):             # <<<<<<<<<<<<<<
 * 		(n, m) = GraphTools.size(G)
 * 		k = math.floor(m / n)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_23BarabasiAlbertGenerator_3fit(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_23BarabasiAlbertGenerator_3fit(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_scale = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("fit (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_scale,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)__pyx_int_1);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_scale);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "fit") < 0)) __PYX_ERR(0, 2567, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_scale = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("fit", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2567, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.BarabasiAlbertGenerator.fit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 2567, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23BarabasiAlbertGenerator_2fit(((PyTypeObject*)__pyx_v_cls), __pyx_v_G, __pyx_v_scale);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_23BarabasiAlbertGenerator_2fit(PyTypeObject *__pyx_v_cls, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_scale) {
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_v_m = NULL;
  PyObject *__pyx_v_k = 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)(PyObject *);
  __Pyx_RefNannySetupContext("fit", 0);

  /* "networkit/_NetworKit.pyx":2568
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1):
 * 		(n, m) = GraphTools.size(G)             # <<<<<<<<<<<<<<
 * 		k = math.floor(m / n)
 * 		return cls(nMax=scale * n, k=k, n0=k)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools), __pyx_n_s_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2568, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, ((PyObject *)__pyx_v_G)) : __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_G));
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2568, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  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(0, 2568, __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_t_3 = PyTuple_GET_ITEM(sequence, 1); 
    } else {
      __pyx_t_2 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_3 = PyList_GET_ITEM(sequence, 1); 
    }
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    #else
    __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2568, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2568, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #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(0, 2568, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_5 = Py_TYPE(__pyx_t_4)->tp_iternext;
    index = 0; __pyx_t_2 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_2);
    index = 1; __pyx_t_3 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_3)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_5(__pyx_t_4), 2) < 0) __PYX_ERR(0, 2568, __pyx_L1_error)
    __pyx_t_5 = NULL;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    goto __pyx_L4_unpacking_done;
    __pyx_L3_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_5 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(0, 2568, __pyx_L1_error)
    __pyx_L4_unpacking_done:;
  }
  __pyx_v_n = __pyx_t_2;
  __pyx_t_2 = 0;
  __pyx_v_m = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "networkit/_NetworKit.pyx":2569
 * 	def fit(cls, Graph G, scale=1):
 * 		(n, m) = GraphTools.size(G)
 * 		k = math.floor(m / n)             # <<<<<<<<<<<<<<
 * 		return cls(nMax=scale * n, k=k, n0=k)
 * 
 */
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_math); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_floor); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyNumber_Divide(__pyx_v_m, __pyx_v_n); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
  __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(0, 2569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_k = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":2570
 * 		(n, m) = GraphTools.size(G)
 * 		k = math.floor(m / n)
 * 		return cls(nMax=scale * n, k=k, n0=k)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyNumber_Multiply(__pyx_v_scale, __pyx_v_n); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_nMax, __pyx_t_2) < 0) __PYX_ERR(0, 2570, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_k, __pyx_v_k) < 0) __PYX_ERR(0, 2570, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_n0, __pyx_v_k) < 0) __PYX_ERR(0, 2570, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_v_cls), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2570, __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;

  /* "networkit/_NetworKit.pyx":2567
 * 
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1):             # <<<<<<<<<<<<<<
 * 		(n, m) = GraphTools.size(G)
 * 		k = math.floor(m / n)
 */

  /* 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("networkit._NetworKit.BarabasiAlbertGenerator.fit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XDECREF(__pyx_v_m);
  __Pyx_XDECREF(__pyx_v_k);
  __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_9networkit_10_NetworKit_23BarabasiAlbertGenerator_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_23BarabasiAlbertGenerator_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23BarabasiAlbertGenerator_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_BarabasiAlbertGenerator *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_23BarabasiAlbertGenerator_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BarabasiAlbertGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__57, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.BarabasiAlbertGenerator.__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_9networkit_10_NetworKit_23BarabasiAlbertGenerator_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_23BarabasiAlbertGenerator_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23BarabasiAlbertGenerator_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_BarabasiAlbertGenerator *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_23BarabasiAlbertGenerator_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BarabasiAlbertGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__58, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.BarabasiAlbertGenerator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2611
 * 	"""
 * 
 * 	def __cinit__(self, numNodes, numberOfDenseAreas, neighborhoodRadius, maxNumberOfNeighbors):             # <<<<<<<<<<<<<<
 * 		self._this = new _PubWebGenerator(numNodes, numberOfDenseAreas, neighborhoodRadius, maxNumberOfNeighbors)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_15PubWebGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_15PubWebGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_numNodes = 0;
  PyObject *__pyx_v_numberOfDenseAreas = 0;
  PyObject *__pyx_v_neighborhoodRadius = 0;
  PyObject *__pyx_v_maxNumberOfNeighbors = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_numNodes,&__pyx_n_s_numberOfDenseAreas,&__pyx_n_s_neighborhoodRadius,&__pyx_n_s_maxNumberOfNeighbors,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numNodes)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numberOfDenseAreas)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 4, 4, 1); __PYX_ERR(0, 2611, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_neighborhoodRadius)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 4, 4, 2); __PYX_ERR(0, 2611, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_maxNumberOfNeighbors)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 4, 4, 3); __PYX_ERR(0, 2611, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 2611, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_numNodes = values[0];
    __pyx_v_numberOfDenseAreas = values[1];
    __pyx_v_neighborhoodRadius = values[2];
    __pyx_v_maxNumberOfNeighbors = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2611, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PubWebGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15PubWebGenerator___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_PubWebGenerator *)__pyx_v_self), __pyx_v_numNodes, __pyx_v_numberOfDenseAreas, __pyx_v_neighborhoodRadius, __pyx_v_maxNumberOfNeighbors);

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

static int __pyx_pf_9networkit_10_NetworKit_15PubWebGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PubWebGenerator *__pyx_v_self, PyObject *__pyx_v_numNodes, PyObject *__pyx_v_numberOfDenseAreas, PyObject *__pyx_v_neighborhoodRadius, PyObject *__pyx_v_maxNumberOfNeighbors) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_2;
  float __pyx_t_3;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_4;
  NetworKit::PubWebGenerator *__pyx_t_5;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":2612
 * 
 * 	def __cinit__(self, numNodes, numberOfDenseAreas, neighborhoodRadius, maxNumberOfNeighbors):
 * 		self._this = new _PubWebGenerator(numNodes, numberOfDenseAreas, neighborhoodRadius, maxNumberOfNeighbors)             # <<<<<<<<<<<<<<
 * 
 * 	def getCoordinates(self):
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_numNodes); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2612, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_numberOfDenseAreas); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2612, __pyx_L1_error)
  __pyx_t_3 = __pyx_PyFloat_AsFloat(__pyx_v_neighborhoodRadius); if (unlikely((__pyx_t_3 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 2612, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyInt_As_uint64_t(__pyx_v_maxNumberOfNeighbors); if (unlikely((__pyx_t_4 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2612, __pyx_L1_error)
  try {
    __pyx_t_5 = new NetworKit::PubWebGenerator(__pyx_t_1, __pyx_t_2, __pyx_t_3, __pyx_t_4);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2612, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_5;

  /* "networkit/_NetworKit.pyx":2611
 * 	"""
 * 
 * 	def __cinit__(self, numNodes, numberOfDenseAreas, neighborhoodRadius, maxNumberOfNeighbors):             # <<<<<<<<<<<<<<
 * 		self._this = new _PubWebGenerator(numNodes, numberOfDenseAreas, neighborhoodRadius, maxNumberOfNeighbors)
 * 
 */

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

/* "networkit/_NetworKit.pyx":2614
 * 		self._this = new _PubWebGenerator(numNodes, numberOfDenseAreas, neighborhoodRadius, maxNumberOfNeighbors)
 * 
 * 	def getCoordinates(self):             # <<<<<<<<<<<<<<
 * 		"""Returns a list of coordinates"""
 * 		return toPoint2DVector((<_PubWebGenerator*>(self._this)).getCoordinates())
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15PubWebGenerator_3getCoordinates(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_15PubWebGenerator_2getCoordinates[] = "Returns a list of coordinates";
static PyObject *__pyx_pw_9networkit_10_NetworKit_15PubWebGenerator_3getCoordinates(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getCoordinates (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15PubWebGenerator_2getCoordinates(((struct __pyx_obj_9networkit_10_NetworKit_PubWebGenerator *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15PubWebGenerator_2getCoordinates(struct __pyx_obj_9networkit_10_NetworKit_PubWebGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("getCoordinates", 0);

  /* "networkit/_NetworKit.pyx":2616
 * 	def getCoordinates(self):
 * 		"""Returns a list of coordinates"""
 * 		return toPoint2DVector((<_PubWebGenerator*>(self._this)).getCoordinates())             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/generators/ErdosRenyiGenerator.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9networkit_10_NetworKit_toPoint2DVector(((NetworKit::PubWebGenerator *)__pyx_v_self->__pyx_base._this)->getCoordinates()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":2614
 * 		self._this = new _PubWebGenerator(numNodes, numberOfDenseAreas, neighborhoodRadius, maxNumberOfNeighbors)
 * 
 * 	def getCoordinates(self):             # <<<<<<<<<<<<<<
 * 		"""Returns a list of coordinates"""
 * 		return toPoint2DVector((<_PubWebGenerator*>(self._this)).getCoordinates())
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PubWebGenerator.getCoordinates", __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_9networkit_10_NetworKit_15PubWebGenerator_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15PubWebGenerator_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15PubWebGenerator_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PubWebGenerator *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15PubWebGenerator_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PubWebGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__59, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PubWebGenerator.__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_9networkit_10_NetworKit_15PubWebGenerator_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15PubWebGenerator_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15PubWebGenerator_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PubWebGenerator *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15PubWebGenerator_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PubWebGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__60, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PubWebGenerator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2644
 * 	"""
 * 
 * 	def __cinit__(self, nNodes, prob, directed = False, selfLoops = False):             # <<<<<<<<<<<<<<
 * 		self._this = new _ErdosRenyiGenerator(nNodes, prob, directed, selfLoops)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_19ErdosRenyiGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_19ErdosRenyiGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_nNodes = 0;
  PyObject *__pyx_v_prob = 0;
  PyObject *__pyx_v_directed = 0;
  PyObject *__pyx_v_selfLoops = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_nNodes,&__pyx_n_s_prob,&__pyx_n_s_directed,&__pyx_n_s_selfLoops,0};
    PyObject* values[4] = {0,0,0,0};
    values[2] = ((PyObject *)Py_False);
    values[3] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nNodes)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_prob)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 4, 1); __PYX_ERR(0, 2644, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_directed);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_selfLoops);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 2644, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_nNodes = values[0];
    __pyx_v_prob = values[1];
    __pyx_v_directed = values[2];
    __pyx_v_selfLoops = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2644, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ErdosRenyiGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19ErdosRenyiGenerator___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_ErdosRenyiGenerator *)__pyx_v_self), __pyx_v_nNodes, __pyx_v_prob, __pyx_v_directed, __pyx_v_selfLoops);

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

static int __pyx_pf_9networkit_10_NetworKit_19ErdosRenyiGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ErdosRenyiGenerator *__pyx_v_self, PyObject *__pyx_v_nNodes, PyObject *__pyx_v_prob, PyObject *__pyx_v_directed, PyObject *__pyx_v_selfLoops) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  double __pyx_t_2;
  bool __pyx_t_3;
  bool __pyx_t_4;
  NetworKit::ErdosRenyiGenerator *__pyx_t_5;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":2645
 * 
 * 	def __cinit__(self, nNodes, prob, directed = False, selfLoops = False):
 * 		self._this = new _ErdosRenyiGenerator(nNodes, prob, directed, selfLoops)             # <<<<<<<<<<<<<<
 * 
 * 	@classmethod
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_nNodes); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2645, __pyx_L1_error)
  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_prob); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2645, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_directed); if (unlikely((__pyx_t_3 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2645, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_selfLoops); if (unlikely((__pyx_t_4 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2645, __pyx_L1_error)
  try {
    __pyx_t_5 = new NetworKit::ErdosRenyiGenerator(__pyx_t_1, __pyx_t_2, __pyx_t_3, __pyx_t_4);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2645, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_5;

  /* "networkit/_NetworKit.pyx":2644
 * 	"""
 * 
 * 	def __cinit__(self, nNodes, prob, directed = False, selfLoops = False):             # <<<<<<<<<<<<<<
 * 		self._this = new _ErdosRenyiGenerator(nNodes, prob, directed, selfLoops)
 * 
 */

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

/* "networkit/_NetworKit.pyx":2648
 * 
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1):             # <<<<<<<<<<<<<<
 * 		""" Fit model to input graph"""
 * 		(n, m) = GraphTools.size(G)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ErdosRenyiGenerator_3fit(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_19ErdosRenyiGenerator_2fit[] = " Fit model to input graph";
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ErdosRenyiGenerator_3fit(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_scale = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("fit (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_scale,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)__pyx_int_1);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_scale);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "fit") < 0)) __PYX_ERR(0, 2648, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_scale = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("fit", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2648, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ErdosRenyiGenerator.fit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 2648, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19ErdosRenyiGenerator_2fit(((PyTypeObject*)__pyx_v_cls), __pyx_v_G, __pyx_v_scale);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19ErdosRenyiGenerator_2fit(PyTypeObject *__pyx_v_cls, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_scale) {
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_v_m = NULL;
  PyObject *__pyx_v_p = 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)(PyObject *);
  int __pyx_t_6;
  __Pyx_RefNannySetupContext("fit", 0);

  /* "networkit/_NetworKit.pyx":2650
 * 	def fit(cls, Graph G, scale=1):
 * 		""" Fit model to input graph"""
 * 		(n, m) = GraphTools.size(G)             # <<<<<<<<<<<<<<
 * 		if G.isDirected():
 * 			raise Exception("TODO: figure out scaling scheme for directed graphs")
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools), __pyx_n_s_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, ((PyObject *)__pyx_v_G)) : __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_G));
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  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(0, 2650, __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_t_3 = PyTuple_GET_ITEM(sequence, 1); 
    } else {
      __pyx_t_2 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_3 = PyList_GET_ITEM(sequence, 1); 
    }
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    #else
    __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2650, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2650, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #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(0, 2650, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_5 = Py_TYPE(__pyx_t_4)->tp_iternext;
    index = 0; __pyx_t_2 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_2);
    index = 1; __pyx_t_3 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_3)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_5(__pyx_t_4), 2) < 0) __PYX_ERR(0, 2650, __pyx_L1_error)
    __pyx_t_5 = NULL;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    goto __pyx_L4_unpacking_done;
    __pyx_L3_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_5 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(0, 2650, __pyx_L1_error)
    __pyx_L4_unpacking_done:;
  }
  __pyx_v_n = __pyx_t_2;
  __pyx_t_2 = 0;
  __pyx_v_m = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "networkit/_NetworKit.pyx":2651
 * 		""" Fit model to input graph"""
 * 		(n, m) = GraphTools.size(G)
 * 		if G.isDirected():             # <<<<<<<<<<<<<<
 * 			raise Exception("TODO: figure out scaling scheme for directed graphs")
 * 		else:
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_G), __pyx_n_s_isDirected); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2651, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2651, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 2651, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(__pyx_t_6)) {

    /* "networkit/_NetworKit.pyx":2652
 * 		(n, m) = GraphTools.size(G)
 * 		if G.isDirected():
 * 			raise Exception("TODO: figure out scaling scheme for directed graphs")             # <<<<<<<<<<<<<<
 * 		else:
 * 			p = (2 * m) / (scale * n * (n-1))
 */
    __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__61, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2652, __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(0, 2652, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":2651
 * 		""" Fit model to input graph"""
 * 		(n, m) = GraphTools.size(G)
 * 		if G.isDirected():             # <<<<<<<<<<<<<<
 * 			raise Exception("TODO: figure out scaling scheme for directed graphs")
 * 		else:
 */
  }

  /* "networkit/_NetworKit.pyx":2654
 * 			raise Exception("TODO: figure out scaling scheme for directed graphs")
 * 		else:
 * 			p = (2 * m) / (scale * n * (n-1))             # <<<<<<<<<<<<<<
 * 		return cls(scale * n, p)
 * 
 */
  /*else*/ {
    __pyx_t_1 = PyNumber_Multiply(__pyx_int_2, __pyx_v_m); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2654, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = PyNumber_Multiply(__pyx_v_scale, __pyx_v_n); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2654, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_v_n, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2654, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2654, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2654, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_p = __pyx_t_2;
    __pyx_t_2 = 0;
  }

  /* "networkit/_NetworKit.pyx":2655
 * 		else:
 * 			p = (2 * m) / (scale * n * (n-1))
 * 		return cls(scale * n, p)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/generators/DorogovtsevMendesGenerator.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyNumber_Multiply(__pyx_v_scale, __pyx_v_n); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
  __Pyx_INCREF(__pyx_v_p);
  __Pyx_GIVEREF(__pyx_v_p);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_p);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_v_cls), __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2655, __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;

  /* "networkit/_NetworKit.pyx":2648
 * 
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1):             # <<<<<<<<<<<<<<
 * 		""" Fit model to input graph"""
 * 		(n, m) = GraphTools.size(G)
 */

  /* 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("networkit._NetworKit.ErdosRenyiGenerator.fit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XDECREF(__pyx_v_m);
  __Pyx_XDECREF(__pyx_v_p);
  __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_9networkit_10_NetworKit_19ErdosRenyiGenerator_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ErdosRenyiGenerator_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19ErdosRenyiGenerator_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ErdosRenyiGenerator *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_19ErdosRenyiGenerator_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ErdosRenyiGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__62, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ErdosRenyiGenerator.__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_9networkit_10_NetworKit_19ErdosRenyiGenerator_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ErdosRenyiGenerator_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19ErdosRenyiGenerator_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ErdosRenyiGenerator *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_19ErdosRenyiGenerator_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ErdosRenyiGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__63, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ErdosRenyiGenerator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2675
 * 	"""
 * 
 * 	def __cinit__(self, nNodes):             # <<<<<<<<<<<<<<
 * 		self._this = new _DorogovtsevMendesGenerator(nNodes)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_26DorogovtsevMendesGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_26DorogovtsevMendesGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_nNodes = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_nNodes,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nNodes)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 2675, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_nNodes = values[0];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2675, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DorogovtsevMendesGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26DorogovtsevMendesGenerator___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_DorogovtsevMendesGenerator *)__pyx_v_self), __pyx_v_nNodes);

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

static int __pyx_pf_9networkit_10_NetworKit_26DorogovtsevMendesGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DorogovtsevMendesGenerator *__pyx_v_self, PyObject *__pyx_v_nNodes) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  NetworKit::DorogovtsevMendesGenerator *__pyx_t_2;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":2676
 * 
 * 	def __cinit__(self, nNodes):
 * 		self._this = new _DorogovtsevMendesGenerator(nNodes)             # <<<<<<<<<<<<<<
 * 
 * 	@classmethod
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_nNodes); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2676, __pyx_L1_error)
  try {
    __pyx_t_2 = new NetworKit::DorogovtsevMendesGenerator(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2676, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_2;

  /* "networkit/_NetworKit.pyx":2675
 * 	"""
 * 
 * 	def __cinit__(self, nNodes):             # <<<<<<<<<<<<<<
 * 		self._this = new _DorogovtsevMendesGenerator(nNodes)
 * 
 */

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

/* "networkit/_NetworKit.pyx":2679
 * 
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1):             # <<<<<<<<<<<<<<
 * 		return cls(scale * G.numberOfNodes())
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_26DorogovtsevMendesGenerator_3fit(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_26DorogovtsevMendesGenerator_3fit(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_scale = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("fit (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_scale,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)__pyx_int_1);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_scale);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "fit") < 0)) __PYX_ERR(0, 2679, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_scale = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("fit", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2679, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DorogovtsevMendesGenerator.fit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 2679, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26DorogovtsevMendesGenerator_2fit(((PyTypeObject*)__pyx_v_cls), __pyx_v_G, __pyx_v_scale);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_26DorogovtsevMendesGenerator_2fit(PyTypeObject *__pyx_v_cls, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_scale) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("fit", 0);

  /* "networkit/_NetworKit.pyx":2680
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1):
 * 		return cls(scale * G.numberOfNodes())             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_G), __pyx_n_s_numberOfNodes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Multiply(__pyx_v_scale, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_v_cls), __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2680, __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;

  /* "networkit/_NetworKit.pyx":2679
 * 
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1):             # <<<<<<<<<<<<<<
 * 		return cls(scale * G.numberOfNodes())
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.DorogovtsevMendesGenerator.fit", __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_9networkit_10_NetworKit_26DorogovtsevMendesGenerator_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_26DorogovtsevMendesGenerator_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26DorogovtsevMendesGenerator_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DorogovtsevMendesGenerator *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_26DorogovtsevMendesGenerator_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DorogovtsevMendesGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__64, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DorogovtsevMendesGenerator.__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_9networkit_10_NetworKit_26DorogovtsevMendesGenerator_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_26DorogovtsevMendesGenerator_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26DorogovtsevMendesGenerator_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DorogovtsevMendesGenerator *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_26DorogovtsevMendesGenerator_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DorogovtsevMendesGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__65, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DorogovtsevMendesGenerator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2702
 * 	"""
 * 
 * 	def __cinit__(self, nNodes, nNeighbors):             # <<<<<<<<<<<<<<
 * 		self._this = new _RegularRingLatticeGenerator(nNodes, nNeighbors)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_27RegularRingLatticeGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_27RegularRingLatticeGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_nNodes = 0;
  PyObject *__pyx_v_nNeighbors = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_nNodes,&__pyx_n_s_nNeighbors,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nNodes)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nNeighbors)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); __PYX_ERR(0, 2702, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 2702, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_nNodes = values[0];
    __pyx_v_nNeighbors = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2702, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.RegularRingLatticeGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27RegularRingLatticeGenerator___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_RegularRingLatticeGenerator *)__pyx_v_self), __pyx_v_nNodes, __pyx_v_nNeighbors);

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

static int __pyx_pf_9networkit_10_NetworKit_27RegularRingLatticeGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_RegularRingLatticeGenerator *__pyx_v_self, PyObject *__pyx_v_nNodes, PyObject *__pyx_v_nNeighbors) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_2;
  NetworKit::RegularRingLatticeGenerator *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":2703
 * 
 * 	def __cinit__(self, nNodes, nNeighbors):
 * 		self._this = new _RegularRingLatticeGenerator(nNodes, nNeighbors)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_nNodes); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2703, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_nNeighbors); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2703, __pyx_L1_error)
  try {
    __pyx_t_3 = new NetworKit::RegularRingLatticeGenerator(__pyx_t_1, __pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2703, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_3;

  /* "networkit/_NetworKit.pyx":2702
 * 	"""
 * 
 * 	def __cinit__(self, nNodes, nNeighbors):             # <<<<<<<<<<<<<<
 * 		self._this = new _RegularRingLatticeGenerator(nNodes, nNeighbors)
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.RegularRingLatticeGenerator.__cinit__", __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_9networkit_10_NetworKit_27RegularRingLatticeGenerator_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_27RegularRingLatticeGenerator_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27RegularRingLatticeGenerator_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_RegularRingLatticeGenerator *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_27RegularRingLatticeGenerator_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_RegularRingLatticeGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__66, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.RegularRingLatticeGenerator.__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_9networkit_10_NetworKit_27RegularRingLatticeGenerator_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_27RegularRingLatticeGenerator_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27RegularRingLatticeGenerator_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_RegularRingLatticeGenerator *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_27RegularRingLatticeGenerator_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_RegularRingLatticeGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__67, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.RegularRingLatticeGenerator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2728
 * 	"""
 * 
 * 	def __cinit__(self, nNodes, nNeighbors, p):             # <<<<<<<<<<<<<<
 * 		self._this = new _WattsStrogatzGenerator(nNodes, nNeighbors, p)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_22WattsStrogatzGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_22WattsStrogatzGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_nNodes = 0;
  PyObject *__pyx_v_nNeighbors = 0;
  PyObject *__pyx_v_p = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_nNodes,&__pyx_n_s_nNeighbors,&__pyx_n_s_p,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nNodes)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nNeighbors)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 1); __PYX_ERR(0, 2728, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_p)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 2); __PYX_ERR(0, 2728, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 2728, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_nNodes = values[0];
    __pyx_v_nNeighbors = values[1];
    __pyx_v_p = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2728, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.WattsStrogatzGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22WattsStrogatzGenerator___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_WattsStrogatzGenerator *)__pyx_v_self), __pyx_v_nNodes, __pyx_v_nNeighbors, __pyx_v_p);

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

static int __pyx_pf_9networkit_10_NetworKit_22WattsStrogatzGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_WattsStrogatzGenerator *__pyx_v_self, PyObject *__pyx_v_nNodes, PyObject *__pyx_v_nNeighbors, PyObject *__pyx_v_p) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_2;
  double __pyx_t_3;
  NetworKit::WattsStrogatzGenerator *__pyx_t_4;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":2729
 * 
 * 	def __cinit__(self, nNodes, nNeighbors, p):
 * 		self._this = new _WattsStrogatzGenerator(nNodes, nNeighbors, p)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_nNodes); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2729, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_nNeighbors); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2729, __pyx_L1_error)
  __pyx_t_3 = __pyx_PyFloat_AsDouble(__pyx_v_p); if (unlikely((__pyx_t_3 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2729, __pyx_L1_error)
  try {
    __pyx_t_4 = new NetworKit::WattsStrogatzGenerator(__pyx_t_1, __pyx_t_2, __pyx_t_3);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2729, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_4;

  /* "networkit/_NetworKit.pyx":2728
 * 	"""
 * 
 * 	def __cinit__(self, nNodes, nNeighbors, p):             # <<<<<<<<<<<<<<
 * 		self._this = new _WattsStrogatzGenerator(nNodes, nNeighbors, p)
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.WattsStrogatzGenerator.__cinit__", __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_9networkit_10_NetworKit_22WattsStrogatzGenerator_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_22WattsStrogatzGenerator_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22WattsStrogatzGenerator_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_WattsStrogatzGenerator *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22WattsStrogatzGenerator_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_WattsStrogatzGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__68, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.WattsStrogatzGenerator.__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_9networkit_10_NetworKit_22WattsStrogatzGenerator_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_22WattsStrogatzGenerator_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22WattsStrogatzGenerator_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_WattsStrogatzGenerator *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22WattsStrogatzGenerator_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_WattsStrogatzGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__69, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.WattsStrogatzGenerator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2760
 * 	"""
 * 
 * 	def __cinit__(self, n, k, pin, pout):             # <<<<<<<<<<<<<<
 * 		self._this = new _ClusteredRandomGraphGenerator(n, k, pin, pout)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_29ClusteredRandomGraphGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_29ClusteredRandomGraphGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_n = 0;
  PyObject *__pyx_v_k = 0;
  PyObject *__pyx_v_pin = 0;
  PyObject *__pyx_v_pout = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,&__pyx_n_s_k,&__pyx_n_s_pin,&__pyx_n_s_pout,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 4, 4, 1); __PYX_ERR(0, 2760, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pin)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 4, 4, 2); __PYX_ERR(0, 2760, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pout)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 4, 4, 3); __PYX_ERR(0, 2760, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 2760, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_n = values[0];
    __pyx_v_k = values[1];
    __pyx_v_pin = values[2];
    __pyx_v_pout = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2760, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ClusteredRandomGraphGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29ClusteredRandomGraphGenerator___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_ClusteredRandomGraphGenerator *)__pyx_v_self), __pyx_v_n, __pyx_v_k, __pyx_v_pin, __pyx_v_pout);

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

static int __pyx_pf_9networkit_10_NetworKit_29ClusteredRandomGraphGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ClusteredRandomGraphGenerator *__pyx_v_self, PyObject *__pyx_v_n, PyObject *__pyx_v_k, PyObject *__pyx_v_pin, PyObject *__pyx_v_pout) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_2;
  double __pyx_t_3;
  double __pyx_t_4;
  NetworKit::ClusteredRandomGraphGenerator *__pyx_t_5;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":2761
 * 
 * 	def __cinit__(self, n, k, pin, pout):
 * 		self._this = new _ClusteredRandomGraphGenerator(n, k, pin, pout)             # <<<<<<<<<<<<<<
 * 
 * 	def getCommunities(self):
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_n); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2761, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_k); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2761, __pyx_L1_error)
  __pyx_t_3 = __pyx_PyFloat_AsDouble(__pyx_v_pin); if (unlikely((__pyx_t_3 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2761, __pyx_L1_error)
  __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_v_pout); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2761, __pyx_L1_error)
  try {
    __pyx_t_5 = new NetworKit::ClusteredRandomGraphGenerator(__pyx_t_1, __pyx_t_2, __pyx_t_3, __pyx_t_4);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2761, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_5;

  /* "networkit/_NetworKit.pyx":2760
 * 	"""
 * 
 * 	def __cinit__(self, n, k, pin, pout):             # <<<<<<<<<<<<<<
 * 		self._this = new _ClusteredRandomGraphGenerator(n, k, pin, pout)
 * 
 */

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

/* "networkit/_NetworKit.pyx":2763
 * 		self._this = new _ClusteredRandomGraphGenerator(n, k, pin, pout)
 * 
 * 	def getCommunities(self):             # <<<<<<<<<<<<<<
 * 		""" Returns the generated ground truth clustering.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_29ClusteredRandomGraphGenerator_3getCommunities(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_29ClusteredRandomGraphGenerator_2getCommunities[] = " Returns the generated ground truth clustering.\n\n\t\tReturns\n\t\t-------\n\t\tnetworkit.Partition\n\t\t\tThe generated ground truth clustering.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_29ClusteredRandomGraphGenerator_3getCommunities(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getCommunities (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29ClusteredRandomGraphGenerator_2getCommunities(((struct __pyx_obj_9networkit_10_NetworKit_ClusteredRandomGraphGenerator *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_29ClusteredRandomGraphGenerator_2getCommunities(struct __pyx_obj_9networkit_10_NetworKit_ClusteredRandomGraphGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Partition __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("getCommunities", 0);

  /* "networkit/_NetworKit.pyx":2771
 * 			The generated ground truth clustering.
 * 		"""
 * 		return Partition().setThis((<_ClusteredRandomGraphGenerator*>(self._this)).getCommunities())             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Partition)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2771, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = ((NetworKit::ClusteredRandomGraphGenerator *)__pyx_v_self->__pyx_base._this)->getCommunities();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2771, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Partition *)((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2771, __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;

  /* "networkit/_NetworKit.pyx":2763
 * 		self._this = new _ClusteredRandomGraphGenerator(n, k, pin, pout)
 * 
 * 	def getCommunities(self):             # <<<<<<<<<<<<<<
 * 		""" Returns the generated ground truth clustering.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.ClusteredRandomGraphGenerator.getCommunities", __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_9networkit_10_NetworKit_29ClusteredRandomGraphGenerator_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_29ClusteredRandomGraphGenerator_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29ClusteredRandomGraphGenerator_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ClusteredRandomGraphGenerator *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_29ClusteredRandomGraphGenerator_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ClusteredRandomGraphGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__70, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ClusteredRandomGraphGenerator.__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_9networkit_10_NetworKit_29ClusteredRandomGraphGenerator_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_29ClusteredRandomGraphGenerator_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29ClusteredRandomGraphGenerator_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ClusteredRandomGraphGenerator *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_29ClusteredRandomGraphGenerator_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ClusteredRandomGraphGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__71, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ClusteredRandomGraphGenerator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2790
 * 	"""
 * 
 * 	def __cinit__(self, vector[count] degreeSequence):             # <<<<<<<<<<<<<<
 * 		self._this = new _ChungLuGenerator(degreeSequence)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_16ChungLuGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_16ChungLuGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_degreeSequence;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_degreeSequence,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_degreeSequence)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 2790, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_degreeSequence = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_count(values[0]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2790, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2790, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ChungLuGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16ChungLuGenerator___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_ChungLuGenerator *)__pyx_v_self), __pyx_v_degreeSequence);

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

static int __pyx_pf_9networkit_10_NetworKit_16ChungLuGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ChungLuGenerator *__pyx_v_self, std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_degreeSequence) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::ChungLuGenerator *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":2791
 * 
 * 	def __cinit__(self, vector[count] degreeSequence):
 * 		self._this = new _ChungLuGenerator(degreeSequence)             # <<<<<<<<<<<<<<
 * 
 * 	@classmethod
 */
  try {
    __pyx_t_1 = new NetworKit::ChungLuGenerator(__pyx_v_degreeSequence);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2791, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":2790
 * 	"""
 * 
 * 	def __cinit__(self, vector[count] degreeSequence):             # <<<<<<<<<<<<<<
 * 		self._this = new _ChungLuGenerator(degreeSequence)
 * 
 */

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

/* "networkit/_NetworKit.pyx":2794
 * 
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1):             # <<<<<<<<<<<<<<
 * 		""" Fit model to input graph"""
 * 		(n, m) = GraphTools.size(G)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_16ChungLuGenerator_3fit(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_16ChungLuGenerator_2fit[] = " Fit model to input graph";
static PyObject *__pyx_pw_9networkit_10_NetworKit_16ChungLuGenerator_3fit(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_scale = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("fit (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_scale,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)__pyx_int_1);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_scale);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "fit") < 0)) __PYX_ERR(0, 2794, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_scale = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("fit", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2794, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ChungLuGenerator.fit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 2794, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16ChungLuGenerator_2fit(((PyTypeObject*)__pyx_v_cls), __pyx_v_G, __pyx_v_scale);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_16ChungLuGenerator_2fit(PyTypeObject *__pyx_v_cls, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_scale) {
  CYTHON_UNUSED PyObject *__pyx_v_n = NULL;
  CYTHON_UNUSED PyObject *__pyx_v_m = NULL;
  PyObject *__pyx_v_degSeq = 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)(PyObject *);
  __Pyx_RefNannySetupContext("fit", 0);

  /* "networkit/_NetworKit.pyx":2796
 * 	def fit(cls, Graph G, scale=1):
 * 		""" Fit model to input graph"""
 * 		(n, m) = GraphTools.size(G)             # <<<<<<<<<<<<<<
 * 		degSeq = DegreeCentrality(G).run().scores()
 * 		return cls(degSeq * scale)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools), __pyx_n_s_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, ((PyObject *)__pyx_v_G)) : __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_G));
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  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(0, 2796, __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_t_3 = PyTuple_GET_ITEM(sequence, 1); 
    } else {
      __pyx_t_2 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_3 = PyList_GET_ITEM(sequence, 1); 
    }
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    #else
    __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2796, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2796, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #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(0, 2796, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_5 = Py_TYPE(__pyx_t_4)->tp_iternext;
    index = 0; __pyx_t_2 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_2);
    index = 1; __pyx_t_3 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_3)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_5(__pyx_t_4), 2) < 0) __PYX_ERR(0, 2796, __pyx_L1_error)
    __pyx_t_5 = NULL;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    goto __pyx_L4_unpacking_done;
    __pyx_L3_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_5 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(0, 2796, __pyx_L1_error)
    __pyx_L4_unpacking_done:;
  }
  __pyx_v_n = __pyx_t_2;
  __pyx_t_2 = 0;
  __pyx_v_m = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "networkit/_NetworKit.pyx":2797
 * 		""" Fit model to input graph"""
 * 		(n, m) = GraphTools.size(G)
 * 		degSeq = DegreeCentrality(G).run().scores()             # <<<<<<<<<<<<<<
 * 		return cls(degSeq * scale)
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_DegreeCentrality), ((PyObject *)__pyx_v_G)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_run); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_scores); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_degSeq = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":2798
 * 		(n, m) = GraphTools.size(G)
 * 		degSeq = DegreeCentrality(G).run().scores()
 * 		return cls(degSeq * scale)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyNumber_Multiply(__pyx_v_degSeq, __pyx_v_scale); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2798, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_v_cls), __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2798, __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;

  /* "networkit/_NetworKit.pyx":2794
 * 
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1):             # <<<<<<<<<<<<<<
 * 		""" Fit model to input graph"""
 * 		(n, m) = GraphTools.size(G)
 */

  /* 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("networkit._NetworKit.ChungLuGenerator.fit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XDECREF(__pyx_v_m);
  __Pyx_XDECREF(__pyx_v_degSeq);
  __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_9networkit_10_NetworKit_16ChungLuGenerator_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_16ChungLuGenerator_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16ChungLuGenerator_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ChungLuGenerator *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_16ChungLuGenerator_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ChungLuGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__72, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ChungLuGenerator.__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_9networkit_10_NetworKit_16ChungLuGenerator_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_16ChungLuGenerator_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16ChungLuGenerator_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ChungLuGenerator *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_16ChungLuGenerator_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ChungLuGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__73, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ChungLuGenerator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2828
 * 	"""
 * 
 * 	def __cinit__(self, vector[count] degreeSequence, ignoreIfRealizable=True):             # <<<<<<<<<<<<<<
 * 		self._this = new _HavelHakimiGenerator(degreeSequence, ignoreIfRealizable)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_20HavelHakimiGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_20HavelHakimiGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_degreeSequence;
  PyObject *__pyx_v_ignoreIfRealizable = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_degreeSequence,&__pyx_n_s_ignoreIfRealizable,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)Py_True);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_degreeSequence)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ignoreIfRealizable);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 2828, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_degreeSequence = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_count(values[0]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2828, __pyx_L3_error)
    __pyx_v_ignoreIfRealizable = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2828, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.HavelHakimiGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20HavelHakimiGenerator___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_HavelHakimiGenerator *)__pyx_v_self), __pyx_v_degreeSequence, __pyx_v_ignoreIfRealizable);

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

static int __pyx_pf_9networkit_10_NetworKit_20HavelHakimiGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_HavelHakimiGenerator *__pyx_v_self, std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_degreeSequence, PyObject *__pyx_v_ignoreIfRealizable) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  NetworKit::HavelHakimiGenerator *__pyx_t_2;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":2829
 * 
 * 	def __cinit__(self, vector[count] degreeSequence, ignoreIfRealizable=True):
 * 		self._this = new _HavelHakimiGenerator(degreeSequence, ignoreIfRealizable)             # <<<<<<<<<<<<<<
 * 
 * 	def isRealizable(self):
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_ignoreIfRealizable); if (unlikely((__pyx_t_1 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2829, __pyx_L1_error)
  try {
    __pyx_t_2 = new NetworKit::HavelHakimiGenerator(__pyx_v_degreeSequence, __pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2829, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_2;

  /* "networkit/_NetworKit.pyx":2828
 * 	"""
 * 
 * 	def __cinit__(self, vector[count] degreeSequence, ignoreIfRealizable=True):             # <<<<<<<<<<<<<<
 * 		self._this = new _HavelHakimiGenerator(degreeSequence, ignoreIfRealizable)
 * 
 */

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

/* "networkit/_NetworKit.pyx":2831
 * 		self._this = new _HavelHakimiGenerator(degreeSequence, ignoreIfRealizable)
 * 
 * 	def isRealizable(self):             # <<<<<<<<<<<<<<
 * 		return (<_HavelHakimiGenerator*>(self._this)).isRealizable()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20HavelHakimiGenerator_3isRealizable(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20HavelHakimiGenerator_3isRealizable(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isRealizable (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20HavelHakimiGenerator_2isRealizable(((struct __pyx_obj_9networkit_10_NetworKit_HavelHakimiGenerator *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20HavelHakimiGenerator_2isRealizable(struct __pyx_obj_9networkit_10_NetworKit_HavelHakimiGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("isRealizable", 0);

  /* "networkit/_NetworKit.pyx":2832
 * 
 * 	def isRealizable(self):
 * 		return (<_HavelHakimiGenerator*>(self._this)).isRealizable()             # <<<<<<<<<<<<<<
 * 
 * 	def getRealizable(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::HavelHakimiGenerator *)__pyx_v_self->__pyx_base._this)->isRealizable();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2832, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2832, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":2831
 * 		self._this = new _HavelHakimiGenerator(degreeSequence, ignoreIfRealizable)
 * 
 * 	def isRealizable(self):             # <<<<<<<<<<<<<<
 * 		return (<_HavelHakimiGenerator*>(self._this)).isRealizable()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.HavelHakimiGenerator.isRealizable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2834
 * 		return (<_HavelHakimiGenerator*>(self._this)).isRealizable()
 * 
 * 	def getRealizable(self):             # <<<<<<<<<<<<<<
 * 		return (<_HavelHakimiGenerator*>(self._this)).getRealizable()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20HavelHakimiGenerator_5getRealizable(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20HavelHakimiGenerator_5getRealizable(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getRealizable (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20HavelHakimiGenerator_4getRealizable(((struct __pyx_obj_9networkit_10_NetworKit_HavelHakimiGenerator *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20HavelHakimiGenerator_4getRealizable(struct __pyx_obj_9networkit_10_NetworKit_HavelHakimiGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getRealizable", 0);

  /* "networkit/_NetworKit.pyx":2835
 * 
 * 	def getRealizable(self):
 * 		return (<_HavelHakimiGenerator*>(self._this)).getRealizable()             # <<<<<<<<<<<<<<
 * 
 * 	@classmethod
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::HavelHakimiGenerator *)__pyx_v_self->__pyx_base._this)->getRealizable();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2835, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":2834
 * 		return (<_HavelHakimiGenerator*>(self._this)).isRealizable()
 * 
 * 	def getRealizable(self):             # <<<<<<<<<<<<<<
 * 		return (<_HavelHakimiGenerator*>(self._this)).getRealizable()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.HavelHakimiGenerator.getRealizable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2838
 * 
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1):             # <<<<<<<<<<<<<<
 * 		degSeq = DegreeCentrality(G).run().scores()
 * 		return cls(degSeq * scale, ignoreIfRealizable=True)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20HavelHakimiGenerator_7fit(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20HavelHakimiGenerator_7fit(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_scale = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("fit (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_scale,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)__pyx_int_1);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_scale);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "fit") < 0)) __PYX_ERR(0, 2838, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_scale = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("fit", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2838, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.HavelHakimiGenerator.fit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 2838, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20HavelHakimiGenerator_6fit(((PyTypeObject*)__pyx_v_cls), __pyx_v_G, __pyx_v_scale);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20HavelHakimiGenerator_6fit(PyTypeObject *__pyx_v_cls, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_scale) {
  PyObject *__pyx_v_degSeq = 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;
  __Pyx_RefNannySetupContext("fit", 0);

  /* "networkit/_NetworKit.pyx":2839
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1):
 * 		degSeq = DegreeCentrality(G).run().scores()             # <<<<<<<<<<<<<<
 * 		return cls(degSeq * scale, ignoreIfRealizable=True)
 * 
 */
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_DegreeCentrality), ((PyObject *)__pyx_v_G)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_run); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_scores); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_degSeq = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":2840
 * 	def fit(cls, Graph G, scale=1):
 * 		degSeq = DegreeCentrality(G).run().scores()
 * 		return cls(degSeq * scale, ignoreIfRealizable=True)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/generators/EdgeSwitchingMarkovChainGenerator.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyNumber_Multiply(__pyx_v_degSeq, __pyx_v_scale); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2840, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2840, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2840, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ignoreIfRealizable, Py_True) < 0) __PYX_ERR(0, 2840, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_v_cls), __pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2840, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":2838
 * 
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1):             # <<<<<<<<<<<<<<
 * 		degSeq = DegreeCentrality(G).run().scores()
 * 		return cls(degSeq * scale, ignoreIfRealizable=True)
 */

  /* 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("networkit._NetworKit.HavelHakimiGenerator.fit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_degSeq);
  __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_9networkit_10_NetworKit_20HavelHakimiGenerator_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20HavelHakimiGenerator_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20HavelHakimiGenerator_8__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_HavelHakimiGenerator *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20HavelHakimiGenerator_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_HavelHakimiGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__74, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.HavelHakimiGenerator.__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_9networkit_10_NetworKit_20HavelHakimiGenerator_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20HavelHakimiGenerator_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20HavelHakimiGenerator_10__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_HavelHakimiGenerator *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20HavelHakimiGenerator_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_HavelHakimiGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__75, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.HavelHakimiGenerator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2874
 * 	"""
 * 
 * 	def __cinit__(self, vector[count] degreeSequence, bool_t ignoreIfRealizable = False):             # <<<<<<<<<<<<<<
 * 		self._this = new _EdgeSwitchingMarkovChainGenerator(degreeSequence, ignoreIfRealizable)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_degreeSequence;
  bool __pyx_v_ignoreIfRealizable;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_degreeSequence,&__pyx_n_s_ignoreIfRealizable,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_degreeSequence)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ignoreIfRealizable);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 2874, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_degreeSequence = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_count(values[0]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2874, __pyx_L3_error)
    if (values[1]) {
      __pyx_v_ignoreIfRealizable = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_ignoreIfRealizable == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2874, __pyx_L3_error)
    } else {
      __pyx_v_ignoreIfRealizable = ((bool)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2874, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EdgeSwitchingMarkovChainGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator *)__pyx_v_self), __pyx_v_degreeSequence, __pyx_v_ignoreIfRealizable);

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

static int __pyx_pf_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator *__pyx_v_self, std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_degreeSequence, bool __pyx_v_ignoreIfRealizable) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::EdgeSwitchingMarkovChainGenerator *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":2875
 * 
 * 	def __cinit__(self, vector[count] degreeSequence, bool_t ignoreIfRealizable = False):
 * 		self._this = new _EdgeSwitchingMarkovChainGenerator(degreeSequence, ignoreIfRealizable)             # <<<<<<<<<<<<<<
 * 
 * 	def isRealizable(self):
 */
  try {
    __pyx_t_1 = new NetworKit::EdgeSwitchingMarkovChainGenerator(__pyx_v_degreeSequence, __pyx_v_ignoreIfRealizable);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2875, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":2874
 * 	"""
 * 
 * 	def __cinit__(self, vector[count] degreeSequence, bool_t ignoreIfRealizable = False):             # <<<<<<<<<<<<<<
 * 		self._this = new _EdgeSwitchingMarkovChainGenerator(degreeSequence, ignoreIfRealizable)
 * 
 */

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

/* "networkit/_NetworKit.pyx":2877
 * 		self._this = new _EdgeSwitchingMarkovChainGenerator(degreeSequence, ignoreIfRealizable)
 * 
 * 	def isRealizable(self):             # <<<<<<<<<<<<<<
 * 		return (<_EdgeSwitchingMarkovChainGenerator*>(self._this)).isRealizable()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_3isRealizable(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_3isRealizable(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isRealizable (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_2isRealizable(((struct __pyx_obj_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_2isRealizable(struct __pyx_obj_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("isRealizable", 0);

  /* "networkit/_NetworKit.pyx":2878
 * 
 * 	def isRealizable(self):
 * 		return (<_EdgeSwitchingMarkovChainGenerator*>(self._this)).isRealizable()             # <<<<<<<<<<<<<<
 * 
 * 	def getRealizable(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::EdgeSwitchingMarkovChainGenerator *)__pyx_v_self->__pyx_base._this)->isRealizable();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2878, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2878, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":2877
 * 		self._this = new _EdgeSwitchingMarkovChainGenerator(degreeSequence, ignoreIfRealizable)
 * 
 * 	def isRealizable(self):             # <<<<<<<<<<<<<<
 * 		return (<_EdgeSwitchingMarkovChainGenerator*>(self._this)).isRealizable()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeSwitchingMarkovChainGenerator.isRealizable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2880
 * 		return (<_EdgeSwitchingMarkovChainGenerator*>(self._this)).isRealizable()
 * 
 * 	def getRealizable(self):             # <<<<<<<<<<<<<<
 * 		return (<_EdgeSwitchingMarkovChainGenerator*>(self._this)).getRealizable()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_5getRealizable(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_5getRealizable(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getRealizable (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_4getRealizable(((struct __pyx_obj_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_4getRealizable(struct __pyx_obj_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getRealizable", 0);

  /* "networkit/_NetworKit.pyx":2881
 * 
 * 	def getRealizable(self):
 * 		return (<_EdgeSwitchingMarkovChainGenerator*>(self._this)).getRealizable()             # <<<<<<<<<<<<<<
 * 
 * 	@classmethod
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::EdgeSwitchingMarkovChainGenerator *)__pyx_v_self->__pyx_base._this)->getRealizable();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2881, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":2880
 * 		return (<_EdgeSwitchingMarkovChainGenerator*>(self._this)).isRealizable()
 * 
 * 	def getRealizable(self):             # <<<<<<<<<<<<<<
 * 		return (<_EdgeSwitchingMarkovChainGenerator*>(self._this)).getRealizable()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeSwitchingMarkovChainGenerator.getRealizable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2884
 * 
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1):             # <<<<<<<<<<<<<<
 * 		degSeq = DegreeCentrality(G).run().scores()
 * 		return cls(degSeq * scale, ignoreIfRealizable=True)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_7fit(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_7fit(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_scale = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("fit (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_scale,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)__pyx_int_1);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_scale);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "fit") < 0)) __PYX_ERR(0, 2884, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_scale = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("fit", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2884, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EdgeSwitchingMarkovChainGenerator.fit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 2884, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_6fit(((PyTypeObject*)__pyx_v_cls), __pyx_v_G, __pyx_v_scale);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_6fit(PyTypeObject *__pyx_v_cls, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_scale) {
  PyObject *__pyx_v_degSeq = 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;
  __Pyx_RefNannySetupContext("fit", 0);

  /* "networkit/_NetworKit.pyx":2885
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1):
 * 		degSeq = DegreeCentrality(G).run().scores()             # <<<<<<<<<<<<<<
 * 		return cls(degSeq * scale, ignoreIfRealizable=True)
 * 
 */
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_DegreeCentrality), ((PyObject *)__pyx_v_G)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_run); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_scores); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_degSeq = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":2886
 * 	def fit(cls, Graph G, scale=1):
 * 		degSeq = DegreeCentrality(G).run().scores()
 * 		return cls(degSeq * scale, ignoreIfRealizable=True)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyNumber_Multiply(__pyx_v_degSeq, __pyx_v_scale); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2886, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2886, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2886, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ignoreIfRealizable, Py_True) < 0) __PYX_ERR(0, 2886, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_v_cls), __pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2886, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":2884
 * 
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1):             # <<<<<<<<<<<<<<
 * 		degSeq = DegreeCentrality(G).run().scores()
 * 		return cls(degSeq * scale, ignoreIfRealizable=True)
 */

  /* 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("networkit._NetworKit.EdgeSwitchingMarkovChainGenerator.fit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_degSeq);
  __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_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_8__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__76, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeSwitchingMarkovChainGenerator.__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_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_10__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__77, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeSwitchingMarkovChainGenerator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2918
 * 	"""
 * 
 * 	def __cinit__(self,  n, k=6, gamma=3, T=0):             # <<<<<<<<<<<<<<
 * 		if gamma <= 2:
 * 				raise ValueError("Exponent of power-law degree distribution must be > 2")
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_19HyperbolicGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_19HyperbolicGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_n = 0;
  PyObject *__pyx_v_k = 0;
  PyObject *__pyx_v_gamma = 0;
  PyObject *__pyx_v_T = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,&__pyx_n_s_k,&__pyx_n_s_gamma,&__pyx_n_s_T,0};
    PyObject* values[4] = {0,0,0,0};
    values[1] = ((PyObject *)__pyx_int_6);
    values[2] = ((PyObject *)__pyx_int_3);
    values[3] = ((PyObject *)__pyx_int_0);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_gamma);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_T);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 2918, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_n = values[0];
    __pyx_v_k = values[1];
    __pyx_v_gamma = values[2];
    __pyx_v_T = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2918, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.HyperbolicGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator *)__pyx_v_self), __pyx_v_n, __pyx_v_k, __pyx_v_gamma, __pyx_v_T);

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

static int __pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator *__pyx_v_self, PyObject *__pyx_v_n, PyObject *__pyx_v_k, PyObject *__pyx_v_gamma, PyObject *__pyx_v_T) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_3;
  double __pyx_t_4;
  double __pyx_t_5;
  double __pyx_t_6;
  NetworKit::HyperbolicGenerator *__pyx_t_7;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":2919
 * 
 * 	def __cinit__(self,  n, k=6, gamma=3, T=0):
 * 		if gamma <= 2:             # <<<<<<<<<<<<<<
 * 				raise ValueError("Exponent of power-law degree distribution must be > 2")
 * 		self._this = new _HyperbolicGenerator(n, k, gamma, T)
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_gamma, __pyx_int_2, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2919, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 2919, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(__pyx_t_2)) {

    /* "networkit/_NetworKit.pyx":2920
 * 	def __cinit__(self,  n, k=6, gamma=3, T=0):
 * 		if gamma <= 2:
 * 				raise ValueError("Exponent of power-law degree distribution must be > 2")             # <<<<<<<<<<<<<<
 * 		self._this = new _HyperbolicGenerator(n, k, gamma, T)
 * 
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__78, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2920, __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(0, 2920, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":2919
 * 
 * 	def __cinit__(self,  n, k=6, gamma=3, T=0):
 * 		if gamma <= 2:             # <<<<<<<<<<<<<<
 * 				raise ValueError("Exponent of power-law degree distribution must be > 2")
 * 		self._this = new _HyperbolicGenerator(n, k, gamma, T)
 */
  }

  /* "networkit/_NetworKit.pyx":2921
 * 		if gamma <= 2:
 * 				raise ValueError("Exponent of power-law degree distribution must be > 2")
 * 		self._this = new _HyperbolicGenerator(n, k, gamma, T)             # <<<<<<<<<<<<<<
 * 
 * 	def setLeafCapacity(self, capacity):
 */
  __pyx_t_3 = __Pyx_PyInt_As_uint64_t(__pyx_v_n); if (unlikely((__pyx_t_3 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2921, __pyx_L1_error)
  __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_v_k); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2921, __pyx_L1_error)
  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_v_gamma); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2921, __pyx_L1_error)
  __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_v_T); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2921, __pyx_L1_error)
  try {
    __pyx_t_7 = new NetworKit::HyperbolicGenerator(__pyx_t_3, __pyx_t_4, __pyx_t_5, __pyx_t_6);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2921, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_7;

  /* "networkit/_NetworKit.pyx":2918
 * 	"""
 * 
 * 	def __cinit__(self,  n, k=6, gamma=3, T=0):             # <<<<<<<<<<<<<<
 * 		if gamma <= 2:
 * 				raise ValueError("Exponent of power-law degree distribution must be > 2")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.HyperbolicGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2923
 * 		self._this = new _HyperbolicGenerator(n, k, gamma, T)
 * 
 * 	def setLeafCapacity(self, capacity):             # <<<<<<<<<<<<<<
 * 		(<_HyperbolicGenerator*>(self._this)).setLeafCapacity(capacity)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19HyperbolicGenerator_3setLeafCapacity(PyObject *__pyx_v_self, PyObject *__pyx_v_capacity); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19HyperbolicGenerator_3setLeafCapacity(PyObject *__pyx_v_self, PyObject *__pyx_v_capacity) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setLeafCapacity (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator_2setLeafCapacity(((struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator *)__pyx_v_self), ((PyObject *)__pyx_v_capacity));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator_2setLeafCapacity(struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator *__pyx_v_self, PyObject *__pyx_v_capacity) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  __Pyx_RefNannySetupContext("setLeafCapacity", 0);

  /* "networkit/_NetworKit.pyx":2924
 * 
 * 	def setLeafCapacity(self, capacity):
 * 		(<_HyperbolicGenerator*>(self._this)).setLeafCapacity(capacity)             # <<<<<<<<<<<<<<
 * 
 * 	def setBalance(self, balance):
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_capacity); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2924, __pyx_L1_error)
  try {
    ((NetworKit::HyperbolicGenerator *)__pyx_v_self->__pyx_base._this)->setLeafCapacity(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2924, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":2923
 * 		self._this = new _HyperbolicGenerator(n, k, gamma, T)
 * 
 * 	def setLeafCapacity(self, capacity):             # <<<<<<<<<<<<<<
 * 		(<_HyperbolicGenerator*>(self._this)).setLeafCapacity(capacity)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.HyperbolicGenerator.setLeafCapacity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2926
 * 		(<_HyperbolicGenerator*>(self._this)).setLeafCapacity(capacity)
 * 
 * 	def setBalance(self, balance):             # <<<<<<<<<<<<<<
 * 		(<_HyperbolicGenerator*>(self._this)).setBalance(balance)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19HyperbolicGenerator_5setBalance(PyObject *__pyx_v_self, PyObject *__pyx_v_balance); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19HyperbolicGenerator_5setBalance(PyObject *__pyx_v_self, PyObject *__pyx_v_balance) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setBalance (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator_4setBalance(((struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator *)__pyx_v_self), ((PyObject *)__pyx_v_balance));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator_4setBalance(struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator *__pyx_v_self, PyObject *__pyx_v_balance) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  __Pyx_RefNannySetupContext("setBalance", 0);

  /* "networkit/_NetworKit.pyx":2927
 * 
 * 	def setBalance(self, balance):
 * 		(<_HyperbolicGenerator*>(self._this)).setBalance(balance)             # <<<<<<<<<<<<<<
 * 
 * 	def setTheoreticalSplit(self, theoreticalSplit):
 */
  __pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_balance); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2927, __pyx_L1_error)
  try {
    ((NetworKit::HyperbolicGenerator *)__pyx_v_self->__pyx_base._this)->setBalance(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2927, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":2926
 * 		(<_HyperbolicGenerator*>(self._this)).setLeafCapacity(capacity)
 * 
 * 	def setBalance(self, balance):             # <<<<<<<<<<<<<<
 * 		(<_HyperbolicGenerator*>(self._this)).setBalance(balance)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.HyperbolicGenerator.setBalance", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2929
 * 		(<_HyperbolicGenerator*>(self._this)).setBalance(balance)
 * 
 * 	def setTheoreticalSplit(self, theoreticalSplit):             # <<<<<<<<<<<<<<
 * 		(<_HyperbolicGenerator*>(self._this)).setTheoreticalSplit(theoreticalSplit)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19HyperbolicGenerator_7setTheoreticalSplit(PyObject *__pyx_v_self, PyObject *__pyx_v_theoreticalSplit); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19HyperbolicGenerator_7setTheoreticalSplit(PyObject *__pyx_v_self, PyObject *__pyx_v_theoreticalSplit) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setTheoreticalSplit (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator_6setTheoreticalSplit(((struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator *)__pyx_v_self), ((PyObject *)__pyx_v_theoreticalSplit));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator_6setTheoreticalSplit(struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator *__pyx_v_self, PyObject *__pyx_v_theoreticalSplit) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  __Pyx_RefNannySetupContext("setTheoreticalSplit", 0);

  /* "networkit/_NetworKit.pyx":2930
 * 
 * 	def setTheoreticalSplit(self, theoreticalSplit):
 * 		(<_HyperbolicGenerator*>(self._this)).setTheoreticalSplit(theoreticalSplit)             # <<<<<<<<<<<<<<
 * 
 * 	def getElapsedMilliseconds(self):
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_theoreticalSplit); if (unlikely((__pyx_t_1 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2930, __pyx_L1_error)
  try {
    ((NetworKit::HyperbolicGenerator *)__pyx_v_self->__pyx_base._this)->setTheoreticalSplit(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2930, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":2929
 * 		(<_HyperbolicGenerator*>(self._this)).setBalance(balance)
 * 
 * 	def setTheoreticalSplit(self, theoreticalSplit):             # <<<<<<<<<<<<<<
 * 		(<_HyperbolicGenerator*>(self._this)).setTheoreticalSplit(theoreticalSplit)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.HyperbolicGenerator.setTheoreticalSplit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2932
 * 		(<_HyperbolicGenerator*>(self._this)).setTheoreticalSplit(theoreticalSplit)
 * 
 * 	def getElapsedMilliseconds(self):             # <<<<<<<<<<<<<<
 * 		return (<_HyperbolicGenerator*>(self._this)).getElapsedMilliseconds()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19HyperbolicGenerator_9getElapsedMilliseconds(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19HyperbolicGenerator_9getElapsedMilliseconds(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getElapsedMilliseconds (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator_8getElapsedMilliseconds(((struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator_8getElapsedMilliseconds(struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<double>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getElapsedMilliseconds", 0);

  /* "networkit/_NetworKit.pyx":2933
 * 
 * 	def getElapsedMilliseconds(self):
 * 		return (<_HyperbolicGenerator*>(self._this)).getElapsedMilliseconds()             # <<<<<<<<<<<<<<
 * 
 * 	def generate_advanced(self, angles, radii, R, T=0):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::HyperbolicGenerator *)__pyx_v_self->__pyx_base._this)->getElapsedMilliseconds();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2933, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_double(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":2932
 * 		(<_HyperbolicGenerator*>(self._this)).setTheoreticalSplit(theoreticalSplit)
 * 
 * 	def getElapsedMilliseconds(self):             # <<<<<<<<<<<<<<
 * 		return (<_HyperbolicGenerator*>(self._this)).getElapsedMilliseconds()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.HyperbolicGenerator.getElapsedMilliseconds", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2935
 * 		return (<_HyperbolicGenerator*>(self._this)).getElapsedMilliseconds()
 * 
 * 	def generate_advanced(self, angles, radii, R, T=0):             # <<<<<<<<<<<<<<
 * 		# TODO: documentation
 * 		return Graph(0).setThis((<_HyperbolicGenerator*>(self._this)).generate(angles, radii, R, T))
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19HyperbolicGenerator_11generate_advanced(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19HyperbolicGenerator_11generate_advanced(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_angles = 0;
  PyObject *__pyx_v_radii = 0;
  PyObject *__pyx_v_R = 0;
  PyObject *__pyx_v_T = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generate_advanced (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_angles,&__pyx_n_s_radii,&__pyx_n_s_R,&__pyx_n_s_T,0};
    PyObject* values[4] = {0,0,0,0};
    values[3] = ((PyObject *)__pyx_int_0);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_angles)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_radii)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("generate_advanced", 0, 3, 4, 1); __PYX_ERR(0, 2935, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_R)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("generate_advanced", 0, 3, 4, 2); __PYX_ERR(0, 2935, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_T);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "generate_advanced") < 0)) __PYX_ERR(0, 2935, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_angles = values[0];
    __pyx_v_radii = values[1];
    __pyx_v_R = values[2];
    __pyx_v_T = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("generate_advanced", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2935, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.HyperbolicGenerator.generate_advanced", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator_10generate_advanced(((struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator *)__pyx_v_self), __pyx_v_angles, __pyx_v_radii, __pyx_v_R, __pyx_v_T);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator_10generate_advanced(struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator *__pyx_v_self, PyObject *__pyx_v_angles, PyObject *__pyx_v_radii, PyObject *__pyx_v_R, PyObject *__pyx_v_T) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  std::vector<double>  __pyx_t_2;
  std::vector<double>  __pyx_t_3;
  double __pyx_t_4;
  double __pyx_t_5;
  NetworKit::Graph __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  __Pyx_RefNannySetupContext("generate_advanced", 0);

  /* "networkit/_NetworKit.pyx":2937
 * 	def generate_advanced(self, angles, radii, R, T=0):
 * 		# TODO: documentation
 * 		return Graph(0).setThis((<_HyperbolicGenerator*>(self._this)).generate(angles, radii, R, T))             # <<<<<<<<<<<<<<
 * 
 * 	@classmethod
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph), __pyx_tuple__79, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __pyx_convert_vector_from_py_double(__pyx_v_angles); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2937, __pyx_L1_error)
  __pyx_t_3 = __pyx_convert_vector_from_py_double(__pyx_v_radii); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2937, __pyx_L1_error)
  __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_v_R); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2937, __pyx_L1_error)
  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_v_T); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2937, __pyx_L1_error)
  try {
    __pyx_t_6 = ((NetworKit::HyperbolicGenerator *)__pyx_v_self->__pyx_base._this)->generate(__pyx_t_2, __pyx_t_3, __pyx_t_4, __pyx_t_5);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2937, __pyx_L1_error)
  }
  __pyx_t_7 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":2935
 * 		return (<_HyperbolicGenerator*>(self._this)).getElapsedMilliseconds()
 * 
 * 	def generate_advanced(self, angles, radii, R, T=0):             # <<<<<<<<<<<<<<
 * 		# TODO: documentation
 * 		return Graph(0).setThis((<_HyperbolicGenerator*>(self._this)).generate(angles, radii, R, T))
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("networkit._NetworKit.HyperbolicGenerator.generate_advanced", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2940
 * 
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1):             # <<<<<<<<<<<<<<
 * 		""" Fit model to input graph"""
 * 		degSeq = DegreeCentrality(G).run().scores()
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19HyperbolicGenerator_13fit(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_19HyperbolicGenerator_12fit[] = " Fit model to input graph";
static PyObject *__pyx_pw_9networkit_10_NetworKit_19HyperbolicGenerator_13fit(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_scale = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("fit (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_scale,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)__pyx_int_1);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_scale);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "fit") < 0)) __PYX_ERR(0, 2940, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_scale = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("fit", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2940, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.HyperbolicGenerator.fit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 2940, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator_12fit(((PyTypeObject*)__pyx_v_cls), __pyx_v_G, __pyx_v_scale);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator_12fit(PyTypeObject *__pyx_v_cls, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_scale) {
  PyObject *__pyx_v_degSeq = NULL;
  PyObject *__pyx_v_gamma = NULL;
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_v_m = NULL;
  PyObject *__pyx_v_k = 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;
  double __pyx_t_5;
  int __pyx_t_6;
  PyObject *(*__pyx_t_7)(PyObject *);
  __Pyx_RefNannySetupContext("fit", 0);

  /* "networkit/_NetworKit.pyx":2942
 * 	def fit(cls, Graph G, scale=1):
 * 		""" Fit model to input graph"""
 * 		degSeq = DegreeCentrality(G).run().scores()             # <<<<<<<<<<<<<<
 * 		gamma = max(-1 * PowerlawDegreeSequence(degSeq).getGamma(), 2.1)
 * 		(n, m) = GraphTools.size(G)
 */
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_DegreeCentrality), ((PyObject *)__pyx_v_G)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_run); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_scores); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_degSeq = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":2943
 * 		""" Fit model to input graph"""
 * 		degSeq = DegreeCentrality(G).run().scores()
 * 		gamma = max(-1 * PowerlawDegreeSequence(degSeq).getGamma(), 2.1)             # <<<<<<<<<<<<<<
 * 		(n, m) = GraphTools.size(G)
 * 		k = 2 * (m / n)
 */
  __pyx_t_5 = 2.1;
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_PowerlawDegreeSequence), __pyx_v_degSeq); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_getGamma); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Multiply(__pyx_int_neg_1, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = PyFloat_FromDouble(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_t_2, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2943, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 2943, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_6) {
    __pyx_t_3 = PyFloat_FromDouble(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2943, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_1 = __pyx_t_2;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_t_1;
  __Pyx_INCREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_gamma = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":2944
 * 		degSeq = DegreeCentrality(G).run().scores()
 * 		gamma = max(-1 * PowerlawDegreeSequence(degSeq).getGamma(), 2.1)
 * 		(n, m) = GraphTools.size(G)             # <<<<<<<<<<<<<<
 * 		k = 2 * (m / n)
 * 		return cls(n * scale, k, gamma)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools), __pyx_n_s_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2944, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, ((PyObject *)__pyx_v_G)) : __Pyx_PyObject_CallOneArg(__pyx_t_1, ((PyObject *)__pyx_v_G));
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2944, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) {
    PyObject* sequence = __pyx_t_2;
    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(0, 2944, __pyx_L1_error)
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    if (likely(PyTuple_CheckExact(sequence))) {
      __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); 
      __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); 
    } else {
      __pyx_t_1 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_3 = PyList_GET_ITEM(sequence, 1); 
    }
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_3);
    #else
    __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2944, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2944, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    Py_ssize_t index = -1;
    __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2944, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_7 = Py_TYPE(__pyx_t_4)->tp_iternext;
    index = 0; __pyx_t_1 = __pyx_t_7(__pyx_t_4); if (unlikely(!__pyx_t_1)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_1);
    index = 1; __pyx_t_3 = __pyx_t_7(__pyx_t_4); if (unlikely(!__pyx_t_3)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_4), 2) < 0) __PYX_ERR(0, 2944, __pyx_L1_error)
    __pyx_t_7 = NULL;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    goto __pyx_L4_unpacking_done;
    __pyx_L3_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_7 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(0, 2944, __pyx_L1_error)
    __pyx_L4_unpacking_done:;
  }
  __pyx_v_n = __pyx_t_1;
  __pyx_t_1 = 0;
  __pyx_v_m = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "networkit/_NetworKit.pyx":2945
 * 		gamma = max(-1 * PowerlawDegreeSequence(degSeq).getGamma(), 2.1)
 * 		(n, m) = GraphTools.size(G)
 * 		k = 2 * (m / n)             # <<<<<<<<<<<<<<
 * 		return cls(n * scale, k, gamma)
 * 
 */
  __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_v_m, __pyx_v_n); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyNumber_Multiply(__pyx_int_2, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_k = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "networkit/_NetworKit.pyx":2946
 * 		(n, m) = GraphTools.size(G)
 * 		k = 2 * (m / n)
 * 		return cls(n * scale, k, gamma)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = PyNumber_Multiply(__pyx_v_n, __pyx_v_scale); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3);
  __Pyx_INCREF(__pyx_v_k);
  __Pyx_GIVEREF(__pyx_v_k);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_k);
  __Pyx_INCREF(__pyx_v_gamma);
  __Pyx_GIVEREF(__pyx_v_gamma);
  PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_gamma);
  __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_v_cls), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2946, __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;

  /* "networkit/_NetworKit.pyx":2940
 * 
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1):             # <<<<<<<<<<<<<<
 * 		""" Fit model to input graph"""
 * 		degSeq = DegreeCentrality(G).run().scores()
 */

  /* 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("networkit._NetworKit.HyperbolicGenerator.fit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_degSeq);
  __Pyx_XDECREF(__pyx_v_gamma);
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XDECREF(__pyx_v_m);
  __Pyx_XDECREF(__pyx_v_k);
  __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_9networkit_10_NetworKit_19HyperbolicGenerator_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19HyperbolicGenerator_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator_14__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__80, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.HyperbolicGenerator.__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_9networkit_10_NetworKit_19HyperbolicGenerator_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19HyperbolicGenerator_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator_16__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_19HyperbolicGenerator_16__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__81, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.HyperbolicGenerator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":2995
 * 	"""
 * 
 * 	def __cinit__(self, dim, n, k, weighted=False):             # <<<<<<<<<<<<<<
 * 		if dim < 1:
 * 			raise ValueError("Dimension must be > 0")
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_15MocnikGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_15MocnikGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_dim = 0;
  PyObject *__pyx_v_n = 0;
  PyObject *__pyx_v_k = 0;
  PyObject *__pyx_v_weighted = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dim,&__pyx_n_s_n,&__pyx_n_s_k,&__pyx_n_s_weighted,0};
    PyObject* values[4] = {0,0,0,0};
    values[3] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dim)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 4, 1); __PYX_ERR(0, 2995, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 4, 2); __PYX_ERR(0, 2995, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_weighted);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 2995, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_dim = values[0];
    __pyx_v_n = values[1];
    __pyx_v_k = values[2];
    __pyx_v_weighted = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2995, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MocnikGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15MocnikGenerator___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_MocnikGenerator *)__pyx_v_self), __pyx_v_dim, __pyx_v_n, __pyx_v_k, __pyx_v_weighted);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___2generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "networkit/_NetworKit.pyx":3000
 * 		elif (type(n) is int) and (type(k) is float or type(k) is int) and (weighted is False or weighted is True):
 * 			self._this = new _MocnikGenerator(<count> dim, <count> n, <double> k, <bool_t> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is float or type(k) is int) and (weighted is False or weighted is True):             # <<<<<<<<<<<<<<
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <double> k, <bool_t> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is list) and all(type(item) is float or type(item) is int for item in k) and (weighted is False or weighted is True):
 */

static PyObject *__pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr *)__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr(__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3000, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___2generator5, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cinit___locals_genexpr, __pyx_n_s_networkit__NetworKit); if (unlikely(!gen)) __PYX_ERR(0, 3000, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MocnikGenerator.__cinit__.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_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___2generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr *__pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_8_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;
  int __pyx_t_5;
  int __pyx_t_6;
  __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(0, 3000, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_n)) { __Pyx_RaiseClosureNameError("n"); __PYX_ERR(0, 3000, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_n)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_n)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_n; __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_outer_scope->__pyx_v_n); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3000, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3000, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 3000, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3000, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 3000, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3000, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 3000, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_item);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_item, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_item)) == ((PyObject *)(&PyInt_Type)));
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __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_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __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_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___5generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "networkit/_NetworKit.pyx":3002
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is float or type(k) is int) and (weighted is False or weighted is True):
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <double> k, <bool_t> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is list) and all(type(item) is float or type(item) is int for item in k) and (weighted is False or weighted is True):             # <<<<<<<<<<<<<<
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <vector[double]> k, <bool_t> weighted)
 * 		elif (type(n) is int) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):
 */

static PyObject *__pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___3genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr *)__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr(__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3002, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___5generator6, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cinit___locals_genexpr, __pyx_n_s_networkit__NetworKit); if (unlikely(!gen)) __PYX_ERR(0, 3002, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MocnikGenerator.__cinit__.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_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___5generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr *__pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_9_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;
  int __pyx_t_5;
  int __pyx_t_6;
  __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(0, 3002, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_n)) { __Pyx_RaiseClosureNameError("n"); __PYX_ERR(0, 3002, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_n)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_n)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_n; __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_outer_scope->__pyx_v_n); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3002, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3002, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 3002, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3002, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 3002, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3002, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 3002, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_item);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_item, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_item)) == ((PyObject *)(&PyInt_Type)));
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __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_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __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_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___8generator7(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

static PyObject *__pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___6genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr *)__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr(__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3002, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___8generator7, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cinit___locals_genexpr, __pyx_n_s_networkit__NetworKit); if (unlikely(!gen)) __PYX_ERR(0, 3002, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MocnikGenerator.__cinit__.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_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___8generator7(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr *__pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_10_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;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  __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(0, 3002, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_k)) { __Pyx_RaiseClosureNameError("k"); __PYX_ERR(0, 3002, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_k)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_k)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_k; __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_outer_scope->__pyx_v_k); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3002, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3002, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 3002, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3002, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 3002, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3002, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 3002, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_item);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_item, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_6 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_item)) == ((PyObject *)(&PyFloat_Type)));
    __pyx_t_7 = (__pyx_t_6 != 0);
    if (!__pyx_t_7) {
    } else {
      __pyx_t_5 = __pyx_t_7;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_7 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_item)) == ((PyObject *)(&PyInt_Type)));
    __pyx_t_6 = (__pyx_t_7 != 0);
    __pyx_t_5 = __pyx_t_6;
    __pyx_L7_bool_binop_done:;
    __pyx_t_6 = ((!__pyx_t_5) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __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_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __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_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___11generator8(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "networkit/_NetworKit.pyx":3004
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is list) and all(type(item) is float or type(item) is int for item in k) and (weighted is False or weighted is True):
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <vector[double]> k, <bool_t> weighted)
 * 		elif (type(n) is int) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):             # <<<<<<<<<<<<<<
 * 			self._this = new _MocnikGenerator(<count> dim, <count> n, <double> k, <vector[double]> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):
 */

static PyObject *__pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___9genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr *)__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr(__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3004, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___11generator8, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cinit___locals_genexpr, __pyx_n_s_networkit__NetworKit); if (unlikely(!gen)) __PYX_ERR(0, 3004, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MocnikGenerator.__cinit__.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_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___11generator8(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr *__pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_11_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;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  __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(0, 3004, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_weighted)) { __Pyx_RaiseClosureNameError("weighted"); __PYX_ERR(0, 3004, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_weighted)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_weighted)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_weighted; __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_outer_scope->__pyx_v_weighted); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3004, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3004, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 3004, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3004, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 3004, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3004, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 3004, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_item);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_item, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_6 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_item)) == ((PyObject *)(&PyFloat_Type)));
    __pyx_t_7 = (__pyx_t_6 != 0);
    if (!__pyx_t_7) {
    } else {
      __pyx_t_5 = __pyx_t_7;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_7 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_item)) == ((PyObject *)(&PyInt_Type)));
    __pyx_t_6 = (__pyx_t_7 != 0);
    __pyx_t_5 = __pyx_t_6;
    __pyx_L7_bool_binop_done:;
    __pyx_t_6 = ((!__pyx_t_5) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __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_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __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_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___14generator9(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "networkit/_NetworKit.pyx":3006
 * 		elif (type(n) is int) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):
 * 			self._this = new _MocnikGenerator(<count> dim, <count> n, <double> k, <vector[double]> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):             # <<<<<<<<<<<<<<
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <double> k, <vector[double]> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is list) and all(type(item) is float or type(item) is int for item in k) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):
 */

static PyObject *__pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___12genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr *)__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr(__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3006, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___14generator9, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cinit___locals_genexpr, __pyx_n_s_networkit__NetworKit); if (unlikely(!gen)) __PYX_ERR(0, 3006, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MocnikGenerator.__cinit__.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_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___14generator9(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr *__pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_12_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;
  int __pyx_t_5;
  int __pyx_t_6;
  __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(0, 3006, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_n)) { __Pyx_RaiseClosureNameError("n"); __PYX_ERR(0, 3006, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_n)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_n)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_n; __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_outer_scope->__pyx_v_n); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3006, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3006, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 3006, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3006, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 3006, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3006, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 3006, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_item);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_item, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_item)) == ((PyObject *)(&PyInt_Type)));
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __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_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __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_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___17generator10(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

static PyObject *__pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___15genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr *)__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr(__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3006, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___17generator10, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cinit___locals_genexpr, __pyx_n_s_networkit__NetworKit); if (unlikely(!gen)) __PYX_ERR(0, 3006, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MocnikGenerator.__cinit__.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_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___17generator10(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr *__pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___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)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  __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(0, 3006, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_weighted)) { __Pyx_RaiseClosureNameError("weighted"); __PYX_ERR(0, 3006, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_weighted)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_weighted)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_weighted; __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_outer_scope->__pyx_v_weighted); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3006, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3006, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 3006, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3006, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 3006, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3006, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 3006, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_item);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_item, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_6 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_item)) == ((PyObject *)(&PyFloat_Type)));
    __pyx_t_7 = (__pyx_t_6 != 0);
    if (!__pyx_t_7) {
    } else {
      __pyx_t_5 = __pyx_t_7;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_7 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_item)) == ((PyObject *)(&PyInt_Type)));
    __pyx_t_6 = (__pyx_t_7 != 0);
    __pyx_t_5 = __pyx_t_6;
    __pyx_L7_bool_binop_done:;
    __pyx_t_6 = ((!__pyx_t_5) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __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_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __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_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___20generator11(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "networkit/_NetworKit.pyx":3008
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <double> k, <vector[double]> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is list) and all(type(item) is float or type(item) is int for item in k) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):             # <<<<<<<<<<<<<<
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <vector[double]> k, <vector[double]> weighted)
 * 		else:
 */

static PyObject *__pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___18genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr *)__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr(__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3008, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___20generator11, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cinit___locals_genexpr, __pyx_n_s_networkit__NetworKit); if (unlikely(!gen)) __PYX_ERR(0, 3008, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MocnikGenerator.__cinit__.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_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___20generator11(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr *__pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_14_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;
  int __pyx_t_5;
  int __pyx_t_6;
  __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(0, 3008, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_n)) { __Pyx_RaiseClosureNameError("n"); __PYX_ERR(0, 3008, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_n)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_n)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_n; __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_outer_scope->__pyx_v_n); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3008, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3008, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 3008, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3008, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 3008, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3008, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 3008, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_item);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_item, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_item)) == ((PyObject *)(&PyInt_Type)));
    __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __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_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __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_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___23generator12(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

static PyObject *__pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___21genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr *)__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr(__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3008, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___23generator12, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cinit___locals_genexpr, __pyx_n_s_networkit__NetworKit); if (unlikely(!gen)) __PYX_ERR(0, 3008, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MocnikGenerator.__cinit__.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_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___23generator12(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr *__pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_15_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;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  __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(0, 3008, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_k)) { __Pyx_RaiseClosureNameError("k"); __PYX_ERR(0, 3008, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_k)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_k)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_k; __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_outer_scope->__pyx_v_k); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3008, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3008, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 3008, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3008, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 3008, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3008, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 3008, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_item);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_item, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_6 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_item)) == ((PyObject *)(&PyFloat_Type)));
    __pyx_t_7 = (__pyx_t_6 != 0);
    if (!__pyx_t_7) {
    } else {
      __pyx_t_5 = __pyx_t_7;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_7 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_item)) == ((PyObject *)(&PyInt_Type)));
    __pyx_t_6 = (__pyx_t_7 != 0);
    __pyx_t_5 = __pyx_t_6;
    __pyx_L7_bool_binop_done:;
    __pyx_t_6 = ((!__pyx_t_5) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __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_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __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_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___26generator13(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

static PyObject *__pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___24genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr *)__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr(__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 3008, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___26generator13, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cinit___locals_genexpr, __pyx_n_s_networkit__NetworKit); if (unlikely(!gen)) __PYX_ERR(0, 3008, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MocnikGenerator.__cinit__.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_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___26generator13(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr *__pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_16_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;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  __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(0, 3008, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_weighted)) { __Pyx_RaiseClosureNameError("weighted"); __PYX_ERR(0, 3008, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_weighted)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_weighted)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_weighted; __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_outer_scope->__pyx_v_weighted); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3008, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3008, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 3008, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3008, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 3008, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3008, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 3008, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_item);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_item, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_6 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_item)) == ((PyObject *)(&PyFloat_Type)));
    __pyx_t_7 = (__pyx_t_6 != 0);
    if (!__pyx_t_7) {
    } else {
      __pyx_t_5 = __pyx_t_7;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_7 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_item)) == ((PyObject *)(&PyInt_Type)));
    __pyx_t_6 = (__pyx_t_7 != 0);
    __pyx_t_5 = __pyx_t_6;
    __pyx_L7_bool_binop_done:;
    __pyx_t_6 = ((!__pyx_t_5) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __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_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __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;
}

/* "networkit/_NetworKit.pyx":2995
 * 	"""
 * 
 * 	def __cinit__(self, dim, n, k, weighted=False):             # <<<<<<<<<<<<<<
 * 		if dim < 1:
 * 			raise ValueError("Dimension must be > 0")
 */

static int __pyx_pf_9networkit_10_NetworKit_15MocnikGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_MocnikGenerator *__pyx_v_self, PyObject *__pyx_v_dim, PyObject *__pyx_v_n, PyObject *__pyx_v_k, PyObject *__pyx_v_weighted) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *__pyx_cur_scope;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_5;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_6;
  double __pyx_t_7;
  bool __pyx_t_8;
  NetworKit::MocnikGenerator *__pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_t_11;
  std::vector<double>  __pyx_t_12;
  std::vector<double>  __pyx_t_13;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __pyx_cur_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *)__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__(__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 2995, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_v_n = __pyx_v_n;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_n);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_n);
  __pyx_cur_scope->__pyx_v_k = __pyx_v_k;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_k);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_k);
  __pyx_cur_scope->__pyx_v_weighted = __pyx_v_weighted;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_weighted);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_weighted);

  /* "networkit/_NetworKit.pyx":2996
 * 
 * 	def __cinit__(self, dim, n, k, weighted=False):
 * 		if dim < 1:             # <<<<<<<<<<<<<<
 * 			raise ValueError("Dimension must be > 0")
 * 		elif (type(n) is int) and (type(k) is float or type(k) is int) and (weighted is False or weighted is True):
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_dim, __pyx_int_1, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2996, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 2996, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(__pyx_t_2)) {

    /* "networkit/_NetworKit.pyx":2997
 * 	def __cinit__(self, dim, n, k, weighted=False):
 * 		if dim < 1:
 * 			raise ValueError("Dimension must be > 0")             # <<<<<<<<<<<<<<
 * 		elif (type(n) is int) and (type(k) is float or type(k) is int) and (weighted is False or weighted is True):
 * 			self._this = new _MocnikGenerator(<count> dim, <count> n, <double> k, <bool_t> weighted)
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__82, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2997, __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(0, 2997, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":2996
 * 
 * 	def __cinit__(self, dim, n, k, weighted=False):
 * 		if dim < 1:             # <<<<<<<<<<<<<<
 * 			raise ValueError("Dimension must be > 0")
 * 		elif (type(n) is int) and (type(k) is float or type(k) is int) and (weighted is False or weighted is True):
 */
  }

  /* "networkit/_NetworKit.pyx":2998
 * 		if dim < 1:
 * 			raise ValueError("Dimension must be > 0")
 * 		elif (type(n) is int) and (type(k) is float or type(k) is int) and (weighted is False or weighted is True):             # <<<<<<<<<<<<<<
 * 			self._this = new _MocnikGenerator(<count> dim, <count> n, <double> k, <bool_t> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is float or type(k) is int) and (weighted is False or weighted is True):
 */
  __pyx_t_3 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_n)) == ((PyObject *)(&PyInt_Type)));
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_4 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_k)) == ((PyObject *)(&PyFloat_Type)));
  __pyx_t_3 = (__pyx_t_4 != 0);
  if (!__pyx_t_3) {
  } else {
    goto __pyx_L6_next_and;
  }
  __pyx_t_3 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_k)) == ((PyObject *)(&PyInt_Type)));
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_L6_next_and:;
  __pyx_t_4 = (__pyx_cur_scope->__pyx_v_weighted == Py_False);
  __pyx_t_3 = (__pyx_t_4 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = (__pyx_cur_scope->__pyx_v_weighted == Py_True);
  __pyx_t_4 = (__pyx_t_3 != 0);
  __pyx_t_2 = __pyx_t_4;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":2999
 * 			raise ValueError("Dimension must be > 0")
 * 		elif (type(n) is int) and (type(k) is float or type(k) is int) and (weighted is False or weighted is True):
 * 			self._this = new _MocnikGenerator(<count> dim, <count> n, <double> k, <bool_t> weighted)             # <<<<<<<<<<<<<<
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is float or type(k) is int) and (weighted is False or weighted is True):
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <double> k, <bool_t> weighted)
 */
    __pyx_t_5 = __Pyx_PyInt_As_uint64_t(__pyx_v_dim); if (unlikely((__pyx_t_5 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2999, __pyx_L1_error)
    __pyx_t_6 = __Pyx_PyInt_As_uint64_t(__pyx_cur_scope->__pyx_v_n); if (unlikely((__pyx_t_6 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2999, __pyx_L1_error)
    __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_cur_scope->__pyx_v_k); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 2999, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_weighted); if (unlikely((__pyx_t_8 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2999, __pyx_L1_error)
    try {
      __pyx_t_9 = new NetworKit::MocnikGenerator(((__pyx_t_9networkit_10_NetworKit_count)__pyx_t_5), ((__pyx_t_9networkit_10_NetworKit_count)__pyx_t_6), ((double)__pyx_t_7), ((bool)__pyx_t_8));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 2999, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_9;

    /* "networkit/_NetworKit.pyx":2998
 * 		if dim < 1:
 * 			raise ValueError("Dimension must be > 0")
 * 		elif (type(n) is int) and (type(k) is float or type(k) is int) and (weighted is False or weighted is True):             # <<<<<<<<<<<<<<
 * 			self._this = new _MocnikGenerator(<count> dim, <count> n, <double> k, <bool_t> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is float or type(k) is int) and (weighted is False or weighted is True):
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":3000
 * 		elif (type(n) is int) and (type(k) is float or type(k) is int) and (weighted is False or weighted is True):
 * 			self._this = new _MocnikGenerator(<count> dim, <count> n, <double> k, <bool_t> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is float or type(k) is int) and (weighted is False or weighted is True):             # <<<<<<<<<<<<<<
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <double> k, <bool_t> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is list) and all(type(item) is float or type(item) is int for item in k) and (weighted is False or weighted is True):
 */
  __pyx_t_4 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_n)) == ((PyObject *)(&PyList_Type)));
  __pyx_t_3 = (__pyx_t_4 != 0);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L9_bool_binop_done;
  }
  __pyx_t_1 = __pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_10 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3000, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L9_bool_binop_done;
  }
  __pyx_t_3 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_k)) == ((PyObject *)(&PyFloat_Type)));
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (!__pyx_t_4) {
  } else {
    goto __pyx_L12_next_and;
  }
  __pyx_t_4 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_k)) == ((PyObject *)(&PyInt_Type)));
  __pyx_t_3 = (__pyx_t_4 != 0);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L9_bool_binop_done;
  }
  __pyx_L12_next_and:;
  __pyx_t_3 = (__pyx_cur_scope->__pyx_v_weighted == Py_False);
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (!__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L9_bool_binop_done;
  }
  __pyx_t_4 = (__pyx_cur_scope->__pyx_v_weighted == Py_True);
  __pyx_t_3 = (__pyx_t_4 != 0);
  __pyx_t_2 = __pyx_t_3;
  __pyx_L9_bool_binop_done:;
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":3001
 * 			self._this = new _MocnikGenerator(<count> dim, <count> n, <double> k, <bool_t> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is float or type(k) is int) and (weighted is False or weighted is True):
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <double> k, <bool_t> weighted)             # <<<<<<<<<<<<<<
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is list) and all(type(item) is float or type(item) is int for item in k) and (weighted is False or weighted is True):
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <vector[double]> k, <bool_t> weighted)
 */
    __pyx_t_6 = __Pyx_PyInt_As_uint64_t(__pyx_v_dim); if (unlikely((__pyx_t_6 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3001, __pyx_L1_error)
    __pyx_t_11 = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_count(__pyx_cur_scope->__pyx_v_n); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3001, __pyx_L1_error)
    __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_cur_scope->__pyx_v_k); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3001, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_weighted); if (unlikely((__pyx_t_8 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3001, __pyx_L1_error)
    try {
      __pyx_t_9 = new NetworKit::MocnikGenerator(((__pyx_t_9networkit_10_NetworKit_count)__pyx_t_6), ((std::vector<__pyx_t_9networkit_10_NetworKit_count> )__pyx_t_11), ((double)__pyx_t_7), ((bool)__pyx_t_8));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 3001, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_9;

    /* "networkit/_NetworKit.pyx":3000
 * 		elif (type(n) is int) and (type(k) is float or type(k) is int) and (weighted is False or weighted is True):
 * 			self._this = new _MocnikGenerator(<count> dim, <count> n, <double> k, <bool_t> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is float or type(k) is int) and (weighted is False or weighted is True):             # <<<<<<<<<<<<<<
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <double> k, <bool_t> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is list) and all(type(item) is float or type(item) is int for item in k) and (weighted is False or weighted is True):
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":3002
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is float or type(k) is int) and (weighted is False or weighted is True):
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <double> k, <bool_t> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is list) and all(type(item) is float or type(item) is int for item in k) and (weighted is False or weighted is True):             # <<<<<<<<<<<<<<
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <vector[double]> k, <bool_t> weighted)
 * 		elif (type(n) is int) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):
 */
  __pyx_t_3 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_n)) == ((PyObject *)(&PyList_Type)));
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L15_bool_binop_done;
  }
  __pyx_t_10 = __pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___3genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_1 = __Pyx_Generator_Next(__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3002, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L15_bool_binop_done;
  }
  __pyx_t_4 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_k)) == ((PyObject *)(&PyList_Type)));
  __pyx_t_3 = (__pyx_t_4 != 0);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L15_bool_binop_done;
  }
  __pyx_t_1 = __pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___6genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_10 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3002, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L15_bool_binop_done;
  }
  __pyx_t_3 = (__pyx_cur_scope->__pyx_v_weighted == Py_False);
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (!__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L15_bool_binop_done;
  }
  __pyx_t_4 = (__pyx_cur_scope->__pyx_v_weighted == Py_True);
  __pyx_t_3 = (__pyx_t_4 != 0);
  __pyx_t_2 = __pyx_t_3;
  __pyx_L15_bool_binop_done:;
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":3003
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <double> k, <bool_t> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is list) and all(type(item) is float or type(item) is int for item in k) and (weighted is False or weighted is True):
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <vector[double]> k, <bool_t> weighted)             # <<<<<<<<<<<<<<
 * 		elif (type(n) is int) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):
 * 			self._this = new _MocnikGenerator(<count> dim, <count> n, <double> k, <vector[double]> weighted)
 */
    __pyx_t_6 = __Pyx_PyInt_As_uint64_t(__pyx_v_dim); if (unlikely((__pyx_t_6 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3003, __pyx_L1_error)
    __pyx_t_11 = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_count(__pyx_cur_scope->__pyx_v_n); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3003, __pyx_L1_error)
    __pyx_t_12 = __pyx_convert_vector_from_py_double(__pyx_cur_scope->__pyx_v_k); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3003, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_weighted); if (unlikely((__pyx_t_8 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3003, __pyx_L1_error)
    try {
      __pyx_t_9 = new NetworKit::MocnikGenerator(((__pyx_t_9networkit_10_NetworKit_count)__pyx_t_6), ((std::vector<__pyx_t_9networkit_10_NetworKit_count> )__pyx_t_11), ((std::vector<double> )__pyx_t_12), ((bool)__pyx_t_8));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 3003, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_9;

    /* "networkit/_NetworKit.pyx":3002
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is float or type(k) is int) and (weighted is False or weighted is True):
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <double> k, <bool_t> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is list) and all(type(item) is float or type(item) is int for item in k) and (weighted is False or weighted is True):             # <<<<<<<<<<<<<<
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <vector[double]> k, <bool_t> weighted)
 * 		elif (type(n) is int) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":3004
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is list) and all(type(item) is float or type(item) is int for item in k) and (weighted is False or weighted is True):
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <vector[double]> k, <bool_t> weighted)
 * 		elif (type(n) is int) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):             # <<<<<<<<<<<<<<
 * 			self._this = new _MocnikGenerator(<count> dim, <count> n, <double> k, <vector[double]> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):
 */
  __pyx_t_3 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_n)) == ((PyObject *)(&PyInt_Type)));
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L21_bool_binop_done;
  }
  __pyx_t_4 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_k)) == ((PyObject *)(&PyFloat_Type)));
  __pyx_t_3 = (__pyx_t_4 != 0);
  if (!__pyx_t_3) {
  } else {
    goto __pyx_L23_next_and;
  }
  __pyx_t_3 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_k)) == ((PyObject *)(&PyInt_Type)));
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L21_bool_binop_done;
  }
  __pyx_L23_next_and:;
  __pyx_t_4 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_weighted)) == ((PyObject *)(&PyList_Type)));
  __pyx_t_3 = (__pyx_t_4 != 0);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L21_bool_binop_done;
  }
  __pyx_t_10 = __pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___9genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_1 = __Pyx_Generator_Next(__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3004, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __pyx_t_3;
  __pyx_L21_bool_binop_done:;
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":3005
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <vector[double]> k, <bool_t> weighted)
 * 		elif (type(n) is int) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):
 * 			self._this = new _MocnikGenerator(<count> dim, <count> n, <double> k, <vector[double]> weighted)             # <<<<<<<<<<<<<<
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <double> k, <vector[double]> weighted)
 */
    __pyx_t_6 = __Pyx_PyInt_As_uint64_t(__pyx_v_dim); if (unlikely((__pyx_t_6 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3005, __pyx_L1_error)
    __pyx_t_5 = __Pyx_PyInt_As_uint64_t(__pyx_cur_scope->__pyx_v_n); if (unlikely((__pyx_t_5 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3005, __pyx_L1_error)
    __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_cur_scope->__pyx_v_k); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3005, __pyx_L1_error)
    __pyx_t_12 = __pyx_convert_vector_from_py_double(__pyx_cur_scope->__pyx_v_weighted); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3005, __pyx_L1_error)
    try {
      __pyx_t_9 = new NetworKit::MocnikGenerator(((__pyx_t_9networkit_10_NetworKit_count)__pyx_t_6), ((__pyx_t_9networkit_10_NetworKit_count)__pyx_t_5), ((double)__pyx_t_7), ((std::vector<double> )__pyx_t_12));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 3005, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_9;

    /* "networkit/_NetworKit.pyx":3004
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is list) and all(type(item) is float or type(item) is int for item in k) and (weighted is False or weighted is True):
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <vector[double]> k, <bool_t> weighted)
 * 		elif (type(n) is int) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):             # <<<<<<<<<<<<<<
 * 			self._this = new _MocnikGenerator(<count> dim, <count> n, <double> k, <vector[double]> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":3006
 * 		elif (type(n) is int) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):
 * 			self._this = new _MocnikGenerator(<count> dim, <count> n, <double> k, <vector[double]> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):             # <<<<<<<<<<<<<<
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <double> k, <vector[double]> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is list) and all(type(item) is float or type(item) is int for item in k) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):
 */
  __pyx_t_3 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_n)) == ((PyObject *)(&PyList_Type)));
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L26_bool_binop_done;
  }
  __pyx_t_1 = __pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___12genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3006, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_10 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3006, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3006, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L26_bool_binop_done;
  }
  __pyx_t_4 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_k)) == ((PyObject *)(&PyFloat_Type)));
  __pyx_t_3 = (__pyx_t_4 != 0);
  if (!__pyx_t_3) {
  } else {
    goto __pyx_L29_next_and;
  }
  __pyx_t_3 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_k)) == ((PyObject *)(&PyInt_Type)));
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L26_bool_binop_done;
  }
  __pyx_L29_next_and:;
  __pyx_t_4 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_weighted)) == ((PyObject *)(&PyList_Type)));
  __pyx_t_3 = (__pyx_t_4 != 0);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L26_bool_binop_done;
  }
  __pyx_t_10 = __pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___15genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3006, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_1 = __Pyx_Generator_Next(__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3006, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3006, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __pyx_t_3;
  __pyx_L26_bool_binop_done:;
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":3007
 * 			self._this = new _MocnikGenerator(<count> dim, <count> n, <double> k, <vector[double]> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <double> k, <vector[double]> weighted)             # <<<<<<<<<<<<<<
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is list) and all(type(item) is float or type(item) is int for item in k) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <vector[double]> k, <vector[double]> weighted)
 */
    __pyx_t_5 = __Pyx_PyInt_As_uint64_t(__pyx_v_dim); if (unlikely((__pyx_t_5 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3007, __pyx_L1_error)
    __pyx_t_11 = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_count(__pyx_cur_scope->__pyx_v_n); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3007, __pyx_L1_error)
    __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_cur_scope->__pyx_v_k); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3007, __pyx_L1_error)
    __pyx_t_12 = __pyx_convert_vector_from_py_double(__pyx_cur_scope->__pyx_v_weighted); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3007, __pyx_L1_error)
    try {
      __pyx_t_9 = new NetworKit::MocnikGenerator(((__pyx_t_9networkit_10_NetworKit_count)__pyx_t_5), ((std::vector<__pyx_t_9networkit_10_NetworKit_count> )__pyx_t_11), ((double)__pyx_t_7), ((std::vector<double> )__pyx_t_12));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 3007, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_9;

    /* "networkit/_NetworKit.pyx":3006
 * 		elif (type(n) is int) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):
 * 			self._this = new _MocnikGenerator(<count> dim, <count> n, <double> k, <vector[double]> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):             # <<<<<<<<<<<<<<
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <double> k, <vector[double]> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is list) and all(type(item) is float or type(item) is int for item in k) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":3008
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <double> k, <vector[double]> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is list) and all(type(item) is float or type(item) is int for item in k) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):             # <<<<<<<<<<<<<<
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <vector[double]> k, <vector[double]> weighted)
 * 		else:
 */
  __pyx_t_3 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_n)) == ((PyObject *)(&PyList_Type)));
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L32_bool_binop_done;
  }
  __pyx_t_1 = __pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___18genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_10 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3008, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L32_bool_binop_done;
  }
  __pyx_t_4 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_k)) == ((PyObject *)(&PyList_Type)));
  __pyx_t_3 = (__pyx_t_4 != 0);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L32_bool_binop_done;
  }
  __pyx_t_10 = __pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___21genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_1 = __Pyx_Generator_Next(__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3008, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L32_bool_binop_done;
  }
  __pyx_t_3 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_weighted)) == ((PyObject *)(&PyList_Type)));
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L32_bool_binop_done;
  }
  __pyx_t_1 = __pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_9__cinit___24genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_10 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3008, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_2 = __pyx_t_4;
  __pyx_L32_bool_binop_done:;
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":3009
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <double> k, <vector[double]> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is list) and all(type(item) is float or type(item) is int for item in k) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <vector[double]> k, <vector[double]> weighted)             # <<<<<<<<<<<<<<
 * 		else:
 * 			pass
 */
    __pyx_t_5 = __Pyx_PyInt_As_uint64_t(__pyx_v_dim); if (unlikely((__pyx_t_5 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3009, __pyx_L1_error)
    __pyx_t_11 = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_count(__pyx_cur_scope->__pyx_v_n); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3009, __pyx_L1_error)
    __pyx_t_12 = __pyx_convert_vector_from_py_double(__pyx_cur_scope->__pyx_v_k); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3009, __pyx_L1_error)
    __pyx_t_13 = __pyx_convert_vector_from_py_double(__pyx_cur_scope->__pyx_v_weighted); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3009, __pyx_L1_error)
    try {
      __pyx_t_9 = new NetworKit::MocnikGenerator(((__pyx_t_9networkit_10_NetworKit_count)__pyx_t_5), ((std::vector<__pyx_t_9networkit_10_NetworKit_count> )__pyx_t_11), ((std::vector<double> )__pyx_t_12), ((std::vector<double> )__pyx_t_13));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 3009, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_9;

    /* "networkit/_NetworKit.pyx":3008
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is float or type(k) is int) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <double> k, <vector[double]> weighted)
 * 		elif (type(n) is list) and all(type(item) is int for item in n) and (type(k) is list) and all(type(item) is float or type(item) is int for item in k) and (type(weighted) is list) and all(type(item) is float or type(item) is int for item in weighted):             # <<<<<<<<<<<<<<
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <vector[double]> k, <vector[double]> weighted)
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":3011
 * 			self._this = new _MocnikGenerator(<count> dim, <vector[count]> n, <vector[double]> k, <vector[double]> weighted)
 * 		else:
 * 			pass             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/generators/MocnikGeneratorBasic.hpp>":
 */
  /*else*/ {
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":2995
 * 	"""
 * 
 * 	def __cinit__(self, dim, n, k, weighted=False):             # <<<<<<<<<<<<<<
 * 		if dim < 1:
 * 			raise ValueError("Dimension must be > 0")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("networkit._NetworKit.MocnikGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
  __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_9networkit_10_NetworKit_15MocnikGenerator_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15MocnikGenerator_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_MocnikGenerator *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MocnikGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__83, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.MocnikGenerator.__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_9networkit_10_NetworKit_15MocnikGenerator_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15MocnikGenerator_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_MocnikGenerator *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15MocnikGenerator_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MocnikGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__84, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.MocnikGenerator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3048
 * 	"""
 * 
 * 	def __cinit__(self, dim, n, k):             # <<<<<<<<<<<<<<
 * 		self._this = new _MocnikGeneratorBasic(dim, n, k)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_20MocnikGeneratorBasic_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_20MocnikGeneratorBasic_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_dim = 0;
  PyObject *__pyx_v_n = 0;
  PyObject *__pyx_v_k = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dim,&__pyx_n_s_n,&__pyx_n_s_k,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dim)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 1); __PYX_ERR(0, 3048, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 2); __PYX_ERR(0, 3048, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3048, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_dim = values[0];
    __pyx_v_n = values[1];
    __pyx_v_k = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3048, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MocnikGeneratorBasic.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20MocnikGeneratorBasic___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_MocnikGeneratorBasic *)__pyx_v_self), __pyx_v_dim, __pyx_v_n, __pyx_v_k);

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

static int __pyx_pf_9networkit_10_NetworKit_20MocnikGeneratorBasic___cinit__(struct __pyx_obj_9networkit_10_NetworKit_MocnikGeneratorBasic *__pyx_v_self, PyObject *__pyx_v_dim, PyObject *__pyx_v_n, PyObject *__pyx_v_k) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_2;
  double __pyx_t_3;
  NetworKit::MocnikGeneratorBasic *__pyx_t_4;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":3049
 * 
 * 	def __cinit__(self, dim, n, k):
 * 		self._this = new _MocnikGeneratorBasic(dim, n, k)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_dim); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3049, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_n); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3049, __pyx_L1_error)
  __pyx_t_3 = __pyx_PyFloat_AsDouble(__pyx_v_k); if (unlikely((__pyx_t_3 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3049, __pyx_L1_error)
  try {
    __pyx_t_4 = new NetworKit::MocnikGeneratorBasic(__pyx_t_1, __pyx_t_2, __pyx_t_3);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 3049, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_4;

  /* "networkit/_NetworKit.pyx":3048
 * 	"""
 * 
 * 	def __cinit__(self, dim, n, k):             # <<<<<<<<<<<<<<
 * 		self._this = new _MocnikGeneratorBasic(dim, n, k)
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MocnikGeneratorBasic.__cinit__", __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_9networkit_10_NetworKit_20MocnikGeneratorBasic_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20MocnikGeneratorBasic_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20MocnikGeneratorBasic_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_MocnikGeneratorBasic *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20MocnikGeneratorBasic_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MocnikGeneratorBasic *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__85, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.MocnikGeneratorBasic.__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_9networkit_10_NetworKit_20MocnikGeneratorBasic_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20MocnikGeneratorBasic_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20MocnikGeneratorBasic_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_MocnikGeneratorBasic *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20MocnikGeneratorBasic_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MocnikGeneratorBasic *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__86, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.MocnikGeneratorBasic.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3086
 * 	paths = {"kronfitPath" : None}
 * 
 * 	def __cinit__(self, count scale, count edgeFactor, double a, double b, double c, double d, bool_t weighted=False, count reduceNodes=0):             # <<<<<<<<<<<<<<
 * 		self._this = new _RmatGenerator(scale, edgeFactor, a, b, c, d, weighted, reduceNodes)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_13RmatGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_13RmatGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_scale;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_edgeFactor;
  double __pyx_v_a;
  double __pyx_v_b;
  double __pyx_v_c;
  double __pyx_v_d;
  bool __pyx_v_weighted;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_reduceNodes;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_scale,&__pyx_n_s_edgeFactor,&__pyx_n_s_a,&__pyx_n_s_b,&__pyx_n_s_c,&__pyx_n_s_d,&__pyx_n_s_weighted,&__pyx_n_s_reduceNodes,0};
    PyObject* values[8] = {0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_scale)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_edgeFactor)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 6, 8, 1); __PYX_ERR(0, 3086, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_a)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 6, 8, 2); __PYX_ERR(0, 3086, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_b)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 6, 8, 3); __PYX_ERR(0, 3086, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_c)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 6, 8, 4); __PYX_ERR(0, 3086, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_d)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 6, 8, 5); __PYX_ERR(0, 3086, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_weighted);
          if (value) { values[6] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_reduceNodes);
          if (value) { values[7] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3086, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_scale = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_scale == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3086, __pyx_L3_error)
    __pyx_v_edgeFactor = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_edgeFactor == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3086, __pyx_L3_error)
    __pyx_v_a = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_a == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3086, __pyx_L3_error)
    __pyx_v_b = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_b == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3086, __pyx_L3_error)
    __pyx_v_c = __pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_c == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3086, __pyx_L3_error)
    __pyx_v_d = __pyx_PyFloat_AsDouble(values[5]); if (unlikely((__pyx_v_d == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3086, __pyx_L3_error)
    if (values[6]) {
      __pyx_v_weighted = __Pyx_PyObject_IsTrue(values[6]); if (unlikely((__pyx_v_weighted == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3086, __pyx_L3_error)
    } else {
      __pyx_v_weighted = ((bool)0);
    }
    if (values[7]) {
      __pyx_v_reduceNodes = __Pyx_PyInt_As_uint64_t(values[7]); if (unlikely((__pyx_v_reduceNodes == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3086, __pyx_L3_error)
    } else {
      __pyx_v_reduceNodes = ((__pyx_t_9networkit_10_NetworKit_count)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 6, 8, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3086, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.RmatGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_13RmatGenerator___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_RmatGenerator *)__pyx_v_self), __pyx_v_scale, __pyx_v_edgeFactor, __pyx_v_a, __pyx_v_b, __pyx_v_c, __pyx_v_d, __pyx_v_weighted, __pyx_v_reduceNodes);

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

static int __pyx_pf_9networkit_10_NetworKit_13RmatGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_RmatGenerator *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_count __pyx_v_scale, __pyx_t_9networkit_10_NetworKit_count __pyx_v_edgeFactor, double __pyx_v_a, double __pyx_v_b, double __pyx_v_c, double __pyx_v_d, bool __pyx_v_weighted, __pyx_t_9networkit_10_NetworKit_count __pyx_v_reduceNodes) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::RmatGenerator *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":3087
 * 
 * 	def __cinit__(self, count scale, count edgeFactor, double a, double b, double c, double d, bool_t weighted=False, count reduceNodes=0):
 * 		self._this = new _RmatGenerator(scale, edgeFactor, a, b, c, d, weighted, reduceNodes)             # <<<<<<<<<<<<<<
 * 
 * 	@classmethod
 */
  try {
    __pyx_t_1 = new NetworKit::RmatGenerator(__pyx_v_scale, __pyx_v_edgeFactor, __pyx_v_a, __pyx_v_b, __pyx_v_c, __pyx_v_d, __pyx_v_weighted, __pyx_v_reduceNodes);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 3087, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":3086
 * 	paths = {"kronfitPath" : None}
 * 
 * 	def __cinit__(self, count scale, count edgeFactor, double a, double b, double c, double d, bool_t weighted=False, count reduceNodes=0):             # <<<<<<<<<<<<<<
 * 		self._this = new _RmatGenerator(scale, edgeFactor, a, b, c, d, weighted, reduceNodes)
 * 
 */

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

/* "networkit/_NetworKit.pyx":3090
 * 
 * 	@classmethod
 * 	def setPaths(cls, kronfitPath):             # <<<<<<<<<<<<<<
 * 		cls.paths["kronfitPath"] = kronfitPath
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_13RmatGenerator_3setPaths(PyObject *__pyx_v_cls, PyObject *__pyx_v_kronfitPath); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_13RmatGenerator_3setPaths(PyObject *__pyx_v_cls, PyObject *__pyx_v_kronfitPath) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setPaths (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_13RmatGenerator_2setPaths(((PyTypeObject*)__pyx_v_cls), ((PyObject *)__pyx_v_kronfitPath));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_13RmatGenerator_2setPaths(PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_kronfitPath) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("setPaths", 0);

  /* "networkit/_NetworKit.pyx":3091
 * 	@classmethod
 * 	def setPaths(cls, kronfitPath):
 * 		cls.paths["kronfitPath"] = kronfitPath             # <<<<<<<<<<<<<<
 * 
 * 	@classmethod
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cls), __pyx_n_s_paths); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3091, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_kronfitPath, __pyx_v_kronfitPath) < 0)) __PYX_ERR(0, 3091, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":3090
 * 
 * 	@classmethod
 * 	def setPaths(cls, kronfitPath):             # <<<<<<<<<<<<<<
 * 		cls.paths["kronfitPath"] = kronfitPath
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.RmatGenerator.setPaths", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3094
 * 
 * 	@classmethod
 * 	def fit(cls, G, scale=1, initiator=None, kronfit=True, iterations=50):             # <<<<<<<<<<<<<<
 * 		import math
 * 		import re
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_13RmatGenerator_5fit(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_13RmatGenerator_5fit(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_G = 0;
  PyObject *__pyx_v_scale = 0;
  PyObject *__pyx_v_initiator = 0;
  PyObject *__pyx_v_kronfit = 0;
  PyObject *__pyx_v_iterations = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("fit (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_scale,&__pyx_n_s_initiator,&__pyx_n_s_kronfit,&__pyx_n_s_iterations,0};
    PyObject* values[5] = {0,0,0,0,0};
    values[1] = ((PyObject *)__pyx_int_1);
    values[2] = ((PyObject *)Py_None);
    values[3] = ((PyObject *)Py_True);
    values[4] = ((PyObject *)__pyx_int_50);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_scale);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_initiator);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kronfit);
          if (value) { values[3] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_iterations);
          if (value) { values[4] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "fit") < 0)) __PYX_ERR(0, 3094, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = values[0];
    __pyx_v_scale = values[1];
    __pyx_v_initiator = values[2];
    __pyx_v_kronfit = values[3];
    __pyx_v_iterations = values[4];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("fit", 0, 1, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3094, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.RmatGenerator.fit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_13RmatGenerator_4fit(((PyTypeObject*)__pyx_v_cls), __pyx_v_G, __pyx_v_scale, __pyx_v_initiator, __pyx_v_kronfit, __pyx_v_iterations);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_13RmatGenerator_4fit(PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_G, PyObject *__pyx_v_scale, PyObject *__pyx_v_initiator, PyObject *__pyx_v_kronfit, PyObject *__pyx_v_iterations) {
  PyObject *__pyx_v_math = NULL;
  PyObject *__pyx_v_re = NULL;
  PyObject *__pyx_v_subprocess = NULL;
  PyObject *__pyx_v_os = NULL;
  PyObject *__pyx_v_random = NULL;
  PyObject *__pyx_v_graphio = NULL;
  PyObject *__pyx_v_a = NULL;
  PyObject *__pyx_v_b = NULL;
  PyObject *__pyx_v_c = NULL;
  PyObject *__pyx_v_d = NULL;
  PyObject *__pyx_v_tmpdir = NULL;
  PyObject *__pyx_v_tmpGraphPath = NULL;
  PyObject *__pyx_v_tmpOutputPath = NULL;
  PyObject *__pyx_v_args = NULL;
  PyObject *__pyx_v_resultFile = NULL;
  PyObject *__pyx_v_line = NULL;
  PyObject *__pyx_v_matches = NULL;
  PyObject *__pyx_v_weights = NULL;
  PyObject *__pyx_v_nweights = NULL;
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_v_m = NULL;
  PyObject *__pyx_v_scaleParameter = NULL;
  PyObject *__pyx_v_edgeFactor = NULL;
  PyObject *__pyx_v_reduceNodes = NULL;
  PyObject *__pyx_9genexpr11__pyx_v_s = NULL;
  PyObject *__pyx_9genexpr12__pyx_v_w = 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;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *(*__pyx_t_7)(PyObject *);
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_t_15;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  Py_ssize_t __pyx_t_20;
  PyObject *(*__pyx_t_21)(PyObject *);
  Py_ssize_t __pyx_t_22;
  PyObject *(*__pyx_t_23)(PyObject *);
  PyObject *__pyx_t_24 = NULL;
  __Pyx_RefNannySetupContext("fit", 0);

  /* "networkit/_NetworKit.pyx":3095
 * 	@classmethod
 * 	def fit(cls, G, scale=1, initiator=None, kronfit=True, iterations=50):
 * 		import math             # <<<<<<<<<<<<<<
 * 		import re
 * 		import subprocess
 */
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_math, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_math = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":3096
 * 	def fit(cls, G, scale=1, initiator=None, kronfit=True, iterations=50):
 * 		import math
 * 		import re             # <<<<<<<<<<<<<<
 * 		import subprocess
 * 		import os
 */
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_re, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3096, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_re = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":3097
 * 		import math
 * 		import re
 * 		import subprocess             # <<<<<<<<<<<<<<
 * 		import os
 * 		import random
 */
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_subprocess, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_subprocess = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":3098
 * 		import re
 * 		import subprocess
 * 		import os             # <<<<<<<<<<<<<<
 * 		import random
 * 		from networkit import graphio
 */
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_os, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_os = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":3099
 * 		import subprocess
 * 		import os
 * 		import random             # <<<<<<<<<<<<<<
 * 		from networkit import graphio
 * 		if initiator:
 */
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_random, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_random = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":3100
 * 		import os
 * 		import random
 * 		from networkit import graphio             # <<<<<<<<<<<<<<
 * 		if initiator:
 * 			(a,b,c,d) = initiator
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_graphio);
  __Pyx_GIVEREF(__pyx_n_s_graphio);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_graphio);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_networkit, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_graphio); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_graphio = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":3101
 * 		import random
 * 		from networkit import graphio
 * 		if initiator:             # <<<<<<<<<<<<<<
 * 			(a,b,c,d) = initiator
 * 		else:
 */
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_initiator); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3101, __pyx_L1_error)
  if (__pyx_t_3) {

    /* "networkit/_NetworKit.pyx":3102
 * 		from networkit import graphio
 * 		if initiator:
 * 			(a,b,c,d) = initiator             # <<<<<<<<<<<<<<
 * 		else:
 * 			if kronfit:
 */
    if ((likely(PyTuple_CheckExact(__pyx_v_initiator))) || (PyList_CheckExact(__pyx_v_initiator))) {
      PyObject* sequence = __pyx_v_initiator;
      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
      if (unlikely(size != 4)) {
        if (size > 4) __Pyx_RaiseTooManyValuesError(4);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 3102, __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_t_1 = PyTuple_GET_ITEM(sequence, 1); 
        __pyx_t_4 = PyTuple_GET_ITEM(sequence, 2); 
        __pyx_t_5 = PyTuple_GET_ITEM(sequence, 3); 
      } else {
        __pyx_t_2 = PyList_GET_ITEM(sequence, 0); 
        __pyx_t_1 = PyList_GET_ITEM(sequence, 1); 
        __pyx_t_4 = PyList_GET_ITEM(sequence, 2); 
        __pyx_t_5 = PyList_GET_ITEM(sequence, 3); 
      }
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      #else
      {
        Py_ssize_t i;
        PyObject** temps[4] = {&__pyx_t_2,&__pyx_t_1,&__pyx_t_4,&__pyx_t_5};
        for (i=0; i < 4; i++) {
          PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 3102, __pyx_L1_error)
          __Pyx_GOTREF(item);
          *(temps[i]) = item;
        }
      }
      #endif
    } else {
      Py_ssize_t index = -1;
      PyObject** temps[4] = {&__pyx_t_2,&__pyx_t_1,&__pyx_t_4,&__pyx_t_5};
      __pyx_t_6 = PyObject_GetIter(__pyx_v_initiator); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3102, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext;
      for (index=0; index < 4; index++) {
        PyObject* item = __pyx_t_7(__pyx_t_6); if (unlikely(!item)) goto __pyx_L4_unpacking_failed;
        __Pyx_GOTREF(item);
        *(temps[index]) = item;
      }
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 4) < 0) __PYX_ERR(0, 3102, __pyx_L1_error)
      __pyx_t_7 = NULL;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      goto __pyx_L5_unpacking_done;
      __pyx_L4_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_7 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 3102, __pyx_L1_error)
      __pyx_L5_unpacking_done:;
    }
    __pyx_v_a = __pyx_t_2;
    __pyx_t_2 = 0;
    __pyx_v_b = __pyx_t_1;
    __pyx_t_1 = 0;
    __pyx_v_c = __pyx_t_4;
    __pyx_t_4 = 0;
    __pyx_v_d = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "networkit/_NetworKit.pyx":3101
 * 		import random
 * 		from networkit import graphio
 * 		if initiator:             # <<<<<<<<<<<<<<
 * 			(a,b,c,d) = initiator
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":3104
 * 			(a,b,c,d) = initiator
 * 		else:
 * 			if kronfit:             # <<<<<<<<<<<<<<
 * 				with tempfile.TemporaryDirectory() as tmpdir:
 * 					if cls.paths["kronfitPath"] is None:
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_kronfit); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3104, __pyx_L1_error)
    if (__pyx_t_3) {

      /* "networkit/_NetworKit.pyx":3105
 * 		else:
 * 			if kronfit:
 * 				with tempfile.TemporaryDirectory() as tmpdir:             # <<<<<<<<<<<<<<
 * 					if cls.paths["kronfitPath"] is None:
 * 						raise RuntimeError("call setPaths class method first to configure")
 */
      /*with:*/ {
        __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_tempfile); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3105, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_TemporaryDirectory); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3105, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = NULL;
        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
          __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
          if (likely(__pyx_t_4)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
            __Pyx_INCREF(__pyx_t_4);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_1, function);
          }
        }
        __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3105, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __pyx_t_8 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3105, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3105, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_2 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
          __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
          if (likely(__pyx_t_2)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
            __Pyx_INCREF(__pyx_t_2);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_4, function);
          }
        }
        __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3105, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __pyx_t_1;
        __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        /*try:*/ {
          {
            __Pyx_PyThreadState_declare
            __Pyx_PyThreadState_assign
            __Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11);
            __Pyx_XGOTREF(__pyx_t_9);
            __Pyx_XGOTREF(__pyx_t_10);
            __Pyx_XGOTREF(__pyx_t_11);
            /*try:*/ {
              __pyx_v_tmpdir = __pyx_t_4;
              __pyx_t_4 = 0;

              /* "networkit/_NetworKit.pyx":3106
 * 			if kronfit:
 * 				with tempfile.TemporaryDirectory() as tmpdir:
 * 					if cls.paths["kronfitPath"] is None:             # <<<<<<<<<<<<<<
 * 						raise RuntimeError("call setPaths class method first to configure")
 * 					# write graph
 */
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cls), __pyx_n_s_paths); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3106, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_t_4, __pyx_n_u_kronfitPath); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3106, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_3 = (__pyx_t_5 == Py_None);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_12 = (__pyx_t_3 != 0);
              if (unlikely(__pyx_t_12)) {

                /* "networkit/_NetworKit.pyx":3107
 * 				with tempfile.TemporaryDirectory() as tmpdir:
 * 					if cls.paths["kronfitPath"] is None:
 * 						raise RuntimeError("call setPaths class method first to configure")             # <<<<<<<<<<<<<<
 * 					# write graph
 * 					tmpGraphPath = os.path.join(tmpdir, "{0}.edgelist".format(G.getName()))
 */
                __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__87, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3107, __pyx_L11_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(0, 3107, __pyx_L11_error)

                /* "networkit/_NetworKit.pyx":3106
 * 			if kronfit:
 * 				with tempfile.TemporaryDirectory() as tmpdir:
 * 					if cls.paths["kronfitPath"] is None:             # <<<<<<<<<<<<<<
 * 						raise RuntimeError("call setPaths class method first to configure")
 * 					# write graph
 */
              }

              /* "networkit/_NetworKit.pyx":3109
 * 						raise RuntimeError("call setPaths class method first to configure")
 * 					# write graph
 * 					tmpGraphPath = os.path.join(tmpdir, "{0}.edgelist".format(G.getName()))             # <<<<<<<<<<<<<<
 * 					tmpOutputPath = os.path.join(tmpdir, "{0}.kronfit".format(G.getName()))
 * 					graphio.writeGraph(G, tmpGraphPath, graphio.Format.EdgeList, separator="\t", firstNode=1, bothDirections=True)
 */
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_os, __pyx_n_s_path); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3109, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_join); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3109, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_1);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_edgelist, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3109, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_G, __pyx_n_s_getName); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3109, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_14 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
                __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13);
                if (likely(__pyx_t_14)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                  __Pyx_INCREF(__pyx_t_14);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_13, function);
                }
              }
              __pyx_t_6 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_13);
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
              if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3109, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_6);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_2);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_2, function);
                }
              }
              __pyx_t_4 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_13, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3109, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = NULL;
              __pyx_t_15 = 0;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
                __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
                if (likely(__pyx_t_2)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
                  __Pyx_INCREF(__pyx_t_2);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_1, function);
                  __pyx_t_15 = 1;
                }
              }
              #if CYTHON_FAST_PYCALL
              if (PyFunction_Check(__pyx_t_1)) {
                PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_tmpdir, __pyx_t_4};
                __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3109, __pyx_L11_error)
                __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
                __Pyx_GOTREF(__pyx_t_5);
                __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              } else
              #endif
              #if CYTHON_FAST_PYCCALL
              if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
                PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_tmpdir, __pyx_t_4};
                __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3109, __pyx_L11_error)
                __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
                __Pyx_GOTREF(__pyx_t_5);
                __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              } else
              #endif
              {
                __pyx_t_6 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3109, __pyx_L11_error)
                __Pyx_GOTREF(__pyx_t_6);
                if (__pyx_t_2) {
                  __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = NULL;
                }
                __Pyx_INCREF(__pyx_v_tmpdir);
                __Pyx_GIVEREF(__pyx_v_tmpdir);
                PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_15, __pyx_v_tmpdir);
                __Pyx_GIVEREF(__pyx_t_4);
                PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_15, __pyx_t_4);
                __pyx_t_4 = 0;
                __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3109, __pyx_L11_error)
                __Pyx_GOTREF(__pyx_t_5);
                __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
              }
              __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
              __pyx_v_tmpGraphPath = __pyx_t_5;
              __pyx_t_5 = 0;

              /* "networkit/_NetworKit.pyx":3110
 * 					# write graph
 * 					tmpGraphPath = os.path.join(tmpdir, "{0}.edgelist".format(G.getName()))
 * 					tmpOutputPath = os.path.join(tmpdir, "{0}.kronfit".format(G.getName()))             # <<<<<<<<<<<<<<
 * 					graphio.writeGraph(G, tmpGraphPath, graphio.Format.EdgeList, separator="\t", firstNode=1, bothDirections=True)
 * 					# call kronfit
 */
              __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_os, __pyx_n_s_path); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3110, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_1);
              __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3110, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_6);
              __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_kronfit, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3110, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_G, __pyx_n_s_getName); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3110, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_14 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
                __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13);
                if (likely(__pyx_t_14)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                  __Pyx_INCREF(__pyx_t_14);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_13, function);
                }
              }
              __pyx_t_2 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_13);
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
              if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3110, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_4, function);
                }
              }
              __pyx_t_1 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_13, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3110, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_1);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = NULL;
              __pyx_t_15 = 0;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
                __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
                if (likely(__pyx_t_4)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
                  __Pyx_INCREF(__pyx_t_4);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_6, function);
                  __pyx_t_15 = 1;
                }
              }
              #if CYTHON_FAST_PYCALL
              if (PyFunction_Check(__pyx_t_6)) {
                PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_tmpdir, __pyx_t_1};
                __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3110, __pyx_L11_error)
                __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
                __Pyx_GOTREF(__pyx_t_5);
                __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
              } else
              #endif
              #if CYTHON_FAST_PYCCALL
              if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
                PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_tmpdir, __pyx_t_1};
                __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3110, __pyx_L11_error)
                __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
                __Pyx_GOTREF(__pyx_t_5);
                __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
              } else
              #endif
              {
                __pyx_t_2 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3110, __pyx_L11_error)
                __Pyx_GOTREF(__pyx_t_2);
                if (__pyx_t_4) {
                  __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __pyx_t_4 = NULL;
                }
                __Pyx_INCREF(__pyx_v_tmpdir);
                __Pyx_GIVEREF(__pyx_v_tmpdir);
                PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_15, __pyx_v_tmpdir);
                __Pyx_GIVEREF(__pyx_t_1);
                PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_15, __pyx_t_1);
                __pyx_t_1 = 0;
                __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3110, __pyx_L11_error)
                __Pyx_GOTREF(__pyx_t_5);
                __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              }
              __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
              __pyx_v_tmpOutputPath = __pyx_t_5;
              __pyx_t_5 = 0;

              /* "networkit/_NetworKit.pyx":3111
 * 					tmpGraphPath = os.path.join(tmpdir, "{0}.edgelist".format(G.getName()))
 * 					tmpOutputPath = os.path.join(tmpdir, "{0}.kronfit".format(G.getName()))
 * 					graphio.writeGraph(G, tmpGraphPath, graphio.Format.EdgeList, separator="\t", firstNode=1, bothDirections=True)             # <<<<<<<<<<<<<<
 * 					# call kronfit
 * 					args = [cls.paths["kronfitPath"], "-i:{0}".format(tmpGraphPath), "-gi:{0}".format(str(iterations)), "-o:{}".format(tmpOutputPath)]
 */
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_graphio, __pyx_n_s_writeGraph); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3111, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_graphio, __pyx_n_s_Format); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3111, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_6);
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_EdgeList); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3111, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
              __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3111, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_6);
              __Pyx_INCREF(__pyx_v_G);
              __Pyx_GIVEREF(__pyx_v_G);
              PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_G);
              __Pyx_INCREF(__pyx_v_tmpGraphPath);
              __Pyx_GIVEREF(__pyx_v_tmpGraphPath);
              PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_tmpGraphPath);
              __Pyx_GIVEREF(__pyx_t_2);
              PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_2);
              __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3111, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_2);
              if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_separator, __pyx_kp_u__88) < 0) __PYX_ERR(0, 3111, __pyx_L11_error)
              if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_firstNode, __pyx_int_1) < 0) __PYX_ERR(0, 3111, __pyx_L11_error)
              if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_bothDirections, Py_True) < 0) __PYX_ERR(0, 3111, __pyx_L11_error)
              __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3111, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_1);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

              /* "networkit/_NetworKit.pyx":3113
 * 					graphio.writeGraph(G, tmpGraphPath, graphio.Format.EdgeList, separator="\t", firstNode=1, bothDirections=True)
 * 					# call kronfit
 * 					args = [cls.paths["kronfitPath"], "-i:{0}".format(tmpGraphPath), "-gi:{0}".format(str(iterations)), "-o:{}".format(tmpOutputPath)]             # <<<<<<<<<<<<<<
 * 					subprocess.call(args)
 * 					# read estimated parameters
 */
              __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cls), __pyx_n_s_paths); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3113, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_1);
              __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_kronfitPath); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3113, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
              __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_i_0, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3113, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_6);
              __pyx_t_5 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_6, function);
                }
              }
              __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_v_tmpGraphPath) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_tmpGraphPath);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3113, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_1);
              __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_gi_0, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3113, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_iterations); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3113, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_5, function);
                }
              }
              __pyx_t_6 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_13, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3113, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_6);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_o, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3113, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_4, function);
                }
              }
              __pyx_t_5 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_13, __pyx_v_tmpOutputPath) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_tmpOutputPath);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3113, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = PyList_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3113, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_GIVEREF(__pyx_t_2);
              PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
              __Pyx_GIVEREF(__pyx_t_1);
              PyList_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
              __Pyx_GIVEREF(__pyx_t_6);
              PyList_SET_ITEM(__pyx_t_4, 2, __pyx_t_6);
              __Pyx_GIVEREF(__pyx_t_5);
              PyList_SET_ITEM(__pyx_t_4, 3, __pyx_t_5);
              __pyx_t_2 = 0;
              __pyx_t_1 = 0;
              __pyx_t_6 = 0;
              __pyx_t_5 = 0;
              __pyx_v_args = ((PyObject*)__pyx_t_4);
              __pyx_t_4 = 0;

              /* "networkit/_NetworKit.pyx":3114
 * 					# call kronfit
 * 					args = [cls.paths["kronfitPath"], "-i:{0}".format(tmpGraphPath), "-gi:{0}".format(str(iterations)), "-o:{}".format(tmpOutputPath)]
 * 					subprocess.call(args)             # <<<<<<<<<<<<<<
 * 					# read estimated parameters
 * 					with open(tmpOutputPath) as resultFile:
 */
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_subprocess, __pyx_n_s_call); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3114, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_6 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
                __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
                if (likely(__pyx_t_6)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                  __Pyx_INCREF(__pyx_t_6);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_5, function);
                }
              }
              __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_v_args) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_args);
              __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3114, __pyx_L11_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

              /* "networkit/_NetworKit.pyx":3116
 * 					subprocess.call(args)
 * 					# read estimated parameters
 * 					with open(tmpOutputPath) as resultFile:             # <<<<<<<<<<<<<<
 * 						for line in resultFile:
 * 							if "initiator" in line:
 */
              /*with:*/ {
                __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_open, __pyx_v_tmpOutputPath); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3116, __pyx_L11_error)
                __Pyx_GOTREF(__pyx_t_4);
                __pyx_t_16 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_exit); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3116, __pyx_L11_error)
                __Pyx_GOTREF(__pyx_t_16);
                __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_enter); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3116, __pyx_L18_error)
                __Pyx_GOTREF(__pyx_t_6);
                __pyx_t_1 = NULL;
                if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
                  __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6);
                  if (likely(__pyx_t_1)) {
                    PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
                    __Pyx_INCREF(__pyx_t_1);
                    __Pyx_INCREF(function);
                    __Pyx_DECREF_SET(__pyx_t_6, function);
                  }
                }
                __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_6);
                __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
                if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3116, __pyx_L18_error)
                __Pyx_GOTREF(__pyx_t_5);
                __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
                __pyx_t_6 = __pyx_t_5;
                __pyx_t_5 = 0;
                __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
                /*try:*/ {
                  {
                    __Pyx_PyThreadState_declare
                    __Pyx_PyThreadState_assign
                    __Pyx_ExceptionSave(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19);
                    __Pyx_XGOTREF(__pyx_t_17);
                    __Pyx_XGOTREF(__pyx_t_18);
                    __Pyx_XGOTREF(__pyx_t_19);
                    /*try:*/ {
                      __pyx_v_resultFile = __pyx_t_6;
                      __pyx_t_6 = 0;

                      /* "networkit/_NetworKit.pyx":3117
 * 					# read estimated parameters
 * 					with open(tmpOutputPath) as resultFile:
 * 						for line in resultFile:             # <<<<<<<<<<<<<<
 * 							if "initiator" in line:
 * 								matches = re.findall("\d+\.\d+", line)
 */
                      if (likely(PyList_CheckExact(__pyx_v_resultFile)) || PyTuple_CheckExact(__pyx_v_resultFile)) {
                        __pyx_t_6 = __pyx_v_resultFile; __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_resultFile); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3117, __pyx_L22_error)
                        __Pyx_GOTREF(__pyx_t_6);
                        __pyx_t_21 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3117, __pyx_L22_error)
                      }
                      for (;;) {
                        if (likely(!__pyx_t_21)) {
                          if (likely(PyList_CheckExact(__pyx_t_6))) {
                            if (__pyx_t_20 >= PyList_GET_SIZE(__pyx_t_6)) break;
                            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                            __pyx_t_4 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_20); __Pyx_INCREF(__pyx_t_4); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 3117, __pyx_L22_error)
                            #else
                            __pyx_t_4 = PySequence_ITEM(__pyx_t_6, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3117, __pyx_L22_error)
                            __Pyx_GOTREF(__pyx_t_4);
                            #endif
                          } else {
                            if (__pyx_t_20 >= PyTuple_GET_SIZE(__pyx_t_6)) break;
                            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                            __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_20); __Pyx_INCREF(__pyx_t_4); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 3117, __pyx_L22_error)
                            #else
                            __pyx_t_4 = PySequence_ITEM(__pyx_t_6, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3117, __pyx_L22_error)
                            __Pyx_GOTREF(__pyx_t_4);
                            #endif
                          }
                        } else {
                          __pyx_t_4 = __pyx_t_21(__pyx_t_6);
                          if (unlikely(!__pyx_t_4)) {
                            PyObject* exc_type = PyErr_Occurred();
                            if (exc_type) {
                              if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                              else __PYX_ERR(0, 3117, __pyx_L22_error)
                            }
                            break;
                          }
                          __Pyx_GOTREF(__pyx_t_4);
                        }
                        __Pyx_XDECREF_SET(__pyx_v_line, __pyx_t_4);
                        __pyx_t_4 = 0;

                        /* "networkit/_NetworKit.pyx":3118
 * 					with open(tmpOutputPath) as resultFile:
 * 						for line in resultFile:
 * 							if "initiator" in line:             # <<<<<<<<<<<<<<
 * 								matches = re.findall("\d+\.\d+", line)
 * 								weights = [float(s) for s in matches]
 */
                        __pyx_t_12 = (__Pyx_PySequence_ContainsTF(__pyx_n_u_initiator, __pyx_v_line, Py_EQ)); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 3118, __pyx_L22_error)
                        __pyx_t_3 = (__pyx_t_12 != 0);
                        if (__pyx_t_3) {

                          /* "networkit/_NetworKit.pyx":3119
 * 						for line in resultFile:
 * 							if "initiator" in line:
 * 								matches = re.findall("\d+\.\d+", line)             # <<<<<<<<<<<<<<
 * 								weights = [float(s) for s in matches]
 * 			else:
 */
                          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_re, __pyx_n_s_findall); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3119, __pyx_L22_error)
                          __Pyx_GOTREF(__pyx_t_5);
                          __pyx_t_1 = NULL;
                          __pyx_t_15 = 0;
                          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
                            __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5);
                            if (likely(__pyx_t_1)) {
                              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                              __Pyx_INCREF(__pyx_t_1);
                              __Pyx_INCREF(function);
                              __Pyx_DECREF_SET(__pyx_t_5, function);
                              __pyx_t_15 = 1;
                            }
                          }
                          #if CYTHON_FAST_PYCALL
                          if (PyFunction_Check(__pyx_t_5)) {
                            PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_kp_u_d_d, __pyx_v_line};
                            __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3119, __pyx_L22_error)
                            __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
                            __Pyx_GOTREF(__pyx_t_4);
                          } else
                          #endif
                          #if CYTHON_FAST_PYCCALL
                          if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
                            PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_kp_u_d_d, __pyx_v_line};
                            __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3119, __pyx_L22_error)
                            __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
                            __Pyx_GOTREF(__pyx_t_4);
                          } else
                          #endif
                          {
                            __pyx_t_2 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3119, __pyx_L22_error)
                            __Pyx_GOTREF(__pyx_t_2);
                            if (__pyx_t_1) {
                              __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __pyx_t_1 = NULL;
                            }
                            __Pyx_INCREF(__pyx_kp_u_d_d);
                            __Pyx_GIVEREF(__pyx_kp_u_d_d);
                            PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_15, __pyx_kp_u_d_d);
                            __Pyx_INCREF(__pyx_v_line);
                            __Pyx_GIVEREF(__pyx_v_line);
                            PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_15, __pyx_v_line);
                            __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3119, __pyx_L22_error)
                            __Pyx_GOTREF(__pyx_t_4);
                            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
                          }
                          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
                          __Pyx_XDECREF_SET(__pyx_v_matches, __pyx_t_4);
                          __pyx_t_4 = 0;

                          /* "networkit/_NetworKit.pyx":3120
 * 							if "initiator" in line:
 * 								matches = re.findall("\d+\.\d+", line)
 * 								weights = [float(s) for s in matches]             # <<<<<<<<<<<<<<
 * 			else:
 * 				# random weights because kronfit is slow
 */
                          { /* enter inner scope */
                            __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3120, __pyx_L33_error)
                            __Pyx_GOTREF(__pyx_t_4);
                            if (likely(PyList_CheckExact(__pyx_v_matches)) || PyTuple_CheckExact(__pyx_v_matches)) {
                              __pyx_t_5 = __pyx_v_matches; __Pyx_INCREF(__pyx_t_5); __pyx_t_22 = 0;
                              __pyx_t_23 = NULL;
                            } else {
                              __pyx_t_22 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_matches); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3120, __pyx_L33_error)
                              __Pyx_GOTREF(__pyx_t_5);
                              __pyx_t_23 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3120, __pyx_L33_error)
                            }
                            for (;;) {
                              if (likely(!__pyx_t_23)) {
                                if (likely(PyList_CheckExact(__pyx_t_5))) {
                                  if (__pyx_t_22 >= PyList_GET_SIZE(__pyx_t_5)) break;
                                  #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                                  __pyx_t_2 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_22); __Pyx_INCREF(__pyx_t_2); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 3120, __pyx_L33_error)
                                  #else
                                  __pyx_t_2 = PySequence_ITEM(__pyx_t_5, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3120, __pyx_L33_error)
                                  __Pyx_GOTREF(__pyx_t_2);
                                  #endif
                                } else {
                                  if (__pyx_t_22 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
                                  #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                                  __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_22); __Pyx_INCREF(__pyx_t_2); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 3120, __pyx_L33_error)
                                  #else
                                  __pyx_t_2 = PySequence_ITEM(__pyx_t_5, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3120, __pyx_L33_error)
                                  __Pyx_GOTREF(__pyx_t_2);
                                  #endif
                                }
                              } else {
                                __pyx_t_2 = __pyx_t_23(__pyx_t_5);
                                if (unlikely(!__pyx_t_2)) {
                                  PyObject* exc_type = PyErr_Occurred();
                                  if (exc_type) {
                                    if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                                    else __PYX_ERR(0, 3120, __pyx_L33_error)
                                  }
                                  break;
                                }
                                __Pyx_GOTREF(__pyx_t_2);
                              }
                              __Pyx_XDECREF_SET(__pyx_9genexpr11__pyx_v_s, __pyx_t_2);
                              __pyx_t_2 = 0;
                              __pyx_t_2 = __Pyx_PyNumber_Float(__pyx_9genexpr11__pyx_v_s); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3120, __pyx_L33_error)
                              __Pyx_GOTREF(__pyx_t_2);
                              if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 3120, __pyx_L33_error)
                              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
                            }
                            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
                            __Pyx_XDECREF(__pyx_9genexpr11__pyx_v_s); __pyx_9genexpr11__pyx_v_s = 0;
                            goto __pyx_L36_exit_scope;
                            __pyx_L33_error:;
                            __Pyx_XDECREF(__pyx_9genexpr11__pyx_v_s); __pyx_9genexpr11__pyx_v_s = 0;
                            goto __pyx_L22_error;
                            __pyx_L36_exit_scope:;
                          } /* exit inner scope */
                          __Pyx_XDECREF_SET(__pyx_v_weights, __pyx_t_4);
                          __pyx_t_4 = 0;

                          /* "networkit/_NetworKit.pyx":3118
 * 					with open(tmpOutputPath) as resultFile:
 * 						for line in resultFile:
 * 							if "initiator" in line:             # <<<<<<<<<<<<<<
 * 								matches = re.findall("\d+\.\d+", line)
 * 								weights = [float(s) for s in matches]
 */
                        }

                        /* "networkit/_NetworKit.pyx":3117
 * 					# read estimated parameters
 * 					with open(tmpOutputPath) as resultFile:
 * 						for line in resultFile:             # <<<<<<<<<<<<<<
 * 							if "initiator" in line:
 * 								matches = re.findall("\d+\.\d+", line)
 */
                      }
                      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

                      /* "networkit/_NetworKit.pyx":3116
 * 					subprocess.call(args)
 * 					# read estimated parameters
 * 					with open(tmpOutputPath) as resultFile:             # <<<<<<<<<<<<<<
 * 						for line in resultFile:
 * 							if "initiator" in line:
 */
                    }
                    __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
                    __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0;
                    __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0;
                    goto __pyx_L27_try_end;
                    __pyx_L22_error:;
                    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
                    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
                    __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
                    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
                    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
                    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
                    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
                    /*except:*/ {
                      __Pyx_AddTraceback("networkit._NetworKit.RmatGenerator.fit", __pyx_clineno, __pyx_lineno, __pyx_filename);
                      if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_4, &__pyx_t_5) < 0) __PYX_ERR(0, 3116, __pyx_L24_except_error)
                      __Pyx_GOTREF(__pyx_t_6);
                      __Pyx_GOTREF(__pyx_t_4);
                      __Pyx_GOTREF(__pyx_t_5);
                      __pyx_t_2 = PyTuple_Pack(3, __pyx_t_6, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3116, __pyx_L24_except_error)
                      __Pyx_GOTREF(__pyx_t_2);
                      __pyx_t_24 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_2, NULL);
                      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
                      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
                      if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 3116, __pyx_L24_except_error)
                      __Pyx_GOTREF(__pyx_t_24);
                      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_24);
                      __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
                      if (__pyx_t_3 < 0) __PYX_ERR(0, 3116, __pyx_L24_except_error)
                      __pyx_t_12 = ((!(__pyx_t_3 != 0)) != 0);
                      if (__pyx_t_12) {
                        __Pyx_GIVEREF(__pyx_t_6);
                        __Pyx_GIVEREF(__pyx_t_4);
                        __Pyx_XGIVEREF(__pyx_t_5);
                        __Pyx_ErrRestoreWithState(__pyx_t_6, __pyx_t_4, __pyx_t_5);
                        __pyx_t_6 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; 
                        __PYX_ERR(0, 3116, __pyx_L24_except_error)
                      }
                      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
                      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
                      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
                      goto __pyx_L23_exception_handled;
                    }
                    __pyx_L24_except_error:;
                    __Pyx_XGIVEREF(__pyx_t_17);
                    __Pyx_XGIVEREF(__pyx_t_18);
                    __Pyx_XGIVEREF(__pyx_t_19);
                    __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_18, __pyx_t_19);
                    goto __pyx_L11_error;
                    __pyx_L23_exception_handled:;
                    __Pyx_XGIVEREF(__pyx_t_17);
                    __Pyx_XGIVEREF(__pyx_t_18);
                    __Pyx_XGIVEREF(__pyx_t_19);
                    __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_18, __pyx_t_19);
                    __pyx_L27_try_end:;
                  }
                }
                /*finally:*/ {
                  /*normal exit:*/{
                    if (__pyx_t_16) {
                      __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_tuple__89, NULL);
                      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
                      if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 3116, __pyx_L11_error)
                      __Pyx_GOTREF(__pyx_t_19);
                      __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
                    }
                    goto __pyx_L21;
                  }
                  __pyx_L21:;
                }
                goto __pyx_L40;
                __pyx_L18_error:;
                __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
                goto __pyx_L11_error;
                __pyx_L40:;
              }

              /* "networkit/_NetworKit.pyx":3105
 * 		else:
 * 			if kronfit:
 * 				with tempfile.TemporaryDirectory() as tmpdir:             # <<<<<<<<<<<<<<
 * 					if cls.paths["kronfitPath"] is None:
 * 						raise RuntimeError("call setPaths class method first to configure")
 */
            }
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
            goto __pyx_L16_try_end;
            __pyx_L11_error:;
            __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
            /*except:*/ {
              __Pyx_AddTraceback("networkit._NetworKit.RmatGenerator.fit", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_6) < 0) __PYX_ERR(0, 3105, __pyx_L13_except_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_GOTREF(__pyx_t_6);
              __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3105, __pyx_L13_except_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_2, NULL);
              __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3105, __pyx_L13_except_error)
              __Pyx_GOTREF(__pyx_t_16);
              __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_16);
              __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
              if (__pyx_t_12 < 0) __PYX_ERR(0, 3105, __pyx_L13_except_error)
              __pyx_t_3 = ((!(__pyx_t_12 != 0)) != 0);
              if (__pyx_t_3) {
                __Pyx_GIVEREF(__pyx_t_5);
                __Pyx_GIVEREF(__pyx_t_4);
                __Pyx_XGIVEREF(__pyx_t_6);
                __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_4, __pyx_t_6);
                __pyx_t_5 = 0; __pyx_t_4 = 0; __pyx_t_6 = 0; 
                __PYX_ERR(0, 3105, __pyx_L13_except_error)
              }
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
              goto __pyx_L12_exception_handled;
            }
            __pyx_L13_except_error:;
            __Pyx_XGIVEREF(__pyx_t_9);
            __Pyx_XGIVEREF(__pyx_t_10);
            __Pyx_XGIVEREF(__pyx_t_11);
            __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11);
            goto __pyx_L1_error;
            __pyx_L12_exception_handled:;
            __Pyx_XGIVEREF(__pyx_t_9);
            __Pyx_XGIVEREF(__pyx_t_10);
            __Pyx_XGIVEREF(__pyx_t_11);
            __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11);
            __pyx_L16_try_end:;
          }
        }
        /*finally:*/ {
          /*normal exit:*/{
            if (__pyx_t_8) {
              __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__89, NULL);
              __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
              if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3105, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_11);
              __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
            }
            goto __pyx_L10;
          }
          __pyx_L10:;
        }
        goto __pyx_L44;
        __pyx_L7_error:;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L1_error;
        __pyx_L44:;
      }

      /* "networkit/_NetworKit.pyx":3104
 * 			(a,b,c,d) = initiator
 * 		else:
 * 			if kronfit:             # <<<<<<<<<<<<<<
 * 				with tempfile.TemporaryDirectory() as tmpdir:
 * 					if cls.paths["kronfitPath"] is None:
 */
      goto __pyx_L6;
    }

    /* "networkit/_NetworKit.pyx":3123
 * 			else:
 * 				# random weights because kronfit is slow
 * 				weights = (random.random(), random.random(), random.random(), random.random())             # <<<<<<<<<<<<<<
 * 			# normalize
 * 			nweights = [w / sum(weights) for w in weights]
 */
    /*else*/ {
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_random, __pyx_n_s_random); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3123, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      __pyx_t_6 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3123, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_random, __pyx_n_s_random); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3123, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_2 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
        __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
        if (likely(__pyx_t_2)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
          __Pyx_INCREF(__pyx_t_2);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_5, function);
        }
      }
      __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3123, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_random, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3123, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_1 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
        __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
        if (likely(__pyx_t_1)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
          __Pyx_INCREF(__pyx_t_1);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_2, function);
        }
      }
      __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3123, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_random, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3123, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_13 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
        __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_1);
        if (likely(__pyx_t_13)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
          __Pyx_INCREF(__pyx_t_13);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_1, function);
        }
      }
      __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
      __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3123, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3123, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_GIVEREF(__pyx_t_6);
      PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_6);
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_5);
      PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_5);
      __Pyx_GIVEREF(__pyx_t_2);
      PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_t_2);
      __pyx_t_6 = 0;
      __pyx_t_4 = 0;
      __pyx_t_5 = 0;
      __pyx_t_2 = 0;
      __pyx_v_weights = __pyx_t_1;
      __pyx_t_1 = 0;
    }
    __pyx_L6:;

    /* "networkit/_NetworKit.pyx":3125
 * 				weights = (random.random(), random.random(), random.random(), random.random())
 * 			# normalize
 * 			nweights = [w / sum(weights) for w in weights]             # <<<<<<<<<<<<<<
 * 			(a,b,c,d) = nweights
 * 		print("using initiator matrix [{0},{1};{2},{3}]".format(a,b,c,d))
 */
    { /* enter inner scope */
      __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3125, __pyx_L47_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (unlikely(!__pyx_v_weights)) { __Pyx_RaiseUnboundLocalError("weights"); __PYX_ERR(0, 3125, __pyx_L47_error) }
      if (likely(PyList_CheckExact(__pyx_v_weights)) || PyTuple_CheckExact(__pyx_v_weights)) {
        __pyx_t_2 = __pyx_v_weights; __Pyx_INCREF(__pyx_t_2); __pyx_t_20 = 0;
        __pyx_t_21 = NULL;
      } else {
        __pyx_t_20 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_weights); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3125, __pyx_L47_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_21 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3125, __pyx_L47_error)
      }
      for (;;) {
        if (likely(!__pyx_t_21)) {
          if (likely(PyList_CheckExact(__pyx_t_2))) {
            if (__pyx_t_20 >= PyList_GET_SIZE(__pyx_t_2)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_20); __Pyx_INCREF(__pyx_t_5); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 3125, __pyx_L47_error)
            #else
            __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3125, __pyx_L47_error)
            __Pyx_GOTREF(__pyx_t_5);
            #endif
          } else {
            if (__pyx_t_20 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_20); __Pyx_INCREF(__pyx_t_5); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 3125, __pyx_L47_error)
            #else
            __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3125, __pyx_L47_error)
            __Pyx_GOTREF(__pyx_t_5);
            #endif
          }
        } else {
          __pyx_t_5 = __pyx_t_21(__pyx_t_2);
          if (unlikely(!__pyx_t_5)) {
            PyObject* exc_type = PyErr_Occurred();
            if (exc_type) {
              if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
              else __PYX_ERR(0, 3125, __pyx_L47_error)
            }
            break;
          }
          __Pyx_GOTREF(__pyx_t_5);
        }
        __Pyx_XDECREF_SET(__pyx_9genexpr12__pyx_v_w, __pyx_t_5);
        __pyx_t_5 = 0;
        if (unlikely(!__pyx_v_weights)) { __Pyx_RaiseUnboundLocalError("weights"); __PYX_ERR(0, 3125, __pyx_L47_error) }
        __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_sum, __pyx_v_weights); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3125, __pyx_L47_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_9genexpr12__pyx_v_w, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3125, __pyx_L47_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 3125, __pyx_L47_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_9genexpr12__pyx_v_w); __pyx_9genexpr12__pyx_v_w = 0;
      goto __pyx_L50_exit_scope;
      __pyx_L47_error:;
      __Pyx_XDECREF(__pyx_9genexpr12__pyx_v_w); __pyx_9genexpr12__pyx_v_w = 0;
      goto __pyx_L1_error;
      __pyx_L50_exit_scope:;
    } /* exit inner scope */
    __pyx_v_nweights = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "networkit/_NetworKit.pyx":3126
 * 			# normalize
 * 			nweights = [w / sum(weights) for w in weights]
 * 			(a,b,c,d) = nweights             # <<<<<<<<<<<<<<
 * 		print("using initiator matrix [{0},{1};{2},{3}]".format(a,b,c,d))
 * 		# other parameters
 */
    if (1) {
      PyObject* sequence = __pyx_v_nweights;
      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
      if (unlikely(size != 4)) {
        if (size > 4) __Pyx_RaiseTooManyValuesError(4);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(0, 3126, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_1 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_2 = PyList_GET_ITEM(sequence, 1); 
      __pyx_t_4 = PyList_GET_ITEM(sequence, 2); 
      __pyx_t_5 = PyList_GET_ITEM(sequence, 3); 
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      #else
      {
        Py_ssize_t i;
        PyObject** temps[4] = {&__pyx_t_1,&__pyx_t_2,&__pyx_t_4,&__pyx_t_5};
        for (i=0; i < 4; i++) {
          PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 3126, __pyx_L1_error)
          __Pyx_GOTREF(item);
          *(temps[i]) = item;
        }
      }
      #endif
    }
    __pyx_v_a = __pyx_t_1;
    __pyx_t_1 = 0;
    __pyx_v_b = __pyx_t_2;
    __pyx_t_2 = 0;
    __pyx_v_c = __pyx_t_4;
    __pyx_t_4 = 0;
    __pyx_v_d = __pyx_t_5;
    __pyx_t_5 = 0;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":3127
 * 			nweights = [w / sum(weights) for w in weights]
 * 			(a,b,c,d) = nweights
 * 		print("using initiator matrix [{0},{1};{2},{3}]".format(a,b,c,d))             # <<<<<<<<<<<<<<
 * 		# other parameters
 * 		(n,m) = GraphTools.size(G)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_using_initiator_matrix_0_1_2_3, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = NULL;
  __pyx_t_15 = 0;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_15 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_4)) {
    PyObject *__pyx_temp[5] = {__pyx_t_2, __pyx_v_a, __pyx_v_b, __pyx_v_c, __pyx_v_d};
    __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_15, 4+__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3127, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_5);
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
    PyObject *__pyx_temp[5] = {__pyx_t_2, __pyx_v_a, __pyx_v_b, __pyx_v_c, __pyx_v_d};
    __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_15, 4+__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3127, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_5);
  } else
  #endif
  {
    __pyx_t_1 = PyTuple_New(4+__pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3127, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (__pyx_t_2) {
      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = NULL;
    }
    __Pyx_INCREF(__pyx_v_a);
    __Pyx_GIVEREF(__pyx_v_a);
    PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_15, __pyx_v_a);
    __Pyx_INCREF(__pyx_v_b);
    __Pyx_GIVEREF(__pyx_v_b);
    PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_15, __pyx_v_b);
    __Pyx_INCREF(__pyx_v_c);
    __Pyx_GIVEREF(__pyx_v_c);
    PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_15, __pyx_v_c);
    __Pyx_INCREF(__pyx_v_d);
    __Pyx_GIVEREF(__pyx_v_d);
    PyTuple_SET_ITEM(__pyx_t_1, 3+__pyx_t_15, __pyx_v_d);
    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3127, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "networkit/_NetworKit.pyx":3129
 * 		print("using initiator matrix [{0},{1};{2},{3}]".format(a,b,c,d))
 * 		# other parameters
 * 		(n,m) = GraphTools.size(G)             # <<<<<<<<<<<<<<
 * 		scaleParameter = math.ceil(math.log(n * scale, 2))
 * 		edgeFactor = math.floor(m / n)
 */
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools), __pyx_n_s_size); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_1)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
    }
  }
  __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_v_G) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_G);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
    PyObject* sequence = __pyx_t_4;
    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(0, 3129, __pyx_L1_error)
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    if (likely(PyTuple_CheckExact(sequence))) {
      __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); 
      __pyx_t_1 = PyTuple_GET_ITEM(sequence, 1); 
    } else {
      __pyx_t_5 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_1 = PyList_GET_ITEM(sequence, 1); 
    }
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_1);
    #else
    __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    #endif
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else {
    Py_ssize_t index = -1;
    __pyx_t_2 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext;
    index = 0; __pyx_t_5 = __pyx_t_7(__pyx_t_2); if (unlikely(!__pyx_t_5)) goto __pyx_L51_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_5);
    index = 1; __pyx_t_1 = __pyx_t_7(__pyx_t_2); if (unlikely(!__pyx_t_1)) goto __pyx_L51_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_1);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_2), 2) < 0) __PYX_ERR(0, 3129, __pyx_L1_error)
    __pyx_t_7 = NULL;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    goto __pyx_L52_unpacking_done;
    __pyx_L51_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_7 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(0, 3129, __pyx_L1_error)
    __pyx_L52_unpacking_done:;
  }
  __pyx_v_n = __pyx_t_5;
  __pyx_t_5 = 0;
  __pyx_v_m = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":3130
 * 		# other parameters
 * 		(n,m) = GraphTools.size(G)
 * 		scaleParameter = math.ceil(math.log(n * scale, 2))             # <<<<<<<<<<<<<<
 * 		edgeFactor = math.floor(m / n)
 * 		reduceNodes = (2**scaleParameter) - (scale * n)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_math, __pyx_n_s_ceil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_math, __pyx_n_s_log); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyNumber_Multiply(__pyx_v_n, __pyx_v_scale); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_13 = NULL;
  __pyx_t_15 = 0;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_15 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_t_6, __pyx_int_2};
    __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3130, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_t_6, __pyx_int_2};
    __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3130, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  } else
  #endif
  {
    __pyx_t_14 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3130, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    if (__pyx_t_13) {
      __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __pyx_t_13 = NULL;
    }
    __Pyx_GIVEREF(__pyx_t_6);
    PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_15, __pyx_t_6);
    __Pyx_INCREF(__pyx_int_2);
    __Pyx_GIVEREF(__pyx_int_2);
    PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_15, __pyx_int_2);
    __pyx_t_6 = 0;
    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_14, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3130, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5);
  __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_scaleParameter = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "networkit/_NetworKit.pyx":3131
 * 		(n,m) = GraphTools.size(G)
 * 		scaleParameter = math.ceil(math.log(n * scale, 2))
 * 		edgeFactor = math.floor(m / n)             # <<<<<<<<<<<<<<
 * 		reduceNodes = (2**scaleParameter) - (scale * n)
 * 		print("random nodes to delete to achieve target node count: ", reduceNodes)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_math, __pyx_n_s_floor); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyNumber_Divide(__pyx_v_m, __pyx_v_n); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5);
  __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_edgeFactor = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "networkit/_NetworKit.pyx":3132
 * 		scaleParameter = math.ceil(math.log(n * scale, 2))
 * 		edgeFactor = math.floor(m / n)
 * 		reduceNodes = (2**scaleParameter) - (scale * n)             # <<<<<<<<<<<<<<
 * 		print("random nodes to delete to achieve target node count: ", reduceNodes)
 * 		return RmatGenerator(scaleParameter, edgeFactor, a, b, c, d, False, reduceNodes)
 */
  __pyx_t_4 = __Pyx_PyNumber_PowerOf2(__pyx_int_2, __pyx_v_scaleParameter, Py_None); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = PyNumber_Multiply(__pyx_v_scale, __pyx_v_n); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = PyNumber_Subtract(__pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_reduceNodes = __pyx_t_5;
  __pyx_t_5 = 0;

  /* "networkit/_NetworKit.pyx":3133
 * 		edgeFactor = math.floor(m / n)
 * 		reduceNodes = (2**scaleParameter) - (scale * n)
 * 		print("random nodes to delete to achieve target node count: ", reduceNodes)             # <<<<<<<<<<<<<<
 * 		return RmatGenerator(scaleParameter, edgeFactor, a, b, c, d, False, reduceNodes)
 * 
 */
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3133, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_INCREF(__pyx_kp_u_random_nodes_to_delete_to_achiev);
  __Pyx_GIVEREF(__pyx_kp_u_random_nodes_to_delete_to_achiev);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_u_random_nodes_to_delete_to_achiev);
  __Pyx_INCREF(__pyx_v_reduceNodes);
  __Pyx_GIVEREF(__pyx_v_reduceNodes);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_reduceNodes);
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3133, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":3134
 * 		reduceNodes = (2**scaleParameter) - (scale * n)
 * 		print("random nodes to delete to achieve target node count: ", reduceNodes)
 * 		return RmatGenerator(scaleParameter, edgeFactor, a, b, c, d, False, reduceNodes)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/generators/PowerlawDegreeSequence.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyTuple_New(8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_scaleParameter);
  __Pyx_GIVEREF(__pyx_v_scaleParameter);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_scaleParameter);
  __Pyx_INCREF(__pyx_v_edgeFactor);
  __Pyx_GIVEREF(__pyx_v_edgeFactor);
  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_edgeFactor);
  __Pyx_INCREF(__pyx_v_a);
  __Pyx_GIVEREF(__pyx_v_a);
  PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_a);
  __Pyx_INCREF(__pyx_v_b);
  __Pyx_GIVEREF(__pyx_v_b);
  PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_b);
  __Pyx_INCREF(__pyx_v_c);
  __Pyx_GIVEREF(__pyx_v_c);
  PyTuple_SET_ITEM(__pyx_t_1, 4, __pyx_v_c);
  __Pyx_INCREF(__pyx_v_d);
  __Pyx_GIVEREF(__pyx_v_d);
  PyTuple_SET_ITEM(__pyx_t_1, 5, __pyx_v_d);
  __Pyx_INCREF(Py_False);
  __Pyx_GIVEREF(Py_False);
  PyTuple_SET_ITEM(__pyx_t_1, 6, Py_False);
  __Pyx_INCREF(__pyx_v_reduceNodes);
  __Pyx_GIVEREF(__pyx_v_reduceNodes);
  PyTuple_SET_ITEM(__pyx_t_1, 7, __pyx_v_reduceNodes);
  __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_RmatGenerator), __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3134, __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;

  /* "networkit/_NetworKit.pyx":3094
 * 
 * 	@classmethod
 * 	def fit(cls, G, scale=1, initiator=None, kronfit=True, iterations=50):             # <<<<<<<<<<<<<<
 * 		import math
 * 		import re
 */

  /* 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_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("networkit._NetworKit.RmatGenerator.fit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_math);
  __Pyx_XDECREF(__pyx_v_re);
  __Pyx_XDECREF(__pyx_v_subprocess);
  __Pyx_XDECREF(__pyx_v_os);
  __Pyx_XDECREF(__pyx_v_random);
  __Pyx_XDECREF(__pyx_v_graphio);
  __Pyx_XDECREF(__pyx_v_a);
  __Pyx_XDECREF(__pyx_v_b);
  __Pyx_XDECREF(__pyx_v_c);
  __Pyx_XDECREF(__pyx_v_d);
  __Pyx_XDECREF(__pyx_v_tmpdir);
  __Pyx_XDECREF(__pyx_v_tmpGraphPath);
  __Pyx_XDECREF(__pyx_v_tmpOutputPath);
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_resultFile);
  __Pyx_XDECREF(__pyx_v_line);
  __Pyx_XDECREF(__pyx_v_matches);
  __Pyx_XDECREF(__pyx_v_weights);
  __Pyx_XDECREF(__pyx_v_nweights);
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XDECREF(__pyx_v_m);
  __Pyx_XDECREF(__pyx_v_scaleParameter);
  __Pyx_XDECREF(__pyx_v_edgeFactor);
  __Pyx_XDECREF(__pyx_v_reduceNodes);
  __Pyx_XDECREF(__pyx_9genexpr11__pyx_v_s);
  __Pyx_XDECREF(__pyx_9genexpr12__pyx_v_w);
  __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_9networkit_10_NetworKit_13RmatGenerator_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_13RmatGenerator_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_13RmatGenerator_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_RmatGenerator *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_13RmatGenerator_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_RmatGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__90, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.RmatGenerator.__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_9networkit_10_NetworKit_13RmatGenerator_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_13RmatGenerator_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_13RmatGenerator_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_RmatGenerator *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_13RmatGenerator_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_RmatGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__91, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.RmatGenerator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3177
 * 	cdef _PowerlawDegreeSequence *_this
 * 
 * 	def __cinit__(self, minDeg, count maxDeg = 0, double gamma = -2):             # <<<<<<<<<<<<<<
 * 		if isinstance(minDeg, Graph):
 * 			self._this = new _PowerlawDegreeSequence((<Graph>minDeg)._this)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_minDeg = 0;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_maxDeg;
  double __pyx_v_gamma;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_minDeg,&__pyx_n_s_maxDeg,&__pyx_n_s_gamma,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_minDeg)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_maxDeg);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_gamma);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3177, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_minDeg = values[0];
    if (values[1]) {
      __pyx_v_maxDeg = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_maxDeg == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3177, __pyx_L3_error)
    } else {
      __pyx_v_maxDeg = ((__pyx_t_9networkit_10_NetworKit_count)0);
    }
    if (values[2]) {
      __pyx_v_gamma = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_gamma == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3177, __pyx_L3_error)
    } else {
      __pyx_v_gamma = ((double)-2.0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3177, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PowerlawDegreeSequence.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *)__pyx_v_self), __pyx_v_minDeg, __pyx_v_maxDeg, __pyx_v_gamma);

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

static int __pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self, PyObject *__pyx_v_minDeg, __pyx_t_9networkit_10_NetworKit_count __pyx_v_maxDeg, double __pyx_v_gamma) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  NetworKit::PowerlawDegreeSequence *__pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  std::vector<double>  __pyx_t_6;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_7;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":3178
 * 
 * 	def __cinit__(self, minDeg, count maxDeg = 0, double gamma = -2):
 * 		if isinstance(minDeg, Graph):             # <<<<<<<<<<<<<<
 * 			self._this = new _PowerlawDegreeSequence((<Graph>minDeg)._this)
 * 		elif isinstance(minDeg, collections.Iterable):
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_minDeg, __pyx_ptype_9networkit_10_NetworKit_Graph); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":3179
 * 	def __cinit__(self, minDeg, count maxDeg = 0, double gamma = -2):
 * 		if isinstance(minDeg, Graph):
 * 			self._this = new _PowerlawDegreeSequence((<Graph>minDeg)._this)             # <<<<<<<<<<<<<<
 * 		elif isinstance(minDeg, collections.Iterable):
 * 			self._this = new _PowerlawDegreeSequence(<vector[double]?>minDeg)
 */
    try {
      __pyx_t_3 = new NetworKit::PowerlawDegreeSequence(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_minDeg)->_this);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 3179, __pyx_L1_error)
    }
    __pyx_v_self->_this = __pyx_t_3;

    /* "networkit/_NetworKit.pyx":3178
 * 
 * 	def __cinit__(self, minDeg, count maxDeg = 0, double gamma = -2):
 * 		if isinstance(minDeg, Graph):             # <<<<<<<<<<<<<<
 * 			self._this = new _PowerlawDegreeSequence((<Graph>minDeg)._this)
 * 		elif isinstance(minDeg, collections.Iterable):
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":3180
 * 		if isinstance(minDeg, Graph):
 * 			self._this = new _PowerlawDegreeSequence((<Graph>minDeg)._this)
 * 		elif isinstance(minDeg, collections.Iterable):             # <<<<<<<<<<<<<<
 * 			self._this = new _PowerlawDegreeSequence(<vector[double]?>minDeg)
 * 		else:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_collections); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3180, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Iterable); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3180, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = PyObject_IsInstance(__pyx_v_minDeg, __pyx_t_5); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 3180, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (__pyx_t_1) {

    /* "networkit/_NetworKit.pyx":3181
 * 			self._this = new _PowerlawDegreeSequence((<Graph>minDeg)._this)
 * 		elif isinstance(minDeg, collections.Iterable):
 * 			self._this = new _PowerlawDegreeSequence(<vector[double]?>minDeg)             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._this = new _PowerlawDegreeSequence((<count?>minDeg), maxDeg, gamma)
 */
    __pyx_t_6 = __pyx_convert_vector_from_py_double(__pyx_v_minDeg); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3181, __pyx_L1_error)
    try {
      __pyx_t_3 = new NetworKit::PowerlawDegreeSequence(((std::vector<double> )__pyx_t_6));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 3181, __pyx_L1_error)
    }
    __pyx_v_self->_this = __pyx_t_3;

    /* "networkit/_NetworKit.pyx":3180
 * 		if isinstance(minDeg, Graph):
 * 			self._this = new _PowerlawDegreeSequence((<Graph>minDeg)._this)
 * 		elif isinstance(minDeg, collections.Iterable):             # <<<<<<<<<<<<<<
 * 			self._this = new _PowerlawDegreeSequence(<vector[double]?>minDeg)
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":3183
 * 			self._this = new _PowerlawDegreeSequence(<vector[double]?>minDeg)
 * 		else:
 * 			self._this = new _PowerlawDegreeSequence((<count?>minDeg), maxDeg, gamma)             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  /*else*/ {
    __pyx_t_7 = __Pyx_PyInt_As_uint64_t(__pyx_v_minDeg); if (unlikely((__pyx_t_7 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3183, __pyx_L1_error)
    try {
      __pyx_t_3 = new NetworKit::PowerlawDegreeSequence(((__pyx_t_9networkit_10_NetworKit_count)__pyx_t_7), __pyx_v_maxDeg, __pyx_v_gamma);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 3183, __pyx_L1_error)
    }
    __pyx_v_self->_this = __pyx_t_3;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":3177
 * 	cdef _PowerlawDegreeSequence *_this
 * 
 * 	def __cinit__(self, minDeg, count maxDeg = 0, double gamma = -2):             # <<<<<<<<<<<<<<
 * 		if isinstance(minDeg, Graph):
 * 			self._this = new _PowerlawDegreeSequence((<Graph>minDeg)._this)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("networkit._NetworKit.PowerlawDegreeSequence.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3185
 * 			self._this = new _PowerlawDegreeSequence((<count?>minDeg), maxDeg, gamma)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *)__pyx_v_self));

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

static void __pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":3186
 * 
 * 	def __dealloc__(self):
 * 		del self._this             # <<<<<<<<<<<<<<
 * 
 * 	def setMinimumFromAverageDegree(self, double avgDeg):
 */
  delete __pyx_v_self->_this;

  /* "networkit/_NetworKit.pyx":3185
 * 			self._this = new _PowerlawDegreeSequence((<count?>minDeg), maxDeg, gamma)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

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

/* "networkit/_NetworKit.pyx":3188
 * 		del self._this
 * 
 * 	def setMinimumFromAverageDegree(self, double avgDeg):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Tries to set the minimum degree such that the specified average degree is expected.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_5setMinimumFromAverageDegree(PyObject *__pyx_v_self, PyObject *__pyx_arg_avgDeg); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_22PowerlawDegreeSequence_4setMinimumFromAverageDegree[] = "\n\t\tTries to set the minimum degree such that the specified average degree is expected.\n\n\t\tParameters\n\t\t----------\n\t\tavgDeg : double\n\t\t\tThe average degree that shall be approximated\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_5setMinimumFromAverageDegree(PyObject *__pyx_v_self, PyObject *__pyx_arg_avgDeg) {
  double __pyx_v_avgDeg;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setMinimumFromAverageDegree (wrapper)", 0);
  assert(__pyx_arg_avgDeg); {
    __pyx_v_avgDeg = __pyx_PyFloat_AsDouble(__pyx_arg_avgDeg); if (unlikely((__pyx_v_avgDeg == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3188, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PowerlawDegreeSequence.setMinimumFromAverageDegree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_4setMinimumFromAverageDegree(((struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *)__pyx_v_self), ((double)__pyx_v_avgDeg));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_4setMinimumFromAverageDegree(struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self, double __pyx_v_avgDeg) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setMinimumFromAverageDegree", 0);

  /* "networkit/_NetworKit.pyx":3197
 * 			The average degree that shall be approximated
 * 		"""
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.setMinimumFromAverageDegree(avgDeg)
 * 		return self
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":3198
 * 		"""
 * 		with nogil:
 * 			self._this.setMinimumFromAverageDegree(avgDeg)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
        try {
          __pyx_v_self->_this->setMinimumFromAverageDegree(__pyx_v_avgDeg);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 3198, __pyx_L4_error)
        }
      }

      /* "networkit/_NetworKit.pyx":3197
 * 			The average degree that shall be approximated
 * 		"""
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.setMinimumFromAverageDegree(avgDeg)
 * 		return self
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":3199
 * 		with nogil:
 * 			self._this.setMinimumFromAverageDegree(avgDeg)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def setGammaFromAverageDegree(self, double avgDeg, double minGamma = -1, double maxGamma = -6):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":3188
 * 		del self._this
 * 
 * 	def setMinimumFromAverageDegree(self, double avgDeg):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Tries to set the minimum degree such that the specified average degree is expected.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PowerlawDegreeSequence.setMinimumFromAverageDegree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3201
 * 		return self
 * 
 * 	def setGammaFromAverageDegree(self, double avgDeg, double minGamma = -1, double maxGamma = -6):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Tries to set the powerlaw exponent gamma such that the specified average degree is expected.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_7setGammaFromAverageDegree(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_22PowerlawDegreeSequence_6setGammaFromAverageDegree[] = "\n\t\tTries to set the powerlaw exponent gamma such that the specified average degree is expected.\n\n\t\tParameters\n\t\t----------\n\t\tavgDeg : double\n\t\t\tThe average degree that shall be approximated\n\t\tminGamma : double\n\t\t\tThe minimum gamma to use, default: -1\n\t\tmaxGamma : double\n\t\t\tThe maximum gamma to use, default: -6\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_7setGammaFromAverageDegree(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  double __pyx_v_avgDeg;
  double __pyx_v_minGamma;
  double __pyx_v_maxGamma;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setGammaFromAverageDegree (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_avgDeg,&__pyx_n_s_minGamma,&__pyx_n_s_maxGamma,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_avgDeg)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_minGamma);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_maxGamma);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "setGammaFromAverageDegree") < 0)) __PYX_ERR(0, 3201, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_avgDeg = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_avgDeg == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3201, __pyx_L3_error)
    if (values[1]) {
      __pyx_v_minGamma = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_minGamma == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3201, __pyx_L3_error)
    } else {
      __pyx_v_minGamma = ((double)-1.0);
    }
    if (values[2]) {
      __pyx_v_maxGamma = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_maxGamma == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3201, __pyx_L3_error)
    } else {
      __pyx_v_maxGamma = ((double)-6.0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setGammaFromAverageDegree", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3201, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PowerlawDegreeSequence.setGammaFromAverageDegree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_6setGammaFromAverageDegree(((struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *)__pyx_v_self), __pyx_v_avgDeg, __pyx_v_minGamma, __pyx_v_maxGamma);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_6setGammaFromAverageDegree(struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self, double __pyx_v_avgDeg, double __pyx_v_minGamma, double __pyx_v_maxGamma) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setGammaFromAverageDegree", 0);

  /* "networkit/_NetworKit.pyx":3214
 * 			The maximum gamma to use, default: -6
 * 		"""
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.setGammaFromAverageDegree(avgDeg, minGamma, maxGamma)
 * 		return self
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":3215
 * 		"""
 * 		with nogil:
 * 			self._this.setGammaFromAverageDegree(avgDeg, minGamma, maxGamma)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
        try {
          __pyx_v_self->_this->setGammaFromAverageDegree(__pyx_v_avgDeg, __pyx_v_minGamma, __pyx_v_maxGamma);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 3215, __pyx_L4_error)
        }
      }

      /* "networkit/_NetworKit.pyx":3214
 * 			The maximum gamma to use, default: -6
 * 		"""
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.setGammaFromAverageDegree(avgDeg, minGamma, maxGamma)
 * 		return self
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":3216
 * 		with nogil:
 * 			self._this.setGammaFromAverageDegree(avgDeg, minGamma, maxGamma)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def getExpectedAverageDegree(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":3201
 * 		return self
 * 
 * 	def setGammaFromAverageDegree(self, double avgDeg, double minGamma = -1, double maxGamma = -6):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Tries to set the powerlaw exponent gamma such that the specified average degree is expected.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PowerlawDegreeSequence.setGammaFromAverageDegree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3218
 * 		return self
 * 
 * 	def getExpectedAverageDegree(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the expected average degree. Note: run needs to be called first.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_9getExpectedAverageDegree(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_22PowerlawDegreeSequence_8getExpectedAverageDegree[] = "\n\t\tReturns the expected average degree. Note: run needs to be called first.\n\n\t\tReturns\n\t\t-------\n\t\tdouble\n\t\t\tThe expected average degree.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_9getExpectedAverageDegree(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getExpectedAverageDegree (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_8getExpectedAverageDegree(((struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_8getExpectedAverageDegree(struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getExpectedAverageDegree", 0);

  /* "networkit/_NetworKit.pyx":3227
 * 			The expected average degree.
 * 		"""
 * 		return self._this.getExpectedAverageDegree()             # <<<<<<<<<<<<<<
 * 
 * 	def getMinimumDegree(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this->getExpectedAverageDegree();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 3227, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":3218
 * 		return self
 * 
 * 	def getExpectedAverageDegree(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the expected average degree. Note: run needs to be called first.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.PowerlawDegreeSequence.getExpectedAverageDegree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3229
 * 		return self._this.getExpectedAverageDegree()
 * 
 * 	def getMinimumDegree(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the minimum degree.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_11getMinimumDegree(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_22PowerlawDegreeSequence_10getMinimumDegree[] = "\n\t\tReturns the minimum degree.\n\n\t\tReturns\n\t\t-------\n\t\tcount\n\t\t\tThe minimum degree\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_11getMinimumDegree(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getMinimumDegree (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_10getMinimumDegree(((struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_10getMinimumDegree(struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("getMinimumDegree", 0);

  /* "networkit/_NetworKit.pyx":3238
 * 			The minimum degree
 * 		"""
 * 		return self._this.getMinimumDegree()             # <<<<<<<<<<<<<<
 * 
 * 	def setGamma(self, double gamma):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_self->_this->getMinimumDegree()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":3229
 * 		return self._this.getExpectedAverageDegree()
 * 
 * 	def getMinimumDegree(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the minimum degree.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PowerlawDegreeSequence.getMinimumDegree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3240
 * 		return self._this.getMinimumDegree()
 * 
 * 	def setGamma(self, double gamma):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Set the exponent gamma
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_13setGamma(PyObject *__pyx_v_self, PyObject *__pyx_arg_gamma); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_22PowerlawDegreeSequence_12setGamma[] = "\n\t\tSet the exponent gamma\n\n\t\tParameters\n\t\t----------\n\t\tgamma : double\n\t\t\tThe exponent to set\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_13setGamma(PyObject *__pyx_v_self, PyObject *__pyx_arg_gamma) {
  double __pyx_v_gamma;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setGamma (wrapper)", 0);
  assert(__pyx_arg_gamma); {
    __pyx_v_gamma = __pyx_PyFloat_AsDouble(__pyx_arg_gamma); if (unlikely((__pyx_v_gamma == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3240, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PowerlawDegreeSequence.setGamma", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_12setGamma(((struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *)__pyx_v_self), ((double)__pyx_v_gamma));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_12setGamma(struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self, double __pyx_v_gamma) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setGamma", 0);

  /* "networkit/_NetworKit.pyx":3249
 * 			The exponent to set
 * 		"""
 * 		self._this.setGamma(gamma)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
  (void)(__pyx_v_self->_this->setGamma(__pyx_v_gamma));

  /* "networkit/_NetworKit.pyx":3250
 * 		"""
 * 		self._this.setGamma(gamma)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def getGamma(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":3240
 * 		return self._this.getMinimumDegree()
 * 
 * 	def setGamma(self, double gamma):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Set the exponent gamma
 */

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

/* "networkit/_NetworKit.pyx":3252
 * 		return self
 * 
 * 	def getGamma(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get the exponent gamma.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_15getGamma(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_22PowerlawDegreeSequence_14getGamma[] = "\n\t\tGet the exponent gamma.\n\n\t\tReturns\n\t\t-------\n\t\tdouble\n\t\t\tThe exponent gamma\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_15getGamma(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getGamma (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_14getGamma(((struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_14getGamma(struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("getGamma", 0);

  /* "networkit/_NetworKit.pyx":3261
 * 			The exponent gamma
 * 		"""
 * 		return self._this.getGamma()             # <<<<<<<<<<<<<<
 * 
 * 	def getMaximumDegree(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_this->getGamma()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":3252
 * 		return self
 * 
 * 	def getGamma(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get the exponent gamma.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PowerlawDegreeSequence.getGamma", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3263
 * 		return self._this.getGamma()
 * 
 * 	def getMaximumDegree(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get the maximum degree
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_17getMaximumDegree(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_22PowerlawDegreeSequence_16getMaximumDegree[] = "\n\t\tGet the maximum degree\n\n\t\tReturns\n\t\t-------\n\t\tcount\n\t\t\tThe maximum degree\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_17getMaximumDegree(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getMaximumDegree (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_16getMaximumDegree(((struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_16getMaximumDegree(struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("getMaximumDegree", 0);

  /* "networkit/_NetworKit.pyx":3272
 * 			The maximum degree
 * 		"""
 * 		return self._this.getMaximumDegree()             # <<<<<<<<<<<<<<
 * 
 * 	def run(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_self->_this->getMaximumDegree()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3272, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":3263
 * 		return self._this.getGamma()
 * 
 * 	def getMaximumDegree(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get the maximum degree
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PowerlawDegreeSequence.getMaximumDegree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3274
 * 		return self._this.getMaximumDegree()
 * 
 * 	def run(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Executes the generation of the probability distribution.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_19run(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_22PowerlawDegreeSequence_18run[] = "\n\t\tExecutes the generation of the probability distribution.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_19run(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_18run(((struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_18run(struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":3278
 * 		Executes the generation of the probability distribution.
 * 		"""
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.run()
 * 		return self
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":3279
 * 		"""
 * 		with nogil:
 * 			self._this.run()             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
        try {
          __pyx_v_self->_this->run();
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 3279, __pyx_L4_error)
        }
      }

      /* "networkit/_NetworKit.pyx":3278
 * 		Executes the generation of the probability distribution.
 * 		"""
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.run()
 * 		return self
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":3280
 * 		with nogil:
 * 			self._this.run()
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def getDegreeSequence(self, count numNodes):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":3274
 * 		return self._this.getMaximumDegree()
 * 
 * 	def run(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Executes the generation of the probability distribution.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PowerlawDegreeSequence.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3282
 * 		return self
 * 
 * 	def getDegreeSequence(self, count numNodes):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns a degree sequence with even degree sum.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_21getDegreeSequence(PyObject *__pyx_v_self, PyObject *__pyx_arg_numNodes); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_22PowerlawDegreeSequence_20getDegreeSequence[] = "\n\t\tReturns a degree sequence with even degree sum.\n\n\t\tParameters\n\t\t----------\n\t\tnumNodes : count\n\t\t\tThe number of nodes/degrees that shall be returned\n\n\t\tReturns\n\t\t-------\n\t\tvector[count]\n\t\t\tThe generated degree sequence\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_21getDegreeSequence(PyObject *__pyx_v_self, PyObject *__pyx_arg_numNodes) {
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_numNodes;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDegreeSequence (wrapper)", 0);
  assert(__pyx_arg_numNodes); {
    __pyx_v_numNodes = __Pyx_PyInt_As_uint64_t(__pyx_arg_numNodes); if (unlikely((__pyx_v_numNodes == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3282, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PowerlawDegreeSequence.getDegreeSequence", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_20getDegreeSequence(((struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *)__pyx_v_self), ((__pyx_t_9networkit_10_NetworKit_count)__pyx_v_numNodes));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_20getDegreeSequence(struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_count __pyx_v_numNodes) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getDegreeSequence", 0);

  /* "networkit/_NetworKit.pyx":3296
 * 			The generated degree sequence
 * 		"""
 * 		return self._this.getDegreeSequence(numNodes)             # <<<<<<<<<<<<<<
 * 
 * 	def getDegree(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this->getDegreeSequence(__pyx_v_numNodes);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 3296, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_count(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":3282
 * 		return self
 * 
 * 	def getDegreeSequence(self, count numNodes):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns a degree sequence with even degree sum.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.PowerlawDegreeSequence.getDegreeSequence", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3298
 * 		return self._this.getDegreeSequence(numNodes)
 * 
 * 	def getDegree(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns a degree drawn at random with a power law distribution
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_23getDegree(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_22PowerlawDegreeSequence_22getDegree[] = "\n\t\tReturns a degree drawn at random with a power law distribution\n\n\t\tReturns\n\t\t-------\n\t\tcount\n\t\t\tThe generated random degree\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_23getDegree(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDegree (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_22getDegree(((struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_22getDegree(struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getDegree", 0);

  /* "networkit/_NetworKit.pyx":3307
 * 			The generated random degree
 * 		"""
 * 		return self._this.getDegree()             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/generators/LFRGenerator.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this->getDegree();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 3307, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":3298
 * 		return self._this.getDegreeSequence(numNodes)
 * 
 * 	def getDegree(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns a degree drawn at random with a power law distribution
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.PowerlawDegreeSequence.getDegree", __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_9networkit_10_NetworKit_22PowerlawDegreeSequence_25__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_25__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_24__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_24__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__92, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PowerlawDegreeSequence.__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_9networkit_10_NetworKit_22PowerlawDegreeSequence_27__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_27__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_26__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22PowerlawDegreeSequence_26__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__93, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PowerlawDegreeSequence.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3348
 * 	paths = {}
 * 
 * 	def __cinit__(self, count n):             # <<<<<<<<<<<<<<
 * 		self._this = new _LFRGenerator(n)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_12LFRGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_12LFRGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_n;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3348, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_n = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_n == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3348, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3348, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LFRGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12LFRGenerator___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *)__pyx_v_self), __pyx_v_n);

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

static int __pyx_pf_9networkit_10_NetworKit_12LFRGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_count __pyx_v_n) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::LFRGenerator *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":3349
 * 
 * 	def __cinit__(self, count n):
 * 		self._this = new _LFRGenerator(n)             # <<<<<<<<<<<<<<
 * 
 * 	def setDegreeSequence(self, vector[count] degreeSequence):
 */
  try {
    __pyx_t_1 = new NetworKit::LFRGenerator(__pyx_v_n);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 3349, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":3348
 * 	paths = {}
 * 
 * 	def __cinit__(self, count n):             # <<<<<<<<<<<<<<
 * 		self._this = new _LFRGenerator(n)
 * 
 */

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

/* "networkit/_NetworKit.pyx":3351
 * 		self._this = new _LFRGenerator(n)
 * 
 * 	def setDegreeSequence(self, vector[count] degreeSequence):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Set the given degree sequence.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_3setDegreeSequence(PyObject *__pyx_v_self, PyObject *__pyx_arg_degreeSequence); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_12LFRGenerator_2setDegreeSequence[] = "\n\t\tSet the given degree sequence.\n\n\t\tParameters\n\t\t----------\n\t\tdegreeSequence : collections.Iterable\n\t\t\tThe degree sequence that shall be used by the generator\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_3setDegreeSequence(PyObject *__pyx_v_self, PyObject *__pyx_arg_degreeSequence) {
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_degreeSequence;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setDegreeSequence (wrapper)", 0);
  assert(__pyx_arg_degreeSequence); {
    __pyx_v_degreeSequence = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_count(__pyx_arg_degreeSequence); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3351, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LFRGenerator.setDegreeSequence", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12LFRGenerator_2setDegreeSequence(((struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *)__pyx_v_self), ((std::vector<__pyx_t_9networkit_10_NetworKit_count> )__pyx_v_degreeSequence));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_2setDegreeSequence(struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *__pyx_v_self, std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_degreeSequence) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setDegreeSequence", 0);

  /* "networkit/_NetworKit.pyx":3360
 * 			The degree sequence that shall be used by the generator
 * 		"""
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			(<_LFRGenerator*>(self._this)).setDegreeSequence(degreeSequence)
 * 		return self
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":3361
 * 		"""
 * 		with nogil:
 * 			(<_LFRGenerator*>(self._this)).setDegreeSequence(degreeSequence)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
        try {
          ((NetworKit::LFRGenerator *)__pyx_v_self->__pyx_base._this)->setDegreeSequence(__pyx_v_degreeSequence);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 3361, __pyx_L4_error)
        }
      }

      /* "networkit/_NetworKit.pyx":3360
 * 			The degree sequence that shall be used by the generator
 * 		"""
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			(<_LFRGenerator*>(self._this)).setDegreeSequence(degreeSequence)
 * 		return self
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":3362
 * 		with nogil:
 * 			(<_LFRGenerator*>(self._this)).setDegreeSequence(degreeSequence)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def generatePowerlawDegreeSequence(self, count avgDegree, count maxDegree, double nodeDegreeExp):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":3351
 * 		self._this = new _LFRGenerator(n)
 * 
 * 	def setDegreeSequence(self, vector[count] degreeSequence):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Set the given degree sequence.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LFRGenerator.setDegreeSequence", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3364
 * 		return self
 * 
 * 	def generatePowerlawDegreeSequence(self, count avgDegree, count maxDegree, double nodeDegreeExp):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Generate and set a power law degree sequence using the given average and maximum degree with the given exponent.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_5generatePowerlawDegreeSequence(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_12LFRGenerator_4generatePowerlawDegreeSequence[] = "\n\t\tGenerate and set a power law degree sequence using the given average and maximum degree with the given exponent.\n\n\n\t\tParameters\n\t\t----------\n\t\tavgDegree : count\n\t\t\tThe average degree of the created graph\n\t\tmaxDegree : count\n\t\t\tThe maximum degree of the created graph\n\t\tnodeDegreeExp : double\n\t\t\tThe (negative) exponent of the power law degree distribution of the node degrees\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_5generatePowerlawDegreeSequence(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_avgDegree;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_maxDegree;
  double __pyx_v_nodeDegreeExp;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generatePowerlawDegreeSequence (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_avgDegree,&__pyx_n_s_maxDegree,&__pyx_n_s_nodeDegreeExp,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_avgDegree)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_maxDegree)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("generatePowerlawDegreeSequence", 1, 3, 3, 1); __PYX_ERR(0, 3364, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nodeDegreeExp)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("generatePowerlawDegreeSequence", 1, 3, 3, 2); __PYX_ERR(0, 3364, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "generatePowerlawDegreeSequence") < 0)) __PYX_ERR(0, 3364, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_avgDegree = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_avgDegree == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3364, __pyx_L3_error)
    __pyx_v_maxDegree = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_maxDegree == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3364, __pyx_L3_error)
    __pyx_v_nodeDegreeExp = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_nodeDegreeExp == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3364, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("generatePowerlawDegreeSequence", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3364, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LFRGenerator.generatePowerlawDegreeSequence", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12LFRGenerator_4generatePowerlawDegreeSequence(((struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *)__pyx_v_self), __pyx_v_avgDegree, __pyx_v_maxDegree, __pyx_v_nodeDegreeExp);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_4generatePowerlawDegreeSequence(struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_count __pyx_v_avgDegree, __pyx_t_9networkit_10_NetworKit_count __pyx_v_maxDegree, double __pyx_v_nodeDegreeExp) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generatePowerlawDegreeSequence", 0);

  /* "networkit/_NetworKit.pyx":3378
 * 			The (negative) exponent of the power law degree distribution of the node degrees
 * 		"""
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			(<_LFRGenerator*>(self._this)).generatePowerlawDegreeSequence(avgDegree, maxDegree, nodeDegreeExp)
 * 		return self
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":3379
 * 		"""
 * 		with nogil:
 * 			(<_LFRGenerator*>(self._this)).generatePowerlawDegreeSequence(avgDegree, maxDegree, nodeDegreeExp)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
        try {
          ((NetworKit::LFRGenerator *)__pyx_v_self->__pyx_base._this)->generatePowerlawDegreeSequence(__pyx_v_avgDegree, __pyx_v_maxDegree, __pyx_v_nodeDegreeExp);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 3379, __pyx_L4_error)
        }
      }

      /* "networkit/_NetworKit.pyx":3378
 * 			The (negative) exponent of the power law degree distribution of the node degrees
 * 		"""
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			(<_LFRGenerator*>(self._this)).generatePowerlawDegreeSequence(avgDegree, maxDegree, nodeDegreeExp)
 * 		return self
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":3380
 * 		with nogil:
 * 			(<_LFRGenerator*>(self._this)).generatePowerlawDegreeSequence(avgDegree, maxDegree, nodeDegreeExp)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def setCommunitySizeSequence(self, vector[count] communitySizeSequence):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":3364
 * 		return self
 * 
 * 	def generatePowerlawDegreeSequence(self, count avgDegree, count maxDegree, double nodeDegreeExp):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Generate and set a power law degree sequence using the given average and maximum degree with the given exponent.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LFRGenerator.generatePowerlawDegreeSequence", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3382
 * 		return self
 * 
 * 	def setCommunitySizeSequence(self, vector[count] communitySizeSequence):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Set the given community size sequence.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_7setCommunitySizeSequence(PyObject *__pyx_v_self, PyObject *__pyx_arg_communitySizeSequence); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_12LFRGenerator_6setCommunitySizeSequence[] = "\n\t\tSet the given community size sequence.\n\n\t\tParameters\n\t\t----------\n\t\tcommunitySizeSequence : collections.Iterable\n\t\t\tThe community sizes that shall be used.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_7setCommunitySizeSequence(PyObject *__pyx_v_self, PyObject *__pyx_arg_communitySizeSequence) {
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_communitySizeSequence;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setCommunitySizeSequence (wrapper)", 0);
  assert(__pyx_arg_communitySizeSequence); {
    __pyx_v_communitySizeSequence = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_count(__pyx_arg_communitySizeSequence); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3382, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LFRGenerator.setCommunitySizeSequence", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12LFRGenerator_6setCommunitySizeSequence(((struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *)__pyx_v_self), ((std::vector<__pyx_t_9networkit_10_NetworKit_count> )__pyx_v_communitySizeSequence));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_6setCommunitySizeSequence(struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *__pyx_v_self, std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_communitySizeSequence) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setCommunitySizeSequence", 0);

  /* "networkit/_NetworKit.pyx":3391
 * 			The community sizes that shall be used.
 * 		"""
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			(<_LFRGenerator*>(self._this)).setCommunitySizeSequence(communitySizeSequence)
 * 		return self
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":3392
 * 		"""
 * 		with nogil:
 * 			(<_LFRGenerator*>(self._this)).setCommunitySizeSequence(communitySizeSequence)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
        try {
          ((NetworKit::LFRGenerator *)__pyx_v_self->__pyx_base._this)->setCommunitySizeSequence(__pyx_v_communitySizeSequence);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 3392, __pyx_L4_error)
        }
      }

      /* "networkit/_NetworKit.pyx":3391
 * 			The community sizes that shall be used.
 * 		"""
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			(<_LFRGenerator*>(self._this)).setCommunitySizeSequence(communitySizeSequence)
 * 		return self
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":3393
 * 		with nogil:
 * 			(<_LFRGenerator*>(self._this)).setCommunitySizeSequence(communitySizeSequence)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def setPartition(self, Partition zeta not None):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":3382
 * 		return self
 * 
 * 	def setCommunitySizeSequence(self, vector[count] communitySizeSequence):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Set the given community size sequence.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LFRGenerator.setCommunitySizeSequence", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3395
 * 		return self
 * 
 * 	def setPartition(self, Partition zeta not None):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Set the partition, this replaces the community size sequence and the random assignment of the nodes to communities.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_9setPartition(PyObject *__pyx_v_self, PyObject *__pyx_v_zeta); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_12LFRGenerator_8setPartition[] = "\n\t\tSet the partition, this replaces the community size sequence and the random assignment of the nodes to communities.\n\n\t\tParameters\n\t\t----------\n\t\tzeta : networkit.Partition\n\t\t\tThe partition to use\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_9setPartition(PyObject *__pyx_v_self, PyObject *__pyx_v_zeta) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setPartition (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_zeta), __pyx_ptype_9networkit_10_NetworKit_Partition, 0, "zeta", 0))) __PYX_ERR(0, 3395, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12LFRGenerator_8setPartition(((struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *)__pyx_v_self), ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_zeta));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_8setPartition(struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setPartition", 0);

  /* "networkit/_NetworKit.pyx":3404
 * 			The partition to use
 * 		"""
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			(<_LFRGenerator*>(self._this)).setPartition(zeta._this)
 * 		return self
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":3405
 * 		"""
 * 		with nogil:
 * 			(<_LFRGenerator*>(self._this)).setPartition(zeta._this)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
        try {
          ((NetworKit::LFRGenerator *)__pyx_v_self->__pyx_base._this)->setPartition(__pyx_v_zeta->_this);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 3405, __pyx_L4_error)
        }
      }

      /* "networkit/_NetworKit.pyx":3404
 * 			The partition to use
 * 		"""
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			(<_LFRGenerator*>(self._this)).setPartition(zeta._this)
 * 		return self
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":3406
 * 		with nogil:
 * 			(<_LFRGenerator*>(self._this)).setPartition(zeta._this)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def generatePowerlawCommunitySizeSequence(self, count minCommunitySize, count maxCommunitySize, double communitySizeExp):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":3395
 * 		return self
 * 
 * 	def setPartition(self, Partition zeta not None):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Set the partition, this replaces the community size sequence and the random assignment of the nodes to communities.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LFRGenerator.setPartition", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3408
 * 		return self
 * 
 * 	def generatePowerlawCommunitySizeSequence(self, count minCommunitySize, count maxCommunitySize, double communitySizeExp):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Generate a powerlaw community size sequence with the given minimum and maximum size and the given exponent.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_11generatePowerlawCommunitySizeSequence(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_12LFRGenerator_10generatePowerlawCommunitySizeSequence[] = "\n\t\tGenerate a powerlaw community size sequence with the given minimum and maximum size and the given exponent.\n\n\t\tParameters\n\t\t----------\n\t\tminCommunitySize : count\n\t\t\tThe minimum community size\n\t\tmaxCommunitySize : count\n\t\t\tThe maximum community size\n\t\tcommunitySizeExp : double\n\t\t\tThe (negative) community size exponent of the power law degree distribution of the community sizes\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_11generatePowerlawCommunitySizeSequence(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_minCommunitySize;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_maxCommunitySize;
  double __pyx_v_communitySizeExp;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generatePowerlawCommunitySizeSequence (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_minCommunitySize,&__pyx_n_s_maxCommunitySize,&__pyx_n_s_communitySizeExp,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_minCommunitySize)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_maxCommunitySize)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("generatePowerlawCommunitySizeSequence", 1, 3, 3, 1); __PYX_ERR(0, 3408, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_communitySizeExp)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("generatePowerlawCommunitySizeSequence", 1, 3, 3, 2); __PYX_ERR(0, 3408, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "generatePowerlawCommunitySizeSequence") < 0)) __PYX_ERR(0, 3408, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_minCommunitySize = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_minCommunitySize == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3408, __pyx_L3_error)
    __pyx_v_maxCommunitySize = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_maxCommunitySize == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3408, __pyx_L3_error)
    __pyx_v_communitySizeExp = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_communitySizeExp == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3408, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("generatePowerlawCommunitySizeSequence", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3408, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LFRGenerator.generatePowerlawCommunitySizeSequence", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12LFRGenerator_10generatePowerlawCommunitySizeSequence(((struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *)__pyx_v_self), __pyx_v_minCommunitySize, __pyx_v_maxCommunitySize, __pyx_v_communitySizeExp);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_10generatePowerlawCommunitySizeSequence(struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_count __pyx_v_minCommunitySize, __pyx_t_9networkit_10_NetworKit_count __pyx_v_maxCommunitySize, double __pyx_v_communitySizeExp) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generatePowerlawCommunitySizeSequence", 0);

  /* "networkit/_NetworKit.pyx":3421
 * 			The (negative) community size exponent of the power law degree distribution of the community sizes
 * 		"""
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			(<_LFRGenerator*>(self._this)).generatePowerlawCommunitySizeSequence(minCommunitySize, maxCommunitySize, communitySizeExp)
 * 		return self
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":3422
 * 		"""
 * 		with nogil:
 * 			(<_LFRGenerator*>(self._this)).generatePowerlawCommunitySizeSequence(minCommunitySize, maxCommunitySize, communitySizeExp)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
        try {
          ((NetworKit::LFRGenerator *)__pyx_v_self->__pyx_base._this)->generatePowerlawCommunitySizeSequence(__pyx_v_minCommunitySize, __pyx_v_maxCommunitySize, __pyx_v_communitySizeExp);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 3422, __pyx_L4_error)
        }
      }

      /* "networkit/_NetworKit.pyx":3421
 * 			The (negative) community size exponent of the power law degree distribution of the community sizes
 * 		"""
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			(<_LFRGenerator*>(self._this)).generatePowerlawCommunitySizeSequence(minCommunitySize, maxCommunitySize, communitySizeExp)
 * 		return self
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":3423
 * 		with nogil:
 * 			(<_LFRGenerator*>(self._this)).generatePowerlawCommunitySizeSequence(minCommunitySize, maxCommunitySize, communitySizeExp)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def setMu(self, mu):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":3408
 * 		return self
 * 
 * 	def generatePowerlawCommunitySizeSequence(self, count minCommunitySize, count maxCommunitySize, double communitySizeExp):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Generate a powerlaw community size sequence with the given minimum and maximum size and the given exponent.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LFRGenerator.generatePowerlawCommunitySizeSequence", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3425
 * 		return self
 * 
 * 	def setMu(self, mu):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Set the mixing parameter, this is the fraction of neighbors of each node that do not belong to the node's own community.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_13setMu(PyObject *__pyx_v_self, PyObject *__pyx_v_mu); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_12LFRGenerator_12setMu[] = "\n\t\tSet the mixing parameter, this is the fraction of neighbors of each node that do not belong to the node's own community.\n\n\t\tThis can either be one value for all nodes or an iterable of values for each node.\n\n\t\tParameters\n\t\t----------\n\t\tmu : double or collections.Iterable\n\t\t\tThe mixing coefficient(s), i.e. the factor of the degree that shall be inter-cluster degree\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_13setMu(PyObject *__pyx_v_self, PyObject *__pyx_v_mu) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setMu (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12LFRGenerator_12setMu(((struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *)__pyx_v_self), ((PyObject *)__pyx_v_mu));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_12setMu(struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *__pyx_v_self, PyObject *__pyx_v_mu) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_t_4;
  std::vector<double>  __pyx_t_5;
  double __pyx_t_6;
  __Pyx_RefNannySetupContext("setMu", 0);

  /* "networkit/_NetworKit.pyx":3436
 * 			The mixing coefficient(s), i.e. the factor of the degree that shall be inter-cluster degree
 * 		"""
 * 		if isinstance(mu, collections.Iterable):             # <<<<<<<<<<<<<<
 * 			(<_LFRGenerator*>(self._this)).setMu(<vector[double]>mu)
 * 		else:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_collections); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3436, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Iterable); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3436, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_mu, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 3436, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (__pyx_t_4) {

    /* "networkit/_NetworKit.pyx":3437
 * 		"""
 * 		if isinstance(mu, collections.Iterable):
 * 			(<_LFRGenerator*>(self._this)).setMu(<vector[double]>mu)             # <<<<<<<<<<<<<<
 * 		else:
 * 			(<_LFRGenerator*>(self._this)).setMu(<double>mu)
 */
    __pyx_t_5 = __pyx_convert_vector_from_py_double(__pyx_v_mu); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3437, __pyx_L1_error)
    try {
      ((NetworKit::LFRGenerator *)__pyx_v_self->__pyx_base._this)->setMu(((std::vector<double> )__pyx_t_5));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 3437, __pyx_L1_error)
    }

    /* "networkit/_NetworKit.pyx":3436
 * 			The mixing coefficient(s), i.e. the factor of the degree that shall be inter-cluster degree
 * 		"""
 * 		if isinstance(mu, collections.Iterable):             # <<<<<<<<<<<<<<
 * 			(<_LFRGenerator*>(self._this)).setMu(<vector[double]>mu)
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":3439
 * 			(<_LFRGenerator*>(self._this)).setMu(<vector[double]>mu)
 * 		else:
 * 			(<_LFRGenerator*>(self._this)).setMu(<double>mu)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
  /*else*/ {
    __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_v_mu); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3439, __pyx_L1_error)
    try {
      ((NetworKit::LFRGenerator *)__pyx_v_self->__pyx_base._this)->setMu(((double)__pyx_t_6));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 3439, __pyx_L1_error)
    }
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":3440
 * 		else:
 * 			(<_LFRGenerator*>(self._this)).setMu(<double>mu)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def setMuWithBinomialDistribution(self, double mu):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":3425
 * 		return self
 * 
 * 	def setMu(self, mu):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Set the mixing parameter, this is the fraction of neighbors of each node that do not belong to the node's own community.
 */

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

/* "networkit/_NetworKit.pyx":3442
 * 		return self
 * 
 * 	def setMuWithBinomialDistribution(self, double mu):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Set the internal degree of each node using a binomial distribution such that the expected mixing parameter is the given @a mu.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_15setMuWithBinomialDistribution(PyObject *__pyx_v_self, PyObject *__pyx_arg_mu); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_12LFRGenerator_14setMuWithBinomialDistribution[] = "\n\t\tSet the internal degree of each node using a binomial distribution such that the expected mixing parameter is the given @a mu.\n\n\t\tThe mixing parameter is for each node the fraction of neighbors that do not belong to the node's own community.\n\n\t\tParameters\n\t\t----------\n\t\tmu : double\n\t\t\tThe expected mu that shall be used.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_15setMuWithBinomialDistribution(PyObject *__pyx_v_self, PyObject *__pyx_arg_mu) {
  double __pyx_v_mu;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setMuWithBinomialDistribution (wrapper)", 0);
  assert(__pyx_arg_mu); {
    __pyx_v_mu = __pyx_PyFloat_AsDouble(__pyx_arg_mu); if (unlikely((__pyx_v_mu == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 3442, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LFRGenerator.setMuWithBinomialDistribution", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12LFRGenerator_14setMuWithBinomialDistribution(((struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *)__pyx_v_self), ((double)__pyx_v_mu));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_14setMuWithBinomialDistribution(struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *__pyx_v_self, double __pyx_v_mu) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setMuWithBinomialDistribution", 0);

  /* "networkit/_NetworKit.pyx":3453
 * 			The expected mu that shall be used.
 * 		"""
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			(<_LFRGenerator*>(self._this)).setMuWithBinomialDistribution(mu)
 * 		return self
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":3454
 * 		"""
 * 		with nogil:
 * 			(<_LFRGenerator*>(self._this)).setMuWithBinomialDistribution(mu)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
        try {
          ((NetworKit::LFRGenerator *)__pyx_v_self->__pyx_base._this)->setMuWithBinomialDistribution(__pyx_v_mu);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 3454, __pyx_L4_error)
        }
      }

      /* "networkit/_NetworKit.pyx":3453
 * 			The expected mu that shall be used.
 * 		"""
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			(<_LFRGenerator*>(self._this)).setMuWithBinomialDistribution(mu)
 * 		return self
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":3455
 * 		with nogil:
 * 			(<_LFRGenerator*>(self._this)).setMuWithBinomialDistribution(mu)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def getGraph(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":3442
 * 		return self
 * 
 * 	def setMuWithBinomialDistribution(self, double mu):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Set the internal degree of each node using a binomial distribution such that the expected mixing parameter is the given @a mu.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LFRGenerator.setMuWithBinomialDistribution", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3457
 * 		return self
 * 
 * 	def getGraph(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Return the generated Graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_17getGraph(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_12LFRGenerator_16getGraph[] = "\n\t\tReturn the generated Graph.\n\n\t\tReturns\n\t\t-------\n\t\tnetworkit.Graph\n\t\t\tThe generated graph.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_17getGraph(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getGraph (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12LFRGenerator_16getGraph(((struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_16getGraph(struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Graph __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("getGraph", 0);

  /* "networkit/_NetworKit.pyx":3466
 * 			The generated graph.
 * 		"""
 * 		return Graph().setThis((<_LFRGenerator*>(self._this)).getGraph())             # <<<<<<<<<<<<<<
 * 
 * 	def generate(self, useReferenceImplementation=False):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = ((NetworKit::LFRGenerator *)__pyx_v_self->__pyx_base._this)->getGraph();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 3466, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3466, __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;

  /* "networkit/_NetworKit.pyx":3457
 * 		return self
 * 
 * 	def getGraph(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Return the generated Graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.LFRGenerator.getGraph", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3468
 * 		return Graph().setThis((<_LFRGenerator*>(self._this)).getGraph())
 * 
 * 	def generate(self, useReferenceImplementation=False):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Generates and returns the graph. Wrapper for the StaticGraphGenerator interface.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_19generate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_12LFRGenerator_18generate[] = "\n\t\tGenerates and returns the graph. Wrapper for the StaticGraphGenerator interface.\n\n\t\tReturns\n\t\t-------\n\t\tnetworkit.Graph\n\t\t\tThe generated graph.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_19generate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_useReferenceImplementation = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generate (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_useReferenceImplementation,0};
    PyObject* values[1] = {0};
    values[0] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_useReferenceImplementation);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "generate") < 0)) __PYX_ERR(0, 3468, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_useReferenceImplementation = values[0];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("generate", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3468, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LFRGenerator.generate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12LFRGenerator_18generate(((struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *)__pyx_v_self), __pyx_v_useReferenceImplementation);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_18generate(struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *__pyx_v_self, PyObject *__pyx_v_useReferenceImplementation) {
  PyObject *__pyx_v_graphio = 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;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  NetworKit::Graph __pyx_t_11;
  __Pyx_RefNannySetupContext("generate", 0);

  /* "networkit/_NetworKit.pyx":3477
 * 			The generated graph.
 * 		"""
 * 		if useReferenceImplementation:             # <<<<<<<<<<<<<<
 * 			from networkit import graphio
 * 			os.system("{0}/benchmark {1}".format(self.paths["refImplDir"], self.params["refImplParams"]))
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_useReferenceImplementation); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 3477, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "networkit/_NetworKit.pyx":3478
 * 		"""
 * 		if useReferenceImplementation:
 * 			from networkit import graphio             # <<<<<<<<<<<<<<
 * 			os.system("{0}/benchmark {1}".format(self.paths["refImplDir"], self.params["refImplParams"]))
 * 			return graphio.readGraph("network.dat", graphio.Format.EdgeListTabOne)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3478, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_graphio);
    __Pyx_GIVEREF(__pyx_n_s_graphio);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_graphio);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_networkit, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3478, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_graphio); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3478, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v_graphio = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "networkit/_NetworKit.pyx":3479
 * 		if useReferenceImplementation:
 * 			from networkit import graphio
 * 			os.system("{0}/benchmark {1}".format(self.paths["refImplDir"], self.params["refImplParams"]))             # <<<<<<<<<<<<<<
 * 			return graphio.readGraph("network.dat", graphio.Format.EdgeListTabOne)
 * 		return Graph().setThis((<_LFRGenerator*>(self._this)).generate())
 */
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_os); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_system); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_benchmark_1, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_paths); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_Dict_GetItem(__pyx_t_6, __pyx_n_u_refImplDir); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_params); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_6, __pyx_n_u_refImplParams); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = NULL;
    __pyx_t_9 = 0;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
        __pyx_t_9 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_5)) {
      PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_7, __pyx_t_8};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3479, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
      PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_7, __pyx_t_8};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3479, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    } else
    #endif
    {
      __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3479, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      if (__pyx_t_6) {
        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_6); __pyx_t_6 = NULL;
      }
      __Pyx_GIVEREF(__pyx_t_7);
      PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_9, __pyx_t_7);
      __Pyx_GIVEREF(__pyx_t_8);
      PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_t_8);
      __pyx_t_7 = 0;
      __pyx_t_8 = 0;
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_10, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3479, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "networkit/_NetworKit.pyx":3480
 * 			from networkit import graphio
 * 			os.system("{0}/benchmark {1}".format(self.paths["refImplDir"], self.params["refImplParams"]))
 * 			return graphio.readGraph("network.dat", graphio.Format.EdgeListTabOne)             # <<<<<<<<<<<<<<
 * 		return Graph().setThis((<_LFRGenerator*>(self._this)).generate())
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_graphio, __pyx_n_s_readGraph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_graphio, __pyx_n_s_Format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_EdgeListTabOne); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = NULL;
    __pyx_t_9 = 0;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_2)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
        __pyx_t_9 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_u_network_dat, __pyx_t_5};
      __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3480, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_u_network_dat, __pyx_t_5};
      __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3480, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    } else
    #endif
    {
      __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3480, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      if (__pyx_t_2) {
        __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_2); __pyx_t_2 = NULL;
      }
      __Pyx_INCREF(__pyx_kp_u_network_dat);
      __Pyx_GIVEREF(__pyx_kp_u_network_dat);
      PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_9, __pyx_kp_u_network_dat);
      __Pyx_GIVEREF(__pyx_t_5);
      PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3480, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "networkit/_NetworKit.pyx":3477
 * 			The generated graph.
 * 		"""
 * 		if useReferenceImplementation:             # <<<<<<<<<<<<<<
 * 			from networkit import graphio
 * 			os.system("{0}/benchmark {1}".format(self.paths["refImplDir"], self.params["refImplParams"]))
 */
  }

  /* "networkit/_NetworKit.pyx":3481
 * 			os.system("{0}/benchmark {1}".format(self.paths["refImplDir"], self.params["refImplParams"]))
 * 			return graphio.readGraph("network.dat", graphio.Format.EdgeListTabOne)
 * 		return Graph().setThis((<_LFRGenerator*>(self._this)).generate())             # <<<<<<<<<<<<<<
 * 
 * 	def getPartition(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  try {
    __pyx_t_11 = ((NetworKit::LFRGenerator *)__pyx_v_self->__pyx_base._this)->generate();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 3481, __pyx_L1_error)
  }
  __pyx_t_4 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_3)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_3), __pyx_t_11); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3481, __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;

  /* "networkit/_NetworKit.pyx":3468
 * 		return Graph().setThis((<_LFRGenerator*>(self._this)).getGraph())
 * 
 * 	def generate(self, useReferenceImplementation=False):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Generates and returns the graph. Wrapper for the StaticGraphGenerator interface.
 */

  /* 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_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("networkit._NetworKit.LFRGenerator.generate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_graphio);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3483
 * 		return Graph().setThis((<_LFRGenerator*>(self._this)).generate())
 * 
 * 	def getPartition(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Return the generated Partiton.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_21getPartition(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_12LFRGenerator_20getPartition[] = "\n\t\tReturn the generated Partiton.\n\n\t\tReturns\n\t\t-------\n\t\tnetworkit.Partition\n\t\t\tThe generated partition.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_21getPartition(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPartition (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12LFRGenerator_20getPartition(((struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_20getPartition(struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Partition __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("getPartition", 0);

  /* "networkit/_NetworKit.pyx":3492
 * 			The generated partition.
 * 		"""
 * 		return Partition().setThis((<_LFRGenerator*>(self._this)).getPartition())             # <<<<<<<<<<<<<<
 * 
 * 	@classmethod
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Partition)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = ((NetworKit::LFRGenerator *)__pyx_v_self->__pyx_base._this)->getPartition();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 3492, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Partition *)((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3492, __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;

  /* "networkit/_NetworKit.pyx":3483
 * 		return Graph().setThis((<_LFRGenerator*>(self._this)).generate())
 * 
 * 	def getPartition(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Return the generated Partiton.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.LFRGenerator.getPartition", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3495
 * 
 * 	@classmethod
 * 	def setPathToReferenceImplementationDir(cls, path):             # <<<<<<<<<<<<<<
 * 		cls.paths["refImplDir"] = path
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_23setPathToReferenceImplementationDir(PyObject *__pyx_v_cls, PyObject *__pyx_v_path); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_23setPathToReferenceImplementationDir(PyObject *__pyx_v_cls, PyObject *__pyx_v_path) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setPathToReferenceImplementationDir (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12LFRGenerator_22setPathToReferenceImplementationDir(((PyTypeObject*)__pyx_v_cls), ((PyObject *)__pyx_v_path));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_22setPathToReferenceImplementationDir(PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_path) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("setPathToReferenceImplementationDir", 0);

  /* "networkit/_NetworKit.pyx":3496
 * 	@classmethod
 * 	def setPathToReferenceImplementationDir(cls, path):
 * 		cls.paths["refImplDir"] = path             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cls), __pyx_n_s_paths); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_refImplDir, __pyx_v_path) < 0)) __PYX_ERR(0, 3496, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":3495
 * 
 * 	@classmethod
 * 	def setPathToReferenceImplementationDir(cls, path):             # <<<<<<<<<<<<<<
 * 		cls.paths["refImplDir"] = path
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LFRGenerator.setPathToReferenceImplementationDir", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3500
 * 
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1, vanilla=False, communityDetectionAlgorithm=PLM, plfit=False):             # <<<<<<<<<<<<<<
 * 		""" Fit model to input graph"""
 * 		(n, m) = GraphTools.size(G)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_25fit(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_12LFRGenerator_24fit[] = " Fit model to input graph";
static PyObject *__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_25fit(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_scale = 0;
  PyObject *__pyx_v_vanilla = 0;
  PyObject *__pyx_v_communityDetectionAlgorithm = 0;
  PyObject *__pyx_v_plfit = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("fit (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_scale,&__pyx_n_s_vanilla,&__pyx_n_s_communityDetectionAlgorithm,&__pyx_n_s_plfit,0};
    PyObject* values[5] = {0,0,0,0,0};
    values[1] = ((PyObject *)__pyx_int_1);
    values[2] = ((PyObject *)Py_False);
    values[3] = __pyx_k__94;
    values[4] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_scale);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_vanilla);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_communityDetectionAlgorithm);
          if (value) { values[3] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_plfit);
          if (value) { values[4] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "fit") < 0)) __PYX_ERR(0, 3500, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_scale = values[1];
    __pyx_v_vanilla = values[2];
    __pyx_v_communityDetectionAlgorithm = values[3];
    __pyx_v_plfit = values[4];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("fit", 0, 1, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3500, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LFRGenerator.fit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 3500, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12LFRGenerator_24fit(((PyTypeObject*)__pyx_v_cls), __pyx_v_G, __pyx_v_scale, __pyx_v_vanilla, __pyx_v_communityDetectionAlgorithm, __pyx_v_plfit);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_24fit(PyTypeObject *__pyx_v_cls, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_scale, PyObject *__pyx_v_vanilla, PyObject *__pyx_v_communityDetectionAlgorithm, PyObject *__pyx_v_plfit) {
  PyObject *__pyx_v_n = NULL;
  CYTHON_UNUSED PyObject *__pyx_v_m = NULL;
  PyObject *__pyx_v_communities = NULL;
  PyObject *__pyx_v_degSeq = NULL;
  PyObject *__pyx_v_gen = NULL;
  PyObject *__pyx_v_avgDegree = NULL;
  PyObject *__pyx_v_maxDegree = NULL;
  struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_degSeqGen = NULL;
  PyObject *__pyx_v_nodeDegreeExp = NULL;
  PyObject *__pyx_v_communitySize = NULL;
  PyObject *__pyx_v_communityAvgSize = NULL;
  PyObject *__pyx_v_communityMaxSize = NULL;
  PyObject *__pyx_v_communityMinSize = NULL;
  PyObject *__pyx_v_localCoverage = NULL;
  PyObject *__pyx_v_mu = NULL;
  PyObject *__pyx_v_communityExp = NULL;
  struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *__pyx_v_pl = NULL;
  PyObject *__pyx_v_refImplParams = NULL;
  PyObject *__pyx_v_cData = NULL;
  PyObject *__pyx_v_cDataCopy = NULL;
  PyObject *__pyx_v_b = NULL;
  PyObject *__pyx_v_s = NULL;
  PyObject *__pyx_v_cDataExtend = NULL;
  PyObject *__pyx_9genexpr13__pyx_v_i = NULL;
  PyObject *__pyx_9genexpr14__pyx_v_x = 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)(PyObject *);
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  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;
  long __pyx_t_16;
  PyObject *(*__pyx_t_17)(PyObject *);
  Py_ssize_t __pyx_t_18;
  PyObject *(*__pyx_t_19)(PyObject *);
  __Pyx_RefNannySetupContext("fit", 0);

  /* "networkit/_NetworKit.pyx":3502
 * 	def fit(cls, Graph G, scale=1, vanilla=False, communityDetectionAlgorithm=PLM, plfit=False):
 * 		""" Fit model to input graph"""
 * 		(n, m) = GraphTools.size(G)             # <<<<<<<<<<<<<<
 * 		# detect communities
 * 		communities = communityDetectionAlgorithm(G).run().getPartition()
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools), __pyx_n_s_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, ((PyObject *)__pyx_v_G)) : __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_G));
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  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(0, 3502, __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_t_3 = PyTuple_GET_ITEM(sequence, 1); 
    } else {
      __pyx_t_2 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_3 = PyList_GET_ITEM(sequence, 1); 
    }
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    #else
    __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3502, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3502, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #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(0, 3502, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_5 = Py_TYPE(__pyx_t_4)->tp_iternext;
    index = 0; __pyx_t_2 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_2);
    index = 1; __pyx_t_3 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_3)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_5(__pyx_t_4), 2) < 0) __PYX_ERR(0, 3502, __pyx_L1_error)
    __pyx_t_5 = NULL;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    goto __pyx_L4_unpacking_done;
    __pyx_L3_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_5 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(0, 3502, __pyx_L1_error)
    __pyx_L4_unpacking_done:;
  }
  __pyx_v_n = __pyx_t_2;
  __pyx_t_2 = 0;
  __pyx_v_m = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "networkit/_NetworKit.pyx":3504
 * 		(n, m) = GraphTools.size(G)
 * 		# detect communities
 * 		communities = communityDetectionAlgorithm(G).run().getPartition()             # <<<<<<<<<<<<<<
 * 		# get degree sequence
 * 		degSeq = DegreeCentrality(G).run().scores()
 */
  __Pyx_INCREF(__pyx_v_communityDetectionAlgorithm);
  __pyx_t_4 = __pyx_v_communityDetectionAlgorithm; __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, ((PyObject *)__pyx_v_G)) : __Pyx_PyObject_CallOneArg(__pyx_t_4, ((PyObject *)__pyx_v_G));
  __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_run); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_getPartition); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_communities = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":3506
 * 		communities = communityDetectionAlgorithm(G).run().getPartition()
 * 		# get degree sequence
 * 		degSeq = DegreeCentrality(G).run().scores()             # <<<<<<<<<<<<<<
 * 		# set number of nodes
 * 		gen = cls(n * scale)
 */
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_DegreeCentrality), ((PyObject *)__pyx_v_G)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_run); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_scores); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_degSeq = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":3508
 * 		degSeq = DegreeCentrality(G).run().scores()
 * 		# set number of nodes
 * 		gen = cls(n * scale)             # <<<<<<<<<<<<<<
 * 		if vanilla:
 * 			# fit power law to degree distribution and generate degree sequence accordingly
 */
  __pyx_t_1 = PyNumber_Multiply(__pyx_v_n, __pyx_v_scale); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3508, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_v_cls), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3508, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_gen = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":3509
 * 		# set number of nodes
 * 		gen = cls(n * scale)
 * 		if vanilla:             # <<<<<<<<<<<<<<
 * 			# fit power law to degree distribution and generate degree sequence accordingly
 * 			#print("fit power law to degree distribution and generate degree sequence accordingly")
 */
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_vanilla); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 3509, __pyx_L1_error)
  if (__pyx_t_7) {

    /* "networkit/_NetworKit.pyx":3512
 * 			# fit power law to degree distribution and generate degree sequence accordingly
 * 			#print("fit power law to degree distribution and generate degree sequence accordingly")
 * 			avgDegree = int(sum(degSeq) / len(degSeq))             # <<<<<<<<<<<<<<
 * 			maxDegree = max(degSeq)
 * 			if plfit:
 */
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_sum, __pyx_v_degSeq); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3512, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = PyObject_Length(__pyx_v_degSeq); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 3512, __pyx_L1_error)
    __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3512, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3512, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3512, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_avgDegree = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "networkit/_NetworKit.pyx":3513
 * 			#print("fit power law to degree distribution and generate degree sequence accordingly")
 * 			avgDegree = int(sum(degSeq) / len(degSeq))
 * 			maxDegree = max(degSeq)             # <<<<<<<<<<<<<<
 * 			if plfit:
 * 				degSeqGen = PowerlawDegreeSequence(G)
 */
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_v_degSeq); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3513, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_maxDegree = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "networkit/_NetworKit.pyx":3514
 * 			avgDegree = int(sum(degSeq) / len(degSeq))
 * 			maxDegree = max(degSeq)
 * 			if plfit:             # <<<<<<<<<<<<<<
 * 				degSeqGen = PowerlawDegreeSequence(G)
 * 				nodeDegreeExp = -1 * degSeqGen.getGamma()
 */
    __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_plfit); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 3514, __pyx_L1_error)
    if (__pyx_t_7) {

      /* "networkit/_NetworKit.pyx":3515
 * 			maxDegree = max(degSeq)
 * 			if plfit:
 * 				degSeqGen = PowerlawDegreeSequence(G)             # <<<<<<<<<<<<<<
 * 				nodeDegreeExp = -1 * degSeqGen.getGamma()
 * 				degSeqGen.run()
 */
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_PowerlawDegreeSequence), ((PyObject *)__pyx_v_G)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3515, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_v_degSeqGen = ((struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *)__pyx_t_1);
      __pyx_t_1 = 0;

      /* "networkit/_NetworKit.pyx":3516
 * 			if plfit:
 * 				degSeqGen = PowerlawDegreeSequence(G)
 * 				nodeDegreeExp = -1 * degSeqGen.getGamma()             # <<<<<<<<<<<<<<
 * 				degSeqGen.run()
 * 				gen.setDegreeSequence(degSeqGen.getDegreeSequence(n * scale))
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_degSeqGen), __pyx_n_s_getGamma); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3516, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_2)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_2);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3516, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Multiply(__pyx_int_neg_1, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3516, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_v_nodeDegreeExp = __pyx_t_4;
      __pyx_t_4 = 0;

      /* "networkit/_NetworKit.pyx":3517
 * 				degSeqGen = PowerlawDegreeSequence(G)
 * 				nodeDegreeExp = -1 * degSeqGen.getGamma()
 * 				degSeqGen.run()             # <<<<<<<<<<<<<<
 * 				gen.setDegreeSequence(degSeqGen.getDegreeSequence(n * scale))
 * 			else:
 */
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_degSeqGen), __pyx_n_s_run); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3517, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_2 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
        __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
        if (likely(__pyx_t_2)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
          __Pyx_INCREF(__pyx_t_2);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_1, function);
        }
      }
      __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3517, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "networkit/_NetworKit.pyx":3518
 * 				nodeDegreeExp = -1 * degSeqGen.getGamma()
 * 				degSeqGen.run()
 * 				gen.setDegreeSequence(degSeqGen.getDegreeSequence(n * scale))             # <<<<<<<<<<<<<<
 * 			else:
 * 				nodeDegreeExp = 2
 */
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gen, __pyx_n_s_setDegreeSequence); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3518, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_degSeqGen), __pyx_n_s_getDegreeSequence); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3518, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_6 = PyNumber_Multiply(__pyx_v_n, __pyx_v_scale); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3518, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_9)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_9);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      __pyx_t_2 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_9, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6);
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3518, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
        __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
        if (likely(__pyx_t_3)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
          __Pyx_INCREF(__pyx_t_3);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_1, function);
        }
      }
      __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3518, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "networkit/_NetworKit.pyx":3514
 * 			avgDegree = int(sum(degSeq) / len(degSeq))
 * 			maxDegree = max(degSeq)
 * 			if plfit:             # <<<<<<<<<<<<<<
 * 				degSeqGen = PowerlawDegreeSequence(G)
 * 				nodeDegreeExp = -1 * degSeqGen.getGamma()
 */
      goto __pyx_L6;
    }

    /* "networkit/_NetworKit.pyx":3520
 * 				gen.setDegreeSequence(degSeqGen.getDegreeSequence(n * scale))
 * 			else:
 * 				nodeDegreeExp = 2             # <<<<<<<<<<<<<<
 * 				gen.generatePowerlawDegreeSequence(avgDegree, maxDegree, -1 * nodeDegreeExp)
 * 			print(avgDegree, maxDegree, nodeDegreeExp)
 */
    /*else*/ {
      __Pyx_INCREF(__pyx_int_2);
      __pyx_v_nodeDegreeExp = __pyx_int_2;

      /* "networkit/_NetworKit.pyx":3521
 * 			else:
 * 				nodeDegreeExp = 2
 * 				gen.generatePowerlawDegreeSequence(avgDegree, maxDegree, -1 * nodeDegreeExp)             # <<<<<<<<<<<<<<
 * 			print(avgDegree, maxDegree, nodeDegreeExp)
 * 			# fit power law to community size sequence and generate accordingly
 */
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gen, __pyx_n_s_generatePowerlawDegreeSequence); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3521, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_2 = PyNumber_Multiply(__pyx_int_neg_1, __pyx_v_nodeDegreeExp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3521, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = NULL;
      __pyx_t_10 = 0;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
        __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
        if (likely(__pyx_t_3)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
          __Pyx_INCREF(__pyx_t_3);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_1, function);
          __pyx_t_10 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_avgDegree, __pyx_v_maxDegree, __pyx_t_2};
        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_10, 3+__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3521, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
        PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_avgDegree, __pyx_v_maxDegree, __pyx_t_2};
        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_10, 3+__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3521, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      } else
      #endif
      {
        __pyx_t_6 = PyTuple_New(3+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3521, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        if (__pyx_t_3) {
          __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __pyx_t_3 = NULL;
        }
        __Pyx_INCREF(__pyx_v_avgDegree);
        __Pyx_GIVEREF(__pyx_v_avgDegree);
        PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_10, __pyx_v_avgDegree);
        __Pyx_INCREF(__pyx_v_maxDegree);
        __Pyx_GIVEREF(__pyx_v_maxDegree);
        PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_10, __pyx_v_maxDegree);
        __Pyx_GIVEREF(__pyx_t_2);
        PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_10, __pyx_t_2);
        __pyx_t_2 = 0;
        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3521, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
    __pyx_L6:;

    /* "networkit/_NetworKit.pyx":3522
 * 				nodeDegreeExp = 2
 * 				gen.generatePowerlawDegreeSequence(avgDegree, maxDegree, -1 * nodeDegreeExp)
 * 			print(avgDegree, maxDegree, nodeDegreeExp)             # <<<<<<<<<<<<<<
 * 			# fit power law to community size sequence and generate accordingly
 * 			#print("fit power law to community size sequence and generate accordingly")
 */
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_v_avgDegree);
    __Pyx_GIVEREF(__pyx_v_avgDegree);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_avgDegree);
    __Pyx_INCREF(__pyx_v_maxDegree);
    __Pyx_GIVEREF(__pyx_v_maxDegree);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_maxDegree);
    __Pyx_INCREF(__pyx_v_nodeDegreeExp);
    __Pyx_GIVEREF(__pyx_v_nodeDegreeExp);
    PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_nodeDegreeExp);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "networkit/_NetworKit.pyx":3525
 * 			# fit power law to community size sequence and generate accordingly
 * 			#print("fit power law to community size sequence and generate accordingly")
 * 			communitySize = communities.subsetSizes()             # <<<<<<<<<<<<<<
 * 			communityAvgSize = int(sum(communitySize) / len(communitySize))
 * 			communityMaxSize = max(communitySize)
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_communities, __pyx_n_s_subsetSizes); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3525, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3525, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_communitySize = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "networkit/_NetworKit.pyx":3526
 * 			#print("fit power law to community size sequence and generate accordingly")
 * 			communitySize = communities.subsetSizes()
 * 			communityAvgSize = int(sum(communitySize) / len(communitySize))             # <<<<<<<<<<<<<<
 * 			communityMaxSize = max(communitySize)
 * 			communityMinSize = min(communitySize)
 */
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_sum, __pyx_v_communitySize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3526, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = PyObject_Length(__pyx_v_communitySize); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 3526, __pyx_L1_error)
    __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3526, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3526, __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_t_4 = __Pyx_PyNumber_Int(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3526, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_communityAvgSize = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "networkit/_NetworKit.pyx":3527
 * 			communitySize = communities.subsetSizes()
 * 			communityAvgSize = int(sum(communitySize) / len(communitySize))
 * 			communityMaxSize = max(communitySize)             # <<<<<<<<<<<<<<
 * 			communityMinSize = min(communitySize)
 * 
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_v_communitySize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3527, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_communityMaxSize = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "networkit/_NetworKit.pyx":3528
 * 			communityAvgSize = int(sum(communitySize) / len(communitySize))
 * 			communityMaxSize = max(communitySize)
 * 			communityMinSize = min(communitySize)             # <<<<<<<<<<<<<<
 * 
 * 			localCoverage = LocalPartitionCoverage(G, communities).run().scores()
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_v_communitySize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_communityMinSize = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "networkit/_NetworKit.pyx":3530
 * 			communityMinSize = min(communitySize)
 * 
 * 			localCoverage = LocalPartitionCoverage(G, communities).run().scores()             # <<<<<<<<<<<<<<
 * 			mu = 1.0 - sum(localCoverage) / len(localCoverage)
 * 			# check if largest possible internal degree can fit in the largest possible community
 */
    __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3530, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)__pyx_v_G));
    __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_G));
    __Pyx_INCREF(__pyx_v_communities);
    __Pyx_GIVEREF(__pyx_v_communities);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_communities);
    __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_LocalPartitionCoverage), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3530, __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_n_s_run); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3530, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_2)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    __pyx_t_6 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3530, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_scores); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3530, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
      }
    }
    __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3530, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_localCoverage = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "networkit/_NetworKit.pyx":3531
 * 
 * 			localCoverage = LocalPartitionCoverage(G, communities).run().scores()
 * 			mu = 1.0 - sum(localCoverage) / len(localCoverage)             # <<<<<<<<<<<<<<
 * 			# check if largest possible internal degree can fit in the largest possible community
 * 			if math.ceil((1.0 - mu) * maxDegree) >= communityMaxSize:
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_sum, __pyx_v_localCoverage); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_8 = PyObject_Length(__pyx_v_localCoverage); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 3531, __pyx_L1_error)
    __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __Pyx_PyNumber_Divide(__pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyFloat_SubtractCObj(__pyx_float_1_0, __pyx_t_6, 1.0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_mu = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "networkit/_NetworKit.pyx":3533
 * 			mu = 1.0 - sum(localCoverage) / len(localCoverage)
 * 			# check if largest possible internal degree can fit in the largest possible community
 * 			if math.ceil((1.0 - mu) * maxDegree) >= communityMaxSize:             # <<<<<<<<<<<<<<
 * 				# Make the maximum community size 5% larger to make it more likely
 * 				# the largest generated degree will actually fit.
 */
    __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_math); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_ceil); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyFloat_SubtractCObj(__pyx_float_1_0, __pyx_v_mu, 1.0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_2 = PyNumber_Multiply(__pyx_t_6, __pyx_v_maxDegree); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2);
    __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(0, 3533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_v_communityMaxSize, Py_GE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3533, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 3533, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (__pyx_t_7) {

      /* "networkit/_NetworKit.pyx":3536
 * 				# Make the maximum community size 5% larger to make it more likely
 * 				# the largest generated degree will actually fit.
 * 				communityMaxSize = math.ceil(((1.0 - mu) * maxDegree + 1) * 1.05)             # <<<<<<<<<<<<<<
 * 				print("Increasing maximum community size to fit the largest degree")
 * 
 */
      __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_math); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3536, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ceil); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3536, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyFloat_SubtractCObj(__pyx_float_1_0, __pyx_v_mu, 1.0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3536, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_6 = PyNumber_Multiply(__pyx_t_1, __pyx_v_maxDegree); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3536, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_t_6, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3536, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = PyNumber_Multiply(__pyx_t_1, __pyx_float_1_05); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3536, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
        __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
        if (likely(__pyx_t_1)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
          __Pyx_INCREF(__pyx_t_1);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_2, function);
        }
      }
      __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6);
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3536, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF_SET(__pyx_v_communityMaxSize, __pyx_t_4);
      __pyx_t_4 = 0;

      /* "networkit/_NetworKit.pyx":3537
 * 				# the largest generated degree will actually fit.
 * 				communityMaxSize = math.ceil(((1.0 - mu) * maxDegree + 1) * 1.05)
 * 				print("Increasing maximum community size to fit the largest degree")             # <<<<<<<<<<<<<<
 * 
 * 			if plfit:
 */
      __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__95, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3537, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "networkit/_NetworKit.pyx":3533
 * 			mu = 1.0 - sum(localCoverage) / len(localCoverage)
 * 			# check if largest possible internal degree can fit in the largest possible community
 * 			if math.ceil((1.0 - mu) * maxDegree) >= communityMaxSize:             # <<<<<<<<<<<<<<
 * 				# Make the maximum community size 5% larger to make it more likely
 * 				# the largest generated degree will actually fit.
 */
    }

    /* "networkit/_NetworKit.pyx":3539
 * 				print("Increasing maximum community size to fit the largest degree")
 * 
 * 			if plfit:             # <<<<<<<<<<<<<<
 * 				communityExp = -1 * PowerlawDegreeSequence(communityMinSize, communityMaxSize, -1).setGammaFromAverageDegree(communityAvgSize).getGamma()
 * 			else:
 */
    __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_plfit); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 3539, __pyx_L1_error)
    if (__pyx_t_7) {

      /* "networkit/_NetworKit.pyx":3540
 * 
 * 			if plfit:
 * 				communityExp = -1 * PowerlawDegreeSequence(communityMinSize, communityMaxSize, -1).setGammaFromAverageDegree(communityAvgSize).getGamma()             # <<<<<<<<<<<<<<
 * 			else:
 * 				communityExp = 1
 */
      __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3540, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_INCREF(__pyx_v_communityMinSize);
      __Pyx_GIVEREF(__pyx_v_communityMinSize);
      PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_communityMinSize);
      __Pyx_INCREF(__pyx_v_communityMaxSize);
      __Pyx_GIVEREF(__pyx_v_communityMaxSize);
      PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_communityMaxSize);
      __Pyx_INCREF(__pyx_int_neg_1);
      __Pyx_GIVEREF(__pyx_int_neg_1);
      PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_int_neg_1);
      __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_PowerlawDegreeSequence), __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3540, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_setGammaFromAverageDegree); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3540, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6);
        if (likely(__pyx_t_1)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
          __Pyx_INCREF(__pyx_t_1);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_6, function);
        }
      }
      __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_1, __pyx_v_communityAvgSize) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_communityAvgSize);
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3540, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_getGamma); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3540, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6);
        if (likely(__pyx_t_2)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
          __Pyx_INCREF(__pyx_t_2);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_6, function);
        }
      }
      __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_6);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3540, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = PyNumber_Multiply(__pyx_int_neg_1, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3540, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_v_communityExp = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "networkit/_NetworKit.pyx":3539
 * 				print("Increasing maximum community size to fit the largest degree")
 * 
 * 			if plfit:             # <<<<<<<<<<<<<<
 * 				communityExp = -1 * PowerlawDegreeSequence(communityMinSize, communityMaxSize, -1).setGammaFromAverageDegree(communityAvgSize).getGamma()
 * 			else:
 */
      goto __pyx_L8;
    }

    /* "networkit/_NetworKit.pyx":3542
 * 				communityExp = -1 * PowerlawDegreeSequence(communityMinSize, communityMaxSize, -1).setGammaFromAverageDegree(communityAvgSize).getGamma()
 * 			else:
 * 				communityExp = 1             # <<<<<<<<<<<<<<
 * 			pl = PowerlawDegreeSequence(communityMinSize, communityMaxSize, -1 * communityExp)
 * 
 */
    /*else*/ {
      __Pyx_INCREF(__pyx_int_1);
      __pyx_v_communityExp = __pyx_int_1;
    }
    __pyx_L8:;

    /* "networkit/_NetworKit.pyx":3543
 * 			else:
 * 				communityExp = 1
 * 			pl = PowerlawDegreeSequence(communityMinSize, communityMaxSize, -1 * communityExp)             # <<<<<<<<<<<<<<
 * 
 * 			try: # it can be that the exponent is -1 because the average would be too low otherwise, increase minimum to ensure average fits.
 */
    __pyx_t_6 = PyNumber_Multiply(__pyx_int_neg_1, __pyx_v_communityExp); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3543, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3543, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_v_communityMinSize);
    __Pyx_GIVEREF(__pyx_v_communityMinSize);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_communityMinSize);
    __Pyx_INCREF(__pyx_v_communityMaxSize);
    __Pyx_GIVEREF(__pyx_v_communityMaxSize);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_communityMaxSize);
    __Pyx_GIVEREF(__pyx_t_6);
    PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_PowerlawDegreeSequence), __pyx_t_4, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3543, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pl = ((struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence *)__pyx_t_6);
    __pyx_t_6 = 0;

    /* "networkit/_NetworKit.pyx":3545
 * 			pl = PowerlawDegreeSequence(communityMinSize, communityMaxSize, -1 * communityExp)
 * 
 * 			try: # it can be that the exponent is -1 because the average would be too low otherwise, increase minimum to ensure average fits.             # <<<<<<<<<<<<<<
 * 				pl.setMinimumFromAverageDegree(communityAvgSize)
 * 				communityMinSize = pl.getMinimumDegree()
 */
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13);
      __Pyx_XGOTREF(__pyx_t_11);
      __Pyx_XGOTREF(__pyx_t_12);
      __Pyx_XGOTREF(__pyx_t_13);
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":3546
 * 
 * 			try: # it can be that the exponent is -1 because the average would be too low otherwise, increase minimum to ensure average fits.
 * 				pl.setMinimumFromAverageDegree(communityAvgSize)             # <<<<<<<<<<<<<<
 * 				communityMinSize = pl.getMinimumDegree()
 * 			except RuntimeError: # if average is too low with chosen exponent, this might not work...
 */
        __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pl), __pyx_n_s_setMinimumFromAverageDegree); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3546, __pyx_L9_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_2 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
          __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
          if (likely(__pyx_t_2)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
            __Pyx_INCREF(__pyx_t_2);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_4, function);
          }
        }
        __pyx_t_6 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_v_communityAvgSize) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_communityAvgSize);
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3546, __pyx_L9_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

        /* "networkit/_NetworKit.pyx":3547
 * 			try: # it can be that the exponent is -1 because the average would be too low otherwise, increase minimum to ensure average fits.
 * 				pl.setMinimumFromAverageDegree(communityAvgSize)
 * 				communityMinSize = pl.getMinimumDegree()             # <<<<<<<<<<<<<<
 * 			except RuntimeError: # if average is too low with chosen exponent, this might not work...
 * 				pl.run()
 */
        __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pl), __pyx_n_s_getMinimumDegree); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3547, __pyx_L9_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_2 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
          __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
          if (likely(__pyx_t_2)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
            __Pyx_INCREF(__pyx_t_2);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_4, function);
          }
        }
        __pyx_t_6 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3547, __pyx_L9_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF_SET(__pyx_v_communityMinSize, __pyx_t_6);
        __pyx_t_6 = 0;

        /* "networkit/_NetworKit.pyx":3545
 * 			pl = PowerlawDegreeSequence(communityMinSize, communityMaxSize, -1 * communityExp)
 * 
 * 			try: # it can be that the exponent is -1 because the average would be too low otherwise, increase minimum to ensure average fits.             # <<<<<<<<<<<<<<
 * 				pl.setMinimumFromAverageDegree(communityAvgSize)
 * 				communityMinSize = pl.getMinimumDegree()
 */
      }
      __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;
      goto __pyx_L14_try_end;
      __pyx_L9_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_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "networkit/_NetworKit.pyx":3548
 * 				pl.setMinimumFromAverageDegree(communityAvgSize)
 * 				communityMinSize = pl.getMinimumDegree()
 * 			except RuntimeError: # if average is too low with chosen exponent, this might not work...             # <<<<<<<<<<<<<<
 * 				pl.run()
 * 				print("Could not set desired average community size {}, average will be {} instead".format(communityAvgSize, pl.getExpectedAverageDegree()))
 */
      __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_RuntimeError);
      if (__pyx_t_10) {
        __Pyx_AddTraceback("networkit._NetworKit.LFRGenerator.fit", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_4, &__pyx_t_2) < 0) __PYX_ERR(0, 3548, __pyx_L11_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_GOTREF(__pyx_t_2);

        /* "networkit/_NetworKit.pyx":3549
 * 				communityMinSize = pl.getMinimumDegree()
 * 			except RuntimeError: # if average is too low with chosen exponent, this might not work...
 * 				pl.run()             # <<<<<<<<<<<<<<
 * 				print("Could not set desired average community size {}, average will be {} instead".format(communityAvgSize, pl.getExpectedAverageDegree()))
 * 
 */
        __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pl), __pyx_n_s_run); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3549, __pyx_L11_except_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_9 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
          __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3);
          if (likely(__pyx_t_9)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
            __Pyx_INCREF(__pyx_t_9);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_3, function);
          }
        }
        __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3549, __pyx_L11_except_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

        /* "networkit/_NetworKit.pyx":3550
 * 			except RuntimeError: # if average is too low with chosen exponent, this might not work...
 * 				pl.run()
 * 				print("Could not set desired average community size {}, average will be {} instead".format(communityAvgSize, pl.getExpectedAverageDegree()))             # <<<<<<<<<<<<<<
 * 
 * 
 */
        __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Could_not_set_desired_average_co, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3550, __pyx_L11_except_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_14 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pl), __pyx_n_s_getExpectedAverageDegree); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3550, __pyx_L11_except_error)
        __Pyx_GOTREF(__pyx_t_14);
        __pyx_t_15 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
          __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_14);
          if (likely(__pyx_t_15)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
            __Pyx_INCREF(__pyx_t_15);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_14, function);
          }
        }
        __pyx_t_9 = (__pyx_t_15) ? __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_15) : __Pyx_PyObject_CallNoArg(__pyx_t_14);
        __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
        if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3550, __pyx_L11_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        __pyx_t_14 = NULL;
        __pyx_t_10 = 0;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
          __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3);
          if (likely(__pyx_t_14)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
            __Pyx_INCREF(__pyx_t_14);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_3, function);
            __pyx_t_10 = 1;
          }
        }
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_communityAvgSize, __pyx_t_9};
          __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3550, __pyx_L11_except_error)
          __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
          PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_communityAvgSize, __pyx_t_9};
          __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3550, __pyx_L11_except_error)
          __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        } else
        #endif
        {
          __pyx_t_15 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 3550, __pyx_L11_except_error)
          __Pyx_GOTREF(__pyx_t_15);
          if (__pyx_t_14) {
            __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __pyx_t_14 = NULL;
          }
          __Pyx_INCREF(__pyx_v_communityAvgSize);
          __Pyx_GIVEREF(__pyx_v_communityAvgSize);
          PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_10, __pyx_v_communityAvgSize);
          __Pyx_GIVEREF(__pyx_t_9);
          PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_10, __pyx_t_9);
          __pyx_t_9 = 0;
          __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_15, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3550, __pyx_L11_except_error)
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
        }
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3550, __pyx_L11_except_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        goto __pyx_L10_exception_handled;
      }
      goto __pyx_L11_except_error;
      __pyx_L11_except_error:;

      /* "networkit/_NetworKit.pyx":3545
 * 			pl = PowerlawDegreeSequence(communityMinSize, communityMaxSize, -1 * communityExp)
 * 
 * 			try: # it can be that the exponent is -1 because the average would be too low otherwise, increase minimum to ensure average fits.             # <<<<<<<<<<<<<<
 * 				pl.setMinimumFromAverageDegree(communityAvgSize)
 * 				communityMinSize = pl.getMinimumDegree()
 */
      __Pyx_XGIVEREF(__pyx_t_11);
      __Pyx_XGIVEREF(__pyx_t_12);
      __Pyx_XGIVEREF(__pyx_t_13);
      __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13);
      goto __pyx_L1_error;
      __pyx_L10_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_11);
      __Pyx_XGIVEREF(__pyx_t_12);
      __Pyx_XGIVEREF(__pyx_t_13);
      __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13);
      __pyx_L14_try_end:;
    }

    /* "networkit/_NetworKit.pyx":3553
 * 
 * 
 * 			gen.generatePowerlawCommunitySizeSequence(minCommunitySize=communityMinSize, maxCommunitySize=communityMaxSize, communitySizeExp=-1 * communityExp)             # <<<<<<<<<<<<<<
 * 			# mixing parameter
 * 			#print("mixing parameter")
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gen, __pyx_n_s_generatePowerlawCommunitySizeSeq); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3553, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3553, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_minCommunitySize, __pyx_v_communityMinSize) < 0) __PYX_ERR(0, 3553, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_maxCommunitySize, __pyx_v_communityMaxSize) < 0) __PYX_ERR(0, 3553, __pyx_L1_error)
    __pyx_t_6 = PyNumber_Multiply(__pyx_int_neg_1, __pyx_v_communityExp); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3553, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_communitySizeExp, __pyx_t_6) < 0) __PYX_ERR(0, 3553, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3553, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "networkit/_NetworKit.pyx":3556
 * 			# mixing parameter
 * 			#print("mixing parameter")
 * 			gen.setMu(mu)             # <<<<<<<<<<<<<<
 * 			# Add some small constants to the parameters for the reference implementation to
 * 			# ensure it won't say the average degree is too low.
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_gen, __pyx_n_s_setMu); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3556, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_2)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    __pyx_t_6 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_v_mu) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_mu);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3556, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "networkit/_NetworKit.pyx":3559
 * 			# Add some small constants to the parameters for the reference implementation to
 * 			# ensure it won't say the average degree is too low.
 * 			refImplParams = "-N {0} -k {1} -maxk {2} -mu {3} -minc {4} -maxc {5} -t1 {6} -t2 {7}".format(n * scale, avgDegree + 1e-4, maxDegree, mu, max(communityMinSize, 3), communityMaxSize, nodeDegreeExp + 0.001, communityExp)             # <<<<<<<<<<<<<<
 * 			cls.params["refImplParams"] = refImplParams
 * 			print(refImplParams)
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_N_0_k_1_maxk_2_mu_3_minc_4_maxc, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = PyNumber_Multiply(__pyx_v_n, __pyx_v_scale); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyFloat_AddObjC(__pyx_v_avgDegree, __pyx_float_1eneg_4, 1e-4, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_16 = 3;
    __Pyx_INCREF(__pyx_v_communityMinSize);
    __pyx_t_1 = __pyx_v_communityMinSize;
    __pyx_t_9 = __Pyx_PyInt_From_long(__pyx_t_16); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_14 = PyObject_RichCompare(__pyx_t_9, __pyx_t_1, Py_GT); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3559, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 3559, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    if (__pyx_t_7) {
      __pyx_t_14 = __Pyx_PyInt_From_long(__pyx_t_16); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3559, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __pyx_t_15 = __pyx_t_14;
      __pyx_t_14 = 0;
    } else {
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_15 = __pyx_t_1;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyFloat_AddObjC(__pyx_v_nodeDegreeExp, __pyx_float_0_001, 0.001, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_14 = NULL;
    __pyx_t_10 = 0;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_14)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_14);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
        __pyx_t_10 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[9] = {__pyx_t_14, __pyx_t_2, __pyx_t_3, __pyx_v_maxDegree, __pyx_v_mu, __pyx_t_15, __pyx_v_communityMaxSize, __pyx_t_1, __pyx_v_communityExp};
      __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_10, 8+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3559, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[9] = {__pyx_t_14, __pyx_t_2, __pyx_t_3, __pyx_v_maxDegree, __pyx_v_mu, __pyx_t_15, __pyx_v_communityMaxSize, __pyx_t_1, __pyx_v_communityExp};
      __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_10, 8+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3559, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else
    #endif
    {
      __pyx_t_9 = PyTuple_New(8+__pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3559, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      if (__pyx_t_14) {
        __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_14); __pyx_t_14 = NULL;
      }
      __Pyx_GIVEREF(__pyx_t_2);
      PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_10, __pyx_t_2);
      __Pyx_GIVEREF(__pyx_t_3);
      PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_10, __pyx_t_3);
      __Pyx_INCREF(__pyx_v_maxDegree);
      __Pyx_GIVEREF(__pyx_v_maxDegree);
      PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_10, __pyx_v_maxDegree);
      __Pyx_INCREF(__pyx_v_mu);
      __Pyx_GIVEREF(__pyx_v_mu);
      PyTuple_SET_ITEM(__pyx_t_9, 3+__pyx_t_10, __pyx_v_mu);
      __Pyx_INCREF(__pyx_t_15);
      __Pyx_GIVEREF(__pyx_t_15);
      PyTuple_SET_ITEM(__pyx_t_9, 4+__pyx_t_10, __pyx_t_15);
      __Pyx_INCREF(__pyx_v_communityMaxSize);
      __Pyx_GIVEREF(__pyx_v_communityMaxSize);
      PyTuple_SET_ITEM(__pyx_t_9, 5+__pyx_t_10, __pyx_v_communityMaxSize);
      __Pyx_GIVEREF(__pyx_t_1);
      PyTuple_SET_ITEM(__pyx_t_9, 6+__pyx_t_10, __pyx_t_1);
      __Pyx_INCREF(__pyx_v_communityExp);
      __Pyx_GIVEREF(__pyx_v_communityExp);
      PyTuple_SET_ITEM(__pyx_t_9, 7+__pyx_t_10, __pyx_v_communityExp);
      __pyx_t_2 = 0;
      __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      __pyx_t_1 = 0;
      __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3559, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_refImplParams = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "networkit/_NetworKit.pyx":3560
 * 			# ensure it won't say the average degree is too low.
 * 			refImplParams = "-N {0} -k {1} -maxk {2} -mu {3} -minc {4} -maxc {5} -t1 {6} -t2 {7}".format(n * scale, avgDegree + 1e-4, maxDegree, mu, max(communityMinSize, 3), communityMaxSize, nodeDegreeExp + 0.001, communityExp)
 * 			cls.params["refImplParams"] = refImplParams             # <<<<<<<<<<<<<<
 * 			print(refImplParams)
 * 		else:
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cls), __pyx_n_s_params); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3560, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_refImplParams, __pyx_v_refImplParams) < 0)) __PYX_ERR(0, 3560, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "networkit/_NetworKit.pyx":3561
 * 			refImplParams = "-N {0} -k {1} -maxk {2} -mu {3} -minc {4} -maxc {5} -t1 {6} -t2 {7}".format(n * scale, avgDegree + 1e-4, maxDegree, mu, max(communityMinSize, 3), communityMaxSize, nodeDegreeExp + 0.001, communityExp)
 * 			cls.params["refImplParams"] = refImplParams
 * 			print(refImplParams)             # <<<<<<<<<<<<<<
 * 		else:
 * 			if scale > 1:
 */
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_v_refImplParams); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3561, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "networkit/_NetworKit.pyx":3509
 * 		# set number of nodes
 * 		gen = cls(n * scale)
 * 		if vanilla:             # <<<<<<<<<<<<<<
 * 			# fit power law to degree distribution and generate degree sequence accordingly
 * 			#print("fit power law to degree distribution and generate degree sequence accordingly")
 */
    goto __pyx_L5;
  }

  /* "networkit/_NetworKit.pyx":3563
 * 			print(refImplParams)
 * 		else:
 * 			if scale > 1:             # <<<<<<<<<<<<<<
 * 				# scale communities
 * 				cData = communities.getVector()
 */
  /*else*/ {
    __pyx_t_6 = PyObject_RichCompare(__pyx_v_scale, __pyx_int_1, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3563, __pyx_L1_error)
    __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 3563, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (__pyx_t_7) {

      /* "networkit/_NetworKit.pyx":3565
 * 			if scale > 1:
 * 				# scale communities
 * 				cData = communities.getVector()             # <<<<<<<<<<<<<<
 * 				cDataCopy = cData[:]
 * 				b = communities.upperBound()
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_communities, __pyx_n_s_getVector); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3565, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_9 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_9)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_9);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      __pyx_t_6 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3565, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_v_cData = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "networkit/_NetworKit.pyx":3566
 * 				# scale communities
 * 				cData = communities.getVector()
 * 				cDataCopy = cData[:]             # <<<<<<<<<<<<<<
 * 				b = communities.upperBound()
 * 				for s in range(1, scale):
 */
      __pyx_t_6 = __Pyx_PyObject_GetSlice(__pyx_v_cData, 0, 0, NULL, NULL, &__pyx_slice__96, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3566, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_v_cDataCopy = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "networkit/_NetworKit.pyx":3567
 * 				cData = communities.getVector()
 * 				cDataCopy = cData[:]
 * 				b = communities.upperBound()             # <<<<<<<<<<<<<<
 * 				for s in range(1, scale):
 * 					cDataExtend = [i + (b * s) for i in cDataCopy]
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_communities, __pyx_n_s_upperBound); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3567, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_9 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_9)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_9);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      __pyx_t_6 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3567, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_v_b = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "networkit/_NetworKit.pyx":3568
 * 				cDataCopy = cData[:]
 * 				b = communities.upperBound()
 * 				for s in range(1, scale):             # <<<<<<<<<<<<<<
 * 					cDataExtend = [i + (b * s) for i in cDataCopy]
 * 					cData = cData + cDataExtend
 */
      __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3568, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_INCREF(__pyx_int_1);
      __Pyx_GIVEREF(__pyx_int_1);
      PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_int_1);
      __Pyx_INCREF(__pyx_v_scale);
      __Pyx_GIVEREF(__pyx_v_scale);
      PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_scale);
      __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3568, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
        __pyx_t_6 = __pyx_t_4; __Pyx_INCREF(__pyx_t_6); __pyx_t_8 = 0;
        __pyx_t_17 = NULL;
      } else {
        __pyx_t_8 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3568, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_17 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3568, __pyx_L1_error)
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      for (;;) {
        if (likely(!__pyx_t_17)) {
          if (likely(PyList_CheckExact(__pyx_t_6))) {
            if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_6)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_4 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_t_4); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 3568, __pyx_L1_error)
            #else
            __pyx_t_4 = PySequence_ITEM(__pyx_t_6, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3568, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            #endif
          } else {
            if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_6)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_t_4); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 3568, __pyx_L1_error)
            #else
            __pyx_t_4 = PySequence_ITEM(__pyx_t_6, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3568, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            #endif
          }
        } else {
          __pyx_t_4 = __pyx_t_17(__pyx_t_6);
          if (unlikely(!__pyx_t_4)) {
            PyObject* exc_type = PyErr_Occurred();
            if (exc_type) {
              if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
              else __PYX_ERR(0, 3568, __pyx_L1_error)
            }
            break;
          }
          __Pyx_GOTREF(__pyx_t_4);
        }
        __Pyx_XDECREF_SET(__pyx_v_s, __pyx_t_4);
        __pyx_t_4 = 0;

        /* "networkit/_NetworKit.pyx":3569
 * 				b = communities.upperBound()
 * 				for s in range(1, scale):
 * 					cDataExtend = [i + (b * s) for i in cDataCopy]             # <<<<<<<<<<<<<<
 * 					cData = cData + cDataExtend
 * 				assert (len(cData) == n * scale)
 */
        { /* enter inner scope */
          __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3569, __pyx_L22_error)
          __Pyx_GOTREF(__pyx_t_4);
          if (likely(PyList_CheckExact(__pyx_v_cDataCopy)) || PyTuple_CheckExact(__pyx_v_cDataCopy)) {
            __pyx_t_9 = __pyx_v_cDataCopy; __Pyx_INCREF(__pyx_t_9); __pyx_t_18 = 0;
            __pyx_t_19 = NULL;
          } else {
            __pyx_t_18 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_v_cDataCopy); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3569, __pyx_L22_error)
            __Pyx_GOTREF(__pyx_t_9);
            __pyx_t_19 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 3569, __pyx_L22_error)
          }
          for (;;) {
            if (likely(!__pyx_t_19)) {
              if (likely(PyList_CheckExact(__pyx_t_9))) {
                if (__pyx_t_18 >= PyList_GET_SIZE(__pyx_t_9)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_1 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_18); __Pyx_INCREF(__pyx_t_1); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 3569, __pyx_L22_error)
                #else
                __pyx_t_1 = PySequence_ITEM(__pyx_t_9, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3569, __pyx_L22_error)
                __Pyx_GOTREF(__pyx_t_1);
                #endif
              } else {
                if (__pyx_t_18 >= PyTuple_GET_SIZE(__pyx_t_9)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_18); __Pyx_INCREF(__pyx_t_1); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 3569, __pyx_L22_error)
                #else
                __pyx_t_1 = PySequence_ITEM(__pyx_t_9, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3569, __pyx_L22_error)
                __Pyx_GOTREF(__pyx_t_1);
                #endif
              }
            } else {
              __pyx_t_1 = __pyx_t_19(__pyx_t_9);
              if (unlikely(!__pyx_t_1)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 3569, __pyx_L22_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_1);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr13__pyx_v_i, __pyx_t_1);
            __pyx_t_1 = 0;
            __pyx_t_1 = PyNumber_Multiply(__pyx_v_b, __pyx_v_s); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3569, __pyx_L22_error)
            __Pyx_GOTREF(__pyx_t_1);
            __pyx_t_15 = PyNumber_Add(__pyx_9genexpr13__pyx_v_i, __pyx_t_1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 3569, __pyx_L22_error)
            __Pyx_GOTREF(__pyx_t_15);
            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_15))) __PYX_ERR(0, 3569, __pyx_L22_error)
            __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
          }
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_XDECREF(__pyx_9genexpr13__pyx_v_i); __pyx_9genexpr13__pyx_v_i = 0;
          goto __pyx_L25_exit_scope;
          __pyx_L22_error:;
          __Pyx_XDECREF(__pyx_9genexpr13__pyx_v_i); __pyx_9genexpr13__pyx_v_i = 0;
          goto __pyx_L1_error;
          __pyx_L25_exit_scope:;
        } /* exit inner scope */
        __Pyx_XDECREF_SET(__pyx_v_cDataExtend, ((PyObject*)__pyx_t_4));
        __pyx_t_4 = 0;

        /* "networkit/_NetworKit.pyx":3570
 * 				for s in range(1, scale):
 * 					cDataExtend = [i + (b * s) for i in cDataCopy]
 * 					cData = cData + cDataExtend             # <<<<<<<<<<<<<<
 * 				assert (len(cData) == n * scale)
 * 				gen.setPartition(Partition(0, cData))
 */
        __pyx_t_4 = PyNumber_Add(__pyx_v_cData, __pyx_v_cDataExtend); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3570, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF_SET(__pyx_v_cData, __pyx_t_4);
        __pyx_t_4 = 0;

        /* "networkit/_NetworKit.pyx":3568
 * 				cDataCopy = cData[:]
 * 				b = communities.upperBound()
 * 				for s in range(1, scale):             # <<<<<<<<<<<<<<
 * 					cDataExtend = [i + (b * s) for i in cDataCopy]
 * 					cData = cData + cDataExtend
 */
      }
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "networkit/_NetworKit.pyx":3571
 * 					cDataExtend = [i + (b * s) for i in cDataCopy]
 * 					cData = cData + cDataExtend
 * 				assert (len(cData) == n * scale)             # <<<<<<<<<<<<<<
 * 				gen.setPartition(Partition(0, cData))
 * 			else:
 */
      #ifndef CYTHON_WITHOUT_ASSERTIONS
      if (unlikely(!Py_OptimizeFlag)) {
        __pyx_t_8 = PyObject_Length(__pyx_v_cData); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 3571, __pyx_L1_error)
        __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3571, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_4 = PyNumber_Multiply(__pyx_v_n, __pyx_v_scale); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3571, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_9 = PyObject_RichCompare(__pyx_t_6, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3571, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 3571, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_7)) {
          PyErr_SetNone(PyExc_AssertionError);
          __PYX_ERR(0, 3571, __pyx_L1_error)
        }
      }
      #endif

      /* "networkit/_NetworKit.pyx":3572
 * 					cData = cData + cDataExtend
 * 				assert (len(cData) == n * scale)
 * 				gen.setPartition(Partition(0, cData))             # <<<<<<<<<<<<<<
 * 			else:
 * 				gen.setPartition(communities)
 */
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_gen, __pyx_n_s_setPartition); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3572, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3572, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_INCREF(__pyx_int_0);
      __Pyx_GIVEREF(__pyx_int_0);
      PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_int_0);
      __Pyx_INCREF(__pyx_v_cData);
      __Pyx_GIVEREF(__pyx_v_cData);
      PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_cData);
      __pyx_t_15 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Partition), __pyx_t_6, NULL); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 3572, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_15);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_6)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_6);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      __pyx_t_9 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_15) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_15);
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3572, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "networkit/_NetworKit.pyx":3563
 * 			print(refImplParams)
 * 		else:
 * 			if scale > 1:             # <<<<<<<<<<<<<<
 * 				# scale communities
 * 				cData = communities.getVector()
 */
      goto __pyx_L17;
    }

    /* "networkit/_NetworKit.pyx":3574
 * 				gen.setPartition(Partition(0, cData))
 * 			else:
 * 				gen.setPartition(communities)             # <<<<<<<<<<<<<<
 * 			# degree sequence
 * 			gen.setDegreeSequence(degSeq * scale)
 */
    /*else*/ {
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_gen, __pyx_n_s_setPartition); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3574, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_15 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_15)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_15);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      __pyx_t_9 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_15, __pyx_v_communities) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_communities);
      __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
      if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3574, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    }
    __pyx_L17:;

    /* "networkit/_NetworKit.pyx":3576
 * 				gen.setPartition(communities)
 * 			# degree sequence
 * 			gen.setDegreeSequence(degSeq * scale)             # <<<<<<<<<<<<<<
 * 			# mixing parameter
 * 			localCoverage = LocalPartitionCoverage(G, communities).run().scores()
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_gen, __pyx_n_s_setDegreeSequence); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3576, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_15 = PyNumber_Multiply(__pyx_v_degSeq, __pyx_v_scale); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 3576, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    __pyx_t_9 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_15) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_15);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3576, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

    /* "networkit/_NetworKit.pyx":3578
 * 			gen.setDegreeSequence(degSeq * scale)
 * 			# mixing parameter
 * 			localCoverage = LocalPartitionCoverage(G, communities).run().scores()             # <<<<<<<<<<<<<<
 * 			gen.setMu([1.0 - x for x in localCoverage] * scale)
 * 		return gen
 */
    __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 3578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __Pyx_INCREF(((PyObject *)__pyx_v_G));
    __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
    PyTuple_SET_ITEM(__pyx_t_15, 0, ((PyObject *)__pyx_v_G));
    __Pyx_INCREF(__pyx_v_communities);
    __Pyx_GIVEREF(__pyx_v_communities);
    PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_v_communities);
    __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_LocalPartitionCoverage), __pyx_t_15, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_run); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 3578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_15))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_15);
      if (likely(__pyx_t_6)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_15, function);
      }
    }
    __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_15);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_scores); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 3578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_15))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_15);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_15, function);
      }
    }
    __pyx_t_9 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_15);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    __pyx_v_localCoverage = __pyx_t_9;
    __pyx_t_9 = 0;

    /* "networkit/_NetworKit.pyx":3579
 * 			# mixing parameter
 * 			localCoverage = LocalPartitionCoverage(G, communities).run().scores()
 * 			gen.setMu([1.0 - x for x in localCoverage] * scale)             # <<<<<<<<<<<<<<
 * 		return gen
 * 
 */
    __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_gen, __pyx_n_s_setMu); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 3579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    { /* enter inner scope */
      __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3579, __pyx_L28_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (likely(PyList_CheckExact(__pyx_v_localCoverage)) || PyTuple_CheckExact(__pyx_v_localCoverage)) {
        __pyx_t_6 = __pyx_v_localCoverage; __Pyx_INCREF(__pyx_t_6); __pyx_t_8 = 0;
        __pyx_t_17 = NULL;
      } else {
        __pyx_t_8 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_v_localCoverage); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3579, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_17 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3579, __pyx_L28_error)
      }
      for (;;) {
        if (likely(!__pyx_t_17)) {
          if (likely(PyList_CheckExact(__pyx_t_6))) {
            if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_6)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_1 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_t_1); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 3579, __pyx_L28_error)
            #else
            __pyx_t_1 = PySequence_ITEM(__pyx_t_6, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3579, __pyx_L28_error)
            __Pyx_GOTREF(__pyx_t_1);
            #endif
          } else {
            if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_6)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_t_1); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 3579, __pyx_L28_error)
            #else
            __pyx_t_1 = PySequence_ITEM(__pyx_t_6, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3579, __pyx_L28_error)
            __Pyx_GOTREF(__pyx_t_1);
            #endif
          }
        } else {
          __pyx_t_1 = __pyx_t_17(__pyx_t_6);
          if (unlikely(!__pyx_t_1)) {
            PyObject* exc_type = PyErr_Occurred();
            if (exc_type) {
              if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
              else __PYX_ERR(0, 3579, __pyx_L28_error)
            }
            break;
          }
          __Pyx_GOTREF(__pyx_t_1);
        }
        __Pyx_XDECREF_SET(__pyx_9genexpr14__pyx_v_x, __pyx_t_1);
        __pyx_t_1 = 0;
        __pyx_t_1 = __Pyx_PyFloat_SubtractCObj(__pyx_float_1_0, __pyx_9genexpr14__pyx_v_x, 1.0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3579, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_1);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_1))) __PYX_ERR(0, 3579, __pyx_L28_error)
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_9genexpr14__pyx_v_x); __pyx_9genexpr14__pyx_v_x = 0;
      goto __pyx_L31_exit_scope;
      __pyx_L28_error:;
      __Pyx_XDECREF(__pyx_9genexpr14__pyx_v_x); __pyx_9genexpr14__pyx_v_x = 0;
      goto __pyx_L1_error;
      __pyx_L31_exit_scope:;
    } /* exit inner scope */
    __pyx_t_6 = PyNumber_Multiply(__pyx_t_4, __pyx_v_scale); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_15))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_15);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_15, function);
      }
    }
    __pyx_t_9 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_15, __pyx_t_4, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  }
  __pyx_L5:;

  /* "networkit/_NetworKit.pyx":3580
 * 			localCoverage = LocalPartitionCoverage(G, communities).run().scores()
 * 			gen.setMu([1.0 - x for x in localCoverage] * scale)
 * 		return gen             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_gen);
  __pyx_r = __pyx_v_gen;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":3500
 * 
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1, vanilla=False, communityDetectionAlgorithm=PLM, plfit=False):             # <<<<<<<<<<<<<<
 * 		""" Fit model to input graph"""
 * 		(n, m) = GraphTools.size(G)
 */

  /* 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_9);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_AddTraceback("networkit._NetworKit.LFRGenerator.fit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XDECREF(__pyx_v_m);
  __Pyx_XDECREF(__pyx_v_communities);
  __Pyx_XDECREF(__pyx_v_degSeq);
  __Pyx_XDECREF(__pyx_v_gen);
  __Pyx_XDECREF(__pyx_v_avgDegree);
  __Pyx_XDECREF(__pyx_v_maxDegree);
  __Pyx_XDECREF((PyObject *)__pyx_v_degSeqGen);
  __Pyx_XDECREF(__pyx_v_nodeDegreeExp);
  __Pyx_XDECREF(__pyx_v_communitySize);
  __Pyx_XDECREF(__pyx_v_communityAvgSize);
  __Pyx_XDECREF(__pyx_v_communityMaxSize);
  __Pyx_XDECREF(__pyx_v_communityMinSize);
  __Pyx_XDECREF(__pyx_v_localCoverage);
  __Pyx_XDECREF(__pyx_v_mu);
  __Pyx_XDECREF(__pyx_v_communityExp);
  __Pyx_XDECREF((PyObject *)__pyx_v_pl);
  __Pyx_XDECREF(__pyx_v_refImplParams);
  __Pyx_XDECREF(__pyx_v_cData);
  __Pyx_XDECREF(__pyx_v_cDataCopy);
  __Pyx_XDECREF(__pyx_v_b);
  __Pyx_XDECREF(__pyx_v_s);
  __Pyx_XDECREF(__pyx_v_cDataExtend);
  __Pyx_XDECREF(__pyx_9genexpr13__pyx_v_i);
  __Pyx_XDECREF(__pyx_9genexpr14__pyx_v_x);
  __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_9networkit_10_NetworKit_12LFRGenerator_27__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_27__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12LFRGenerator_26__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_26__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__97, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LFRGenerator.__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_9networkit_10_NetworKit_12LFRGenerator_29__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_29__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12LFRGenerator_28__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_12LFRGenerator_28__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__98, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LFRGenerator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3636
 * 	cdef _GraphReader* _this
 * 
 * 	def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == GraphReader:
 * 			raise RuntimeError("Error, you may not use GraphReader directly, use a sub-class instead")
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_11GraphReader_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_11GraphReader_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11GraphReader___init__(((struct __pyx_obj_9networkit_10_NetworKit_GraphReader *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

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

static int __pyx_pf_9networkit_10_NetworKit_11GraphReader___init__(struct __pyx_obj_9networkit_10_NetworKit_GraphReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "networkit/_NetworKit.pyx":3637
 * 
 * 	def __init__(self, *args, **kwargs):
 * 		if type(self) == GraphReader:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use GraphReader directly, use a sub-class instead")
 * 
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), ((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphReader), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3637, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 3637, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(__pyx_t_2)) {

    /* "networkit/_NetworKit.pyx":3638
 * 	def __init__(self, *args, **kwargs):
 * 		if type(self) == GraphReader:
 * 			raise RuntimeError("Error, you may not use GraphReader directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def __cinit__(self, *args, **kwargs):
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__99, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3638, __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(0, 3638, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":3637
 * 
 * 	def __init__(self, *args, **kwargs):
 * 		if type(self) == GraphReader:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use GraphReader directly, use a sub-class instead")
 * 
 */
  }

  /* "networkit/_NetworKit.pyx":3636
 * 	cdef _GraphReader* _this
 * 
 * 	def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == GraphReader:
 * 			raise RuntimeError("Error, you may not use GraphReader directly, use a sub-class instead")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphReader.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3640
 * 			raise RuntimeError("Error, you may not use GraphReader directly, use a sub-class instead")
 * 
 * 	def __cinit__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 * 		self._this = NULL
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_11GraphReader_3__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_11GraphReader_3__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11GraphReader_2__cinit__(((struct __pyx_obj_9networkit_10_NetworKit_GraphReader *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

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

static int __pyx_pf_9networkit_10_NetworKit_11GraphReader_2__cinit__(struct __pyx_obj_9networkit_10_NetworKit_GraphReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":3641
 * 
 * 	def __cinit__(self, *args, **kwargs):
 * 		self._this = NULL             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  __pyx_v_self->_this = NULL;

  /* "networkit/_NetworKit.pyx":3640
 * 			raise RuntimeError("Error, you may not use GraphReader directly, use a sub-class instead")
 * 
 * 	def __cinit__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 * 		self._this = NULL
 * 
 */

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

/* "networkit/_NetworKit.pyx":3643
 * 		self._this = NULL
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		if self._this != NULL:
 * 			del self._this
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_11GraphReader_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_11GraphReader_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_11GraphReader_4__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_GraphReader *)__pyx_v_self));

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

static void __pyx_pf_9networkit_10_NetworKit_11GraphReader_4__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_GraphReader *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":3644
 * 
 * 	def __dealloc__(self):
 * 		if self._this != NULL:             # <<<<<<<<<<<<<<
 * 			del self._this
 * 		self._this = NULL
 */
  __pyx_t_1 = ((__pyx_v_self->_this != NULL) != 0);
  if (__pyx_t_1) {

    /* "networkit/_NetworKit.pyx":3645
 * 	def __dealloc__(self):
 * 		if self._this != NULL:
 * 			del self._this             # <<<<<<<<<<<<<<
 * 		self._this = NULL
 * 
 */
    delete __pyx_v_self->_this;

    /* "networkit/_NetworKit.pyx":3644
 * 
 * 	def __dealloc__(self):
 * 		if self._this != NULL:             # <<<<<<<<<<<<<<
 * 			del self._this
 * 		self._this = NULL
 */
  }

  /* "networkit/_NetworKit.pyx":3646
 * 		if self._this != NULL:
 * 			del self._this
 * 		self._this = NULL             # <<<<<<<<<<<<<<
 * 
 * 	def read(self, path):
 */
  __pyx_v_self->_this = NULL;

  /* "networkit/_NetworKit.pyx":3643
 * 		self._this = NULL
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		if self._this != NULL:
 * 			del self._this
 */

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

/* "networkit/_NetworKit.pyx":3648
 * 		self._this = NULL
 * 
 * 	def read(self, path):             # <<<<<<<<<<<<<<
 * 		cdef string cpath = stdstring(path)
 * 		cdef _Graph result
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_11GraphReader_7read(PyObject *__pyx_v_self, PyObject *__pyx_v_path); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_11GraphReader_7read(PyObject *__pyx_v_self, PyObject *__pyx_v_path) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("read (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11GraphReader_6read(((struct __pyx_obj_9networkit_10_NetworKit_GraphReader *)__pyx_v_self), ((PyObject *)__pyx_v_path));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11GraphReader_6read(struct __pyx_obj_9networkit_10_NetworKit_GraphReader *__pyx_v_self, PyObject *__pyx_v_path) {
  std::string __pyx_v_cpath;
  NetworKit::Graph __pyx_v_result;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::string __pyx_t_4;
  NetworKit::Graph __pyx_t_5;
  __Pyx_RefNannySetupContext("read", 0);

  /* "networkit/_NetworKit.pyx":3649
 * 
 * 	def read(self, path):
 * 		cdef string cpath = stdstring(path)             # <<<<<<<<<<<<<<
 * 		cdef _Graph result
 * 
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_path) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_path);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3649, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cpath = __pyx_t_4;

  /* "networkit/_NetworKit.pyx":3652
 * 		cdef _Graph result
 * 
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			result = move(self._this.read(cpath)) # extra move in order to avoid copying the internal variable that is used by Cython
 * 		return Graph(0).setThis(result)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":3653
 * 
 * 		with nogil:
 * 			result = move(self._this.read(cpath)) # extra move in order to avoid copying the internal variable that is used by Cython             # <<<<<<<<<<<<<<
 * 		return Graph(0).setThis(result)
 * 
 */
        try {
          __pyx_t_5 = __pyx_v_self->_this->read(__pyx_v_cpath);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 3653, __pyx_L4_error)
        }
        __pyx_v_result = std::move(__pyx_t_5);
      }

      /* "networkit/_NetworKit.pyx":3652
 * 		cdef _Graph result
 * 
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			result = move(self._this.read(cpath)) # extra move in order to avoid copying the internal variable that is used by Cython
 * 		return Graph(0).setThis(result)
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":3654
 * 		with nogil:
 * 			result = move(self._this.read(cpath)) # extra move in order to avoid copying the internal variable that is used by Cython
 * 		return Graph(0).setThis(result)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/io/GraphWriter.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph), __pyx_tuple__79, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3654, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_v_result); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3654, __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;

  /* "networkit/_NetworKit.pyx":3648
 * 		self._this = NULL
 * 
 * 	def read(self, path):             # <<<<<<<<<<<<<<
 * 		cdef string cpath = stdstring(path)
 * 		cdef _Graph result
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.GraphReader.read", __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_9networkit_10_NetworKit_11GraphReader_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_11GraphReader_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11GraphReader_8__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GraphReader *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11GraphReader_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphReader *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__100, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphReader.__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_9networkit_10_NetworKit_11GraphReader_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_11GraphReader_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11GraphReader_10__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GraphReader *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11GraphReader_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__101, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphReader.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3669
 * 	cdef _GraphWriter *_this
 * 
 * 	def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == GraphWriter:
 * 			raise RuntimeError("Error, you may not use GraphReader directly, use a sub-class instead")
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_11GraphWriter_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_11GraphWriter_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11GraphWriter___init__(((struct __pyx_obj_9networkit_10_NetworKit_GraphWriter *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

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

static int __pyx_pf_9networkit_10_NetworKit_11GraphWriter___init__(struct __pyx_obj_9networkit_10_NetworKit_GraphWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "networkit/_NetworKit.pyx":3670
 * 
 * 	def __init__(self, *args, **kwargs):
 * 		if type(self) == GraphWriter:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use GraphReader directly, use a sub-class instead")
 * 
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), ((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphWriter), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3670, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 3670, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(__pyx_t_2)) {

    /* "networkit/_NetworKit.pyx":3671
 * 	def __init__(self, *args, **kwargs):
 * 		if type(self) == GraphWriter:
 * 			raise RuntimeError("Error, you may not use GraphReader directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def __cinit__(self, *args, **kwargs):
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__99, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3671, __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(0, 3671, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":3670
 * 
 * 	def __init__(self, *args, **kwargs):
 * 		if type(self) == GraphWriter:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use GraphReader directly, use a sub-class instead")
 * 
 */
  }

  /* "networkit/_NetworKit.pyx":3669
 * 	cdef _GraphWriter *_this
 * 
 * 	def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == GraphWriter:
 * 			raise RuntimeError("Error, you may not use GraphReader directly, use a sub-class instead")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphWriter.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3673
 * 			raise RuntimeError("Error, you may not use GraphReader directly, use a sub-class instead")
 * 
 * 	def __cinit__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 * 		self._this = NULL
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_11GraphWriter_3__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_11GraphWriter_3__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11GraphWriter_2__cinit__(((struct __pyx_obj_9networkit_10_NetworKit_GraphWriter *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

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

static int __pyx_pf_9networkit_10_NetworKit_11GraphWriter_2__cinit__(struct __pyx_obj_9networkit_10_NetworKit_GraphWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":3674
 * 
 * 	def __cinit__(self, *args, **kwargs):
 * 		self._this = NULL             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  __pyx_v_self->_this = NULL;

  /* "networkit/_NetworKit.pyx":3673
 * 			raise RuntimeError("Error, you may not use GraphReader directly, use a sub-class instead")
 * 
 * 	def __cinit__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 * 		self._this = NULL
 * 
 */

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

/* "networkit/_NetworKit.pyx":3676
 * 		self._this = NULL
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		if self._this != NULL:
 * 			del self._this
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_11GraphWriter_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_11GraphWriter_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_11GraphWriter_4__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_GraphWriter *)__pyx_v_self));

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

static void __pyx_pf_9networkit_10_NetworKit_11GraphWriter_4__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_GraphWriter *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":3677
 * 
 * 	def __dealloc__(self):
 * 		if self._this != NULL:             # <<<<<<<<<<<<<<
 * 			del self._this
 * 		self._this = NULL
 */
  __pyx_t_1 = ((__pyx_v_self->_this != NULL) != 0);
  if (__pyx_t_1) {

    /* "networkit/_NetworKit.pyx":3678
 * 	def __dealloc__(self):
 * 		if self._this != NULL:
 * 			del self._this             # <<<<<<<<<<<<<<
 * 		self._this = NULL
 * 
 */
    delete __pyx_v_self->_this;

    /* "networkit/_NetworKit.pyx":3677
 * 
 * 	def __dealloc__(self):
 * 		if self._this != NULL:             # <<<<<<<<<<<<<<
 * 			del self._this
 * 		self._this = NULL
 */
  }

  /* "networkit/_NetworKit.pyx":3679
 * 		if self._this != NULL:
 * 			del self._this
 * 		self._this = NULL             # <<<<<<<<<<<<<<
 * 
 * 	def write(self, Graph G not None, path):
 */
  __pyx_v_self->_this = NULL;

  /* "networkit/_NetworKit.pyx":3676
 * 		self._this = NULL
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		if self._this != NULL:
 * 			del self._this
 */

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

/* "networkit/_NetworKit.pyx":3681
 * 		self._this = NULL
 * 
 * 	def write(self, Graph G not None, path):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Write the graph to a file.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_11GraphWriter_7write(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_11GraphWriter_6write[] = "\n\t\tWrite the graph to a file.\n\n\t\tParameters\n\t\t----------\n\t\tG     : networkit.Graph\n\t\t\tThe graph to write\n\t\tpaths : str\n\t\t\tThe output path\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_11GraphWriter_7write(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_path = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("write (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_path,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_path)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("write", 1, 2, 2, 1); __PYX_ERR(0, 3681, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write") < 0)) __PYX_ERR(0, 3681, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_path = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("write", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3681, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphWriter.write", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 3681, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11GraphWriter_6write(((struct __pyx_obj_9networkit_10_NetworKit_GraphWriter *)__pyx_v_self), __pyx_v_G, __pyx_v_path);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_11GraphWriter_6write(struct __pyx_obj_9networkit_10_NetworKit_GraphWriter *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_path) {
  std::string __pyx_v_c_path;
  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;
  std::string __pyx_t_5;
  __Pyx_RefNannySetupContext("write", 0);

  /* "networkit/_NetworKit.pyx":3692
 * 			The output path
 * 		"""
 * 		assert path != None             # <<<<<<<<<<<<<<
 * 		cdef string c_path = stdstring(path)
 * 		with nogil:
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_1 = PyObject_RichCompare(__pyx_v_path, Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3692, __pyx_L1_error)
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 3692, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(0, 3692, __pyx_L1_error)
    }
  }
  #endif

  /* "networkit/_NetworKit.pyx":3693
 * 		"""
 * 		assert path != None
 * 		cdef string c_path = stdstring(path)             # <<<<<<<<<<<<<<
 * 		with nogil:
 * 			self._this.write(G._this, c_path)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_path) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_path);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3693, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_c_path = __pyx_t_5;

  /* "networkit/_NetworKit.pyx":3694
 * 		assert path != None
 * 		cdef string c_path = stdstring(path)
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.write(G._this, c_path)
 * 		return self
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":3695
 * 		cdef string c_path = stdstring(path)
 * 		with nogil:
 * 			self._this.write(G._this, c_path)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
        try {
          __pyx_v_self->_this->write(__pyx_v_G->_this, __pyx_v_c_path);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 3695, __pyx_L4_error)
        }
      }

      /* "networkit/_NetworKit.pyx":3694
 * 		assert path != None
 * 		cdef string c_path = stdstring(path)
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.write(G._this, c_path)
 * 		return self
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":3696
 * 		with nogil:
 * 			self._this.write(G._this, c_path)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/io/METISGraphReader.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":3681
 * 		self._this = NULL
 * 
 * 	def write(self, Graph G not None, path):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Write the graph to a file.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("networkit._NetworKit.GraphWriter.write", __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_9networkit_10_NetworKit_11GraphWriter_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_11GraphWriter_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11GraphWriter_8__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GraphWriter *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11GraphWriter_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__102, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphWriter.__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_9networkit_10_NetworKit_11GraphWriter_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_11GraphWriter_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11GraphWriter_10__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GraphWriter *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11GraphWriter_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__103, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphWriter.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3708
 * 		[1]: http://people.sc.fsu.edu/~jburkardt/data/metis_graph/metis_graph.html
 * 	"""
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _METISGraphReader()
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_16METISGraphReader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_16METISGraphReader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16METISGraphReader___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_METISGraphReader *)__pyx_v_self));

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

static int __pyx_pf_9networkit_10_NetworKit_16METISGraphReader___cinit__(struct __pyx_obj_9networkit_10_NetworKit_METISGraphReader *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::METISGraphReader *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":3709
 * 	"""
 * 	def __cinit__(self):
 * 		self._this = new _METISGraphReader()             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/io/NetworkitBinaryReader.hpp>":
 */
  try {
    __pyx_t_1 = new NetworKit::METISGraphReader();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 3709, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":3708
 * 		[1]: http://people.sc.fsu.edu/~jburkardt/data/metis_graph/metis_graph.html
 * 	"""
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _METISGraphReader()
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.METISGraphReader.__cinit__", __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_9networkit_10_NetworKit_16METISGraphReader_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_16METISGraphReader_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16METISGraphReader_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_METISGraphReader *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_16METISGraphReader_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_METISGraphReader *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__104, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.METISGraphReader.__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_9networkit_10_NetworKit_16METISGraphReader_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_16METISGraphReader_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16METISGraphReader_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_METISGraphReader *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_16METISGraphReader_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_METISGraphReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__105, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.METISGraphReader.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3720
 * 	"""
 * 
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _NetworkitBinaryReader()
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_21NetworkitBinaryReader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_21NetworkitBinaryReader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21NetworkitBinaryReader___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_NetworkitBinaryReader *)__pyx_v_self));

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

static int __pyx_pf_9networkit_10_NetworKit_21NetworkitBinaryReader___cinit__(struct __pyx_obj_9networkit_10_NetworKit_NetworkitBinaryReader *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::NetworkitBinaryReader *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":3721
 * 
 * 	def __cinit__(self):
 * 		self._this = new _NetworkitBinaryReader()             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/io/NetworkitBinaryWriter.hpp>":
 */
  try {
    __pyx_t_1 = new NetworKit::NetworkitBinaryReader();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 3721, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":3720
 * 	"""
 * 
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _NetworkitBinaryReader()
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.NetworkitBinaryReader.__cinit__", __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_9networkit_10_NetworKit_21NetworkitBinaryReader_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21NetworkitBinaryReader_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21NetworkitBinaryReader_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_NetworkitBinaryReader *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21NetworkitBinaryReader_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NetworkitBinaryReader *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__106, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.NetworkitBinaryReader.__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_9networkit_10_NetworKit_21NetworkitBinaryReader_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21NetworkitBinaryReader_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21NetworkitBinaryReader_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_NetworkitBinaryReader *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21NetworkitBinaryReader_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NetworkitBinaryReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__107, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.NetworkitBinaryReader.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3728
 * 
 * cdef class NetworkitBinaryWriter(GraphWriter):
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _NetworkitBinaryWriter()
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_21NetworkitBinaryWriter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_21NetworkitBinaryWriter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21NetworkitBinaryWriter___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_NetworkitBinaryWriter *)__pyx_v_self));

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

static int __pyx_pf_9networkit_10_NetworKit_21NetworkitBinaryWriter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_NetworkitBinaryWriter *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::NetworkitBinaryWriter *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":3729
 * cdef class NetworkitBinaryWriter(GraphWriter):
 * 	def __cinit__(self):
 * 		self._this = new _NetworkitBinaryWriter()             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/io/GraphToolBinaryReader.hpp>":
 */
  try {
    __pyx_t_1 = new NetworKit::NetworkitBinaryWriter();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 3729, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":3728
 * 
 * cdef class NetworkitBinaryWriter(GraphWriter):
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _NetworkitBinaryWriter()
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.NetworkitBinaryWriter.__cinit__", __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_9networkit_10_NetworKit_21NetworkitBinaryWriter_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21NetworkitBinaryWriter_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21NetworkitBinaryWriter_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_NetworkitBinaryWriter *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21NetworkitBinaryWriter_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NetworkitBinaryWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__108, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.NetworkitBinaryWriter.__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_9networkit_10_NetworKit_21NetworkitBinaryWriter_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21NetworkitBinaryWriter_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21NetworkitBinaryWriter_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_NetworkitBinaryWriter *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21NetworkitBinaryWriter_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NetworkitBinaryWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__109, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.NetworkitBinaryWriter.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3740
 * 		[1]: http://graph-tool.skewed.de/static/doc/gt_format.html
 * 	"""
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _GraphToolBinaryReader()
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_21GraphToolBinaryReader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_21GraphToolBinaryReader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21GraphToolBinaryReader___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_GraphToolBinaryReader *)__pyx_v_self));

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

static int __pyx_pf_9networkit_10_NetworKit_21GraphToolBinaryReader___cinit__(struct __pyx_obj_9networkit_10_NetworKit_GraphToolBinaryReader *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::GraphToolBinaryReader *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":3741
 * 	"""
 * 	def __cinit__(self):
 * 		self._this = new _GraphToolBinaryReader()             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/io/ThrillGraphBinaryReader.hpp>":
 */
  try {
    __pyx_t_1 = new NetworKit::GraphToolBinaryReader();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 3741, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":3740
 * 		[1]: http://graph-tool.skewed.de/static/doc/gt_format.html
 * 	"""
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _GraphToolBinaryReader()
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphToolBinaryReader.__cinit__", __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_9networkit_10_NetworKit_21GraphToolBinaryReader_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21GraphToolBinaryReader_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21GraphToolBinaryReader_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GraphToolBinaryReader *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21GraphToolBinaryReader_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphToolBinaryReader *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__110, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphToolBinaryReader.__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_9networkit_10_NetworKit_21GraphToolBinaryReader_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21GraphToolBinaryReader_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21GraphToolBinaryReader_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GraphToolBinaryReader *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21GraphToolBinaryReader_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphToolBinaryReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__111, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphToolBinaryReader.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3761
 * 		The number of nodes
 * 	"""
 * 	def __cinit__(self, count n = 0):             # <<<<<<<<<<<<<<
 * 		self._this = new _ThrillGraphBinaryReader(n)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_23ThrillGraphBinaryReader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_23ThrillGraphBinaryReader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_n;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3761, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_n = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_n == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3761, __pyx_L3_error)
    } else {
      __pyx_v_n = ((__pyx_t_9networkit_10_NetworKit_count)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3761, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ThrillGraphBinaryReader.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23ThrillGraphBinaryReader___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryReader *)__pyx_v_self), __pyx_v_n);

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

static int __pyx_pf_9networkit_10_NetworKit_23ThrillGraphBinaryReader___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryReader *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_count __pyx_v_n) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::ThrillGraphBinaryReader *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":3762
 * 	"""
 * 	def __cinit__(self, count n = 0):
 * 		self._this = new _ThrillGraphBinaryReader(n)             # <<<<<<<<<<<<<<
 * 
 * 	"""
 */
  try {
    __pyx_t_1 = new NetworKit::ThrillGraphBinaryReader(__pyx_v_n);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 3762, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":3761
 * 		The number of nodes
 * 	"""
 * 	def __cinit__(self, count n = 0):             # <<<<<<<<<<<<<<
 * 		self._this = new _ThrillGraphBinaryReader(n)
 * 
 */

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

/* "networkit/_NetworKit.pyx":3772
 * 		The input path(s)
 * 	"""
 * 	def read(self, paths):             # <<<<<<<<<<<<<<
 * 		cdef vector[string] c_paths
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_23ThrillGraphBinaryReader_3read(PyObject *__pyx_v_self, PyObject *__pyx_v_paths); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_23ThrillGraphBinaryReader_3read(PyObject *__pyx_v_self, PyObject *__pyx_v_paths) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("read (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23ThrillGraphBinaryReader_2read(((struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryReader *)__pyx_v_self), ((PyObject *)__pyx_v_paths));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_23ThrillGraphBinaryReader_2read(struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryReader *__pyx_v_self, PyObject *__pyx_v_paths) {
  std::vector<std::string>  __pyx_v_c_paths;
  PyObject *__pyx_v_p = NULL;
  NetworKit::Graph __pyx_v_result;
  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;
  std::string __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  PyObject *__pyx_t_9 = NULL;
  NetworKit::Graph __pyx_t_10;
  __Pyx_RefNannySetupContext("read", 0);

  /* "networkit/_NetworKit.pyx":3775
 * 		cdef vector[string] c_paths
 * 
 * 		if isinstance(paths, str):             # <<<<<<<<<<<<<<
 * 			c_paths.push_back(stdstring(paths))
 * 		else:
 */
  __pyx_t_1 = PyUnicode_Check(__pyx_v_paths); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":3776
 * 
 * 		if isinstance(paths, str):
 * 			c_paths.push_back(stdstring(paths))             # <<<<<<<<<<<<<<
 * 		else:
 * 			c_paths.reserve(len(paths))
 */
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3776, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_paths) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_paths);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3776, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_6 = __pyx_convert_string_from_py_std__in_string(__pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3776, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    try {
      __pyx_v_c_paths.push_back(__pyx_t_6);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 3776, __pyx_L1_error)
    }

    /* "networkit/_NetworKit.pyx":3775
 * 		cdef vector[string] c_paths
 * 
 * 		if isinstance(paths, str):             # <<<<<<<<<<<<<<
 * 			c_paths.push_back(stdstring(paths))
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":3778
 * 			c_paths.push_back(stdstring(paths))
 * 		else:
 * 			c_paths.reserve(len(paths))             # <<<<<<<<<<<<<<
 * 
 * 			for p in paths:
 */
  /*else*/ {
    __pyx_t_7 = PyObject_Length(__pyx_v_paths); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 3778, __pyx_L1_error)
    __pyx_v_c_paths.reserve(__pyx_t_7);

    /* "networkit/_NetworKit.pyx":3780
 * 			c_paths.reserve(len(paths))
 * 
 * 			for p in paths:             # <<<<<<<<<<<<<<
 * 				c_paths.push_back(stdstring(p))
 * 
 */
    if (likely(PyList_CheckExact(__pyx_v_paths)) || PyTuple_CheckExact(__pyx_v_paths)) {
      __pyx_t_3 = __pyx_v_paths; __Pyx_INCREF(__pyx_t_3); __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
    } else {
      __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_paths); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3780, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_8 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3780, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_8)) {
        if (likely(PyList_CheckExact(__pyx_t_3))) {
          if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_3)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_4); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 3780, __pyx_L1_error)
          #else
          __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3780, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          #endif
        } else {
          if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_4); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 3780, __pyx_L1_error)
          #else
          __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3780, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          #endif
        }
      } else {
        __pyx_t_4 = __pyx_t_8(__pyx_t_3);
        if (unlikely(!__pyx_t_4)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(0, 3780, __pyx_L1_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_XDECREF_SET(__pyx_v_p, __pyx_t_4);
      __pyx_t_4 = 0;

      /* "networkit/_NetworKit.pyx":3781
 * 
 * 			for p in paths:
 * 				c_paths.push_back(stdstring(p))             # <<<<<<<<<<<<<<
 * 
 * 		cdef _Graph result
 */
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3781, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_9 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
        __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5);
        if (likely(__pyx_t_9)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
          __Pyx_INCREF(__pyx_t_9);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_5, function);
        }
      }
      __pyx_t_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_9, __pyx_v_p) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_p);
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3781, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_6 = __pyx_convert_string_from_py_std__in_string(__pyx_t_4); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3781, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      try {
        __pyx_v_c_paths.push_back(__pyx_t_6);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(0, 3781, __pyx_L1_error)
      }

      /* "networkit/_NetworKit.pyx":3780
 * 			c_paths.reserve(len(paths))
 * 
 * 			for p in paths:             # <<<<<<<<<<<<<<
 * 				c_paths.push_back(stdstring(p))
 * 
 */
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":3785
 * 		cdef _Graph result
 * 
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			result = move((<_ThrillGraphBinaryReader*>(self._this)).read(c_paths)) # extra move in order to avoid copying the internal variable that is used by Cython
 * 
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":3786
 * 
 * 		with nogil:
 * 			result = move((<_ThrillGraphBinaryReader*>(self._this)).read(c_paths)) # extra move in order to avoid copying the internal variable that is used by Cython             # <<<<<<<<<<<<<<
 * 
 * 		return Graph(0).setThis(result)
 */
        try {
          __pyx_t_10 = ((NetworKit::ThrillGraphBinaryReader *)__pyx_v_self->__pyx_base._this)->read(__pyx_v_c_paths);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 3786, __pyx_L7_error)
        }
        __pyx_v_result = std::move(__pyx_t_10);
      }

      /* "networkit/_NetworKit.pyx":3785
 * 		cdef _Graph result
 * 
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			result = move((<_ThrillGraphBinaryReader*>(self._this)).read(c_paths)) # extra move in order to avoid copying the internal variable that is used by Cython
 * 
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "networkit/_NetworKit.pyx":3788
 * 			result = move((<_ThrillGraphBinaryReader*>(self._this)).read(c_paths)) # extra move in order to avoid copying the internal variable that is used by Cython
 * 
 * 		return Graph(0).setThis(result)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/io/ThrillGraphBinaryWriter.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph), __pyx_tuple__79, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_3)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_3), __pyx_v_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3788, __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;

  /* "networkit/_NetworKit.pyx":3772
 * 		The input path(s)
 * 	"""
 * 	def read(self, paths):             # <<<<<<<<<<<<<<
 * 		cdef vector[string] c_paths
 * 
 */

  /* 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_9);
  __Pyx_AddTraceback("networkit._NetworKit.ThrillGraphBinaryReader.read", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_p);
  __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_9networkit_10_NetworKit_23ThrillGraphBinaryReader_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_23ThrillGraphBinaryReader_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23ThrillGraphBinaryReader_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryReader *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_23ThrillGraphBinaryReader_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryReader *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__112, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ThrillGraphBinaryReader.__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_9networkit_10_NetworKit_23ThrillGraphBinaryReader_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_23ThrillGraphBinaryReader_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23ThrillGraphBinaryReader_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryReader *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_23ThrillGraphBinaryReader_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__113, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ThrillGraphBinaryReader.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3801
 * 	"""
 * 
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _ThrillGraphBinaryWriter()
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_23ThrillGraphBinaryWriter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_23ThrillGraphBinaryWriter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23ThrillGraphBinaryWriter___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryWriter *)__pyx_v_self));

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

static int __pyx_pf_9networkit_10_NetworKit_23ThrillGraphBinaryWriter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryWriter *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::ThrillGraphBinaryWriter *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":3802
 * 
 * 	def __cinit__(self):
 * 		self._this = new _ThrillGraphBinaryWriter()             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/io/EdgeListReader.hpp>":
 */
  try {
    __pyx_t_1 = new NetworKit::ThrillGraphBinaryWriter();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 3802, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":3801
 * 	"""
 * 
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _ThrillGraphBinaryWriter()
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ThrillGraphBinaryWriter.__cinit__", __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_9networkit_10_NetworKit_23ThrillGraphBinaryWriter_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_23ThrillGraphBinaryWriter_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23ThrillGraphBinaryWriter_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryWriter *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_23ThrillGraphBinaryWriter_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__114, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ThrillGraphBinaryWriter.__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_9networkit_10_NetworKit_23ThrillGraphBinaryWriter_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_23ThrillGraphBinaryWriter_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23ThrillGraphBinaryWriter_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryWriter *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_23ThrillGraphBinaryWriter_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__115, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ThrillGraphBinaryWriter.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3850
 * 		Treat input file as a directed graph.
 * 	"""
 * 	def __cinit__(self, separator, firstNode, commentPrefix="#", continuous=True, directed=False):             # <<<<<<<<<<<<<<
 * 		if len(separator) != 1 or ord(separator[0]) > 255:
 * 			raise RuntimeError("separator has to be exactly one ascii character");
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_14EdgeListReader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_14EdgeListReader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_separator = 0;
  PyObject *__pyx_v_firstNode = 0;
  PyObject *__pyx_v_commentPrefix = 0;
  PyObject *__pyx_v_continuous = 0;
  PyObject *__pyx_v_directed = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_separator,&__pyx_n_s_firstNode,&__pyx_n_s_commentPrefix,&__pyx_n_s_continuous,&__pyx_n_s_directed,0};
    PyObject* values[5] = {0,0,0,0,0};
    values[2] = ((PyObject *)__pyx_kp_u__116);
    values[3] = ((PyObject *)Py_True);
    values[4] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_separator)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_firstNode)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 5, 1); __PYX_ERR(0, 3850, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_commentPrefix);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_continuous);
          if (value) { values[3] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_directed);
          if (value) { values[4] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3850, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_separator = values[0];
    __pyx_v_firstNode = values[1];
    __pyx_v_commentPrefix = values[2];
    __pyx_v_continuous = values[3];
    __pyx_v_directed = values[4];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3850, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EdgeListReader.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14EdgeListReader___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeListReader *)__pyx_v_self), __pyx_v_separator, __pyx_v_firstNode, __pyx_v_commentPrefix, __pyx_v_continuous, __pyx_v_directed);

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

static int __pyx_pf_9networkit_10_NetworKit_14EdgeListReader___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EdgeListReader *__pyx_v_self, PyObject *__pyx_v_separator, PyObject *__pyx_v_firstNode, PyObject *__pyx_v_commentPrefix, PyObject *__pyx_v_continuous, PyObject *__pyx_v_directed) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  Py_ssize_t __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  long __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  char __pyx_t_8;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_9;
  std::string __pyx_t_10;
  bool __pyx_t_11;
  bool __pyx_t_12;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":3851
 * 	"""
 * 	def __cinit__(self, separator, firstNode, commentPrefix="#", continuous=True, directed=False):
 * 		if len(separator) != 1 or ord(separator[0]) > 255:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("separator has to be exactly one ascii character");
 * 
 */
  __pyx_t_2 = PyObject_Length(__pyx_v_separator); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 3851, __pyx_L1_error)
  __pyx_t_3 = ((__pyx_t_2 != 1) != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_separator, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3851, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyObject_Ord(__pyx_t_4); if (unlikely(__pyx_t_5 == ((long)(long)(Py_UCS4)-1))) __PYX_ERR(0, 3851, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_3 = ((__pyx_t_5 > 0xFF) != 0);
  __pyx_t_1 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":3852
 * 	def __cinit__(self, separator, firstNode, commentPrefix="#", continuous=True, directed=False):
 * 		if len(separator) != 1 or ord(separator[0]) > 255:
 * 			raise RuntimeError("separator has to be exactly one ascii character");             # <<<<<<<<<<<<<<
 * 
 * 		self._this = new _EdgeListReader(stdstring(separator)[0], firstNode, stdstring(commentPrefix), continuous, directed)
 */
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__117, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3852, __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(0, 3852, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":3851
 * 	"""
 * 	def __cinit__(self, separator, firstNode, commentPrefix="#", continuous=True, directed=False):
 * 		if len(separator) != 1 or ord(separator[0]) > 255:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("separator has to be exactly one ascii character");
 * 
 */
  }

  /* "networkit/_NetworKit.pyx":3854
 * 			raise RuntimeError("separator has to be exactly one ascii character");
 * 
 * 		self._this = new _EdgeListReader(stdstring(separator)[0], firstNode, stdstring(commentPrefix), continuous, directed)             # <<<<<<<<<<<<<<
 * 
 * 	def getNodeMap(self):
 */
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3854, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
    }
  }
  __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_v_separator) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_separator);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3854, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3854, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_8 = __Pyx_PyInt_As_char(__pyx_t_6); if (unlikely((__pyx_t_8 == (char)-1) && PyErr_Occurred())) __PYX_ERR(0, 3854, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_9 = __Pyx_PyInt_As_uint64_t(__pyx_v_firstNode); if (unlikely((__pyx_t_9 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3854, __pyx_L1_error)
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3854, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_7, __pyx_v_commentPrefix) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_commentPrefix);
  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3854, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_10 = __pyx_convert_string_from_py_std__in_string(__pyx_t_6); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3854, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_continuous); if (unlikely((__pyx_t_11 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3854, __pyx_L1_error)
  __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_v_directed); if (unlikely((__pyx_t_12 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3854, __pyx_L1_error)
  __pyx_v_self->__pyx_base._this = new NetworKit::EdgeListReader(__pyx_t_8, __pyx_t_9, __pyx_t_10, __pyx_t_11, __pyx_t_12);

  /* "networkit/_NetworKit.pyx":3850
 * 		Treat input file as a directed graph.
 * 	"""
 * 	def __cinit__(self, separator, firstNode, commentPrefix="#", continuous=True, directed=False):             # <<<<<<<<<<<<<<
 * 		if len(separator) != 1 or ord(separator[0]) > 255:
 * 			raise RuntimeError("separator has to be exactly one ascii character");
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeListReader.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3856
 * 		self._this = new _EdgeListReader(stdstring(separator)[0], firstNode, stdstring(commentPrefix), continuous, directed)
 * 
 * 	def getNodeMap(self):             # <<<<<<<<<<<<<<
 * 		""" Returns mapping of non-continuous files.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_14EdgeListReader_3getNodeMap(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_14EdgeListReader_2getNodeMap[] = " Returns mapping of non-continuous files.\n\n\t\tThe mapping is returned as dict (string -> node) projecting the original\n\t\tlabels (as strings) to the reassigned integer node ids.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_14EdgeListReader_3getNodeMap(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNodeMap (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14EdgeListReader_2getNodeMap(((struct __pyx_obj_9networkit_10_NetworKit_EdgeListReader *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14EdgeListReader_2getNodeMap(struct __pyx_obj_9networkit_10_NetworKit_EdgeListReader *__pyx_v_self) {
  std::map<std::string,__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_cResult;
  PyObject *__pyx_v_result = NULL;
  std::pair<std::string,__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_elem;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::map<std::string,__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  std::map<std::string,__pyx_t_9networkit_10_NetworKit_node> ::iterator __pyx_t_3;
  std::pair<std::string,__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("getNodeMap", 0);

  /* "networkit/_NetworKit.pyx":3862
 * 		labels (as strings) to the reassigned integer node ids.
 * 		"""
 * 		cdef map[string,node] cResult = (<_EdgeListReader*>(self._this)).getNodeMap()             # <<<<<<<<<<<<<<
 * 		result = dict()
 * 		for elem in cResult:
 */
  try {
    __pyx_t_1 = ((NetworKit::EdgeListReader *)__pyx_v_self->__pyx_base._this)->getNodeMap();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 3862, __pyx_L1_error)
  }
  __pyx_v_cResult = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":3863
 * 		"""
 * 		cdef map[string,node] cResult = (<_EdgeListReader*>(self._this)).getNodeMap()
 * 		result = dict()             # <<<<<<<<<<<<<<
 * 		for elem in cResult:
 * 			result[(elem.first).decode("utf-8")] = elem.second
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_result = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":3864
 * 		cdef map[string,node] cResult = (<_EdgeListReader*>(self._this)).getNodeMap()
 * 		result = dict()
 * 		for elem in cResult:             # <<<<<<<<<<<<<<
 * 			result[(elem.first).decode("utf-8")] = elem.second
 * 		return result
 */
  __pyx_t_3 = __pyx_v_cResult.begin();
  for (;;) {
    if (!(__pyx_t_3 != __pyx_v_cResult.end())) break;
    __pyx_t_4 = *__pyx_t_3;
    ++__pyx_t_3;
    __pyx_v_elem = __pyx_t_4;

    /* "networkit/_NetworKit.pyx":3865
 * 		result = dict()
 * 		for elem in cResult:
 * 			result[(elem.first).decode("utf-8")] = elem.second             # <<<<<<<<<<<<<<
 * 		return result
 * 
 */
    __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_v_elem.second); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = __Pyx_decode_cpp_string(__pyx_v_elem.first, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (unlikely(PyDict_SetItem(__pyx_v_result, __pyx_t_5, __pyx_t_2) < 0)) __PYX_ERR(0, 3865, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "networkit/_NetworKit.pyx":3864
 * 		cdef map[string,node] cResult = (<_EdgeListReader*>(self._this)).getNodeMap()
 * 		result = dict()
 * 		for elem in cResult:             # <<<<<<<<<<<<<<
 * 			result[(elem.first).decode("utf-8")] = elem.second
 * 		return result
 */
  }

  /* "networkit/_NetworKit.pyx":3866
 * 		for elem in cResult:
 * 			result[(elem.first).decode("utf-8")] = elem.second
 * 		return result             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_result);
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":3856
 * 		self._this = new _EdgeListReader(stdstring(separator)[0], firstNode, stdstring(commentPrefix), continuous, directed)
 * 
 * 	def getNodeMap(self):             # <<<<<<<<<<<<<<
 * 		""" Returns mapping of non-continuous files.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeListReader.getNodeMap", __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;
}

/* "(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_9networkit_10_NetworKit_14EdgeListReader_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14EdgeListReader_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14EdgeListReader_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeListReader *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14EdgeListReader_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeListReader *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__118, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeListReader.__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_9networkit_10_NetworKit_14EdgeListReader_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14EdgeListReader_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14EdgeListReader_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeListReader *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14EdgeListReader_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeListReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__119, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeListReader.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3880
 * 		[1]: http://konect.uni-koblenz.de/downloads/konect-handbook.pdf
 * 	"""
 * 	def __cinit__(self, remapNodes = False, handlingmethod = MultipleEdgesHandling.DiscardEdges):             # <<<<<<<<<<<<<<
 * 		self._this = new _KONECTGraphReader(remapNodes, handlingmethod)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_17KONECTGraphReader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_17KONECTGraphReader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_remapNodes = 0;
  PyObject *__pyx_v_handlingmethod = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_remapNodes,&__pyx_n_s_handlingmethod,0};
    PyObject* values[2] = {0,0};
    values[0] = ((PyObject *)Py_False);
    values[1] = __pyx_k__120;
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_remapNodes);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_handlingmethod);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3880, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_remapNodes = values[0];
    __pyx_v_handlingmethod = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3880, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.KONECTGraphReader.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17KONECTGraphReader___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_KONECTGraphReader *)__pyx_v_self), __pyx_v_remapNodes, __pyx_v_handlingmethod);

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

static int __pyx_pf_9networkit_10_NetworKit_17KONECTGraphReader___cinit__(struct __pyx_obj_9networkit_10_NetworKit_KONECTGraphReader *__pyx_v_self, PyObject *__pyx_v_remapNodes, PyObject *__pyx_v_handlingmethod) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  enum NetworKit::GraphReader::MultipleEdgesHandling __pyx_t_2;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":3881
 * 	"""
 * 	def __cinit__(self, remapNodes = False, handlingmethod = MultipleEdgesHandling.DiscardEdges):
 * 		self._this = new _KONECTGraphReader(remapNodes, handlingmethod)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/io/GMLGraphReader.hpp>":
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_remapNodes); if (unlikely((__pyx_t_1 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3881, __pyx_L1_error)
  __pyx_t_2 = ((enum NetworKit::GraphReader::MultipleEdgesHandling)__Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphReader_3a__3a_MultipleEdgesHandling(__pyx_v_handlingmethod)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3881, __pyx_L1_error)
  __pyx_v_self->__pyx_base._this = new NetworKit::KONECTGraphReader(__pyx_t_1, __pyx_t_2);

  /* "networkit/_NetworKit.pyx":3880
 * 		[1]: http://konect.uni-koblenz.de/downloads/konect-handbook.pdf
 * 	"""
 * 	def __cinit__(self, remapNodes = False, handlingmethod = MultipleEdgesHandling.DiscardEdges):             # <<<<<<<<<<<<<<
 * 		self._this = new _KONECTGraphReader(remapNodes, handlingmethod)
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.KONECTGraphReader.__cinit__", __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_9networkit_10_NetworKit_17KONECTGraphReader_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17KONECTGraphReader_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17KONECTGraphReader_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_KONECTGraphReader *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17KONECTGraphReader_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_KONECTGraphReader *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__121, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.KONECTGraphReader.__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_9networkit_10_NetworKit_17KONECTGraphReader_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17KONECTGraphReader_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17KONECTGraphReader_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_KONECTGraphReader *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17KONECTGraphReader_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_KONECTGraphReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__122, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.KONECTGraphReader.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3893
 * 		[1]: http://www.fim.uni-passau.de/fileadmin/files/lehrstuhl/brandenburg/projekte/gml/gml-technical-report.pdf
 *  	"""
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _GMLGraphReader()
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_14GMLGraphReader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_14GMLGraphReader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14GMLGraphReader___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_GMLGraphReader *)__pyx_v_self));

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

static int __pyx_pf_9networkit_10_NetworKit_14GMLGraphReader___cinit__(struct __pyx_obj_9networkit_10_NetworKit_GMLGraphReader *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::GMLGraphReader *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":3894
 *  	"""
 * 	def __cinit__(self):
 * 		self._this = new _GMLGraphReader()             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/io/METISGraphWriter.hpp>":
 */
  try {
    __pyx_t_1 = new NetworKit::GMLGraphReader();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 3894, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":3893
 * 		[1]: http://www.fim.uni-passau.de/fileadmin/files/lehrstuhl/brandenburg/projekte/gml/gml-technical-report.pdf
 *  	"""
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _GMLGraphReader()
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GMLGraphReader.__cinit__", __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_9networkit_10_NetworKit_14GMLGraphReader_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14GMLGraphReader_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14GMLGraphReader_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GMLGraphReader *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14GMLGraphReader_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GMLGraphReader *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__123, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GMLGraphReader.__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_9networkit_10_NetworKit_14GMLGraphReader_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14GMLGraphReader_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14GMLGraphReader_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GMLGraphReader *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14GMLGraphReader_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GMLGraphReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__124, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GMLGraphReader.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3905
 * 	""" Writes graphs in the METIS format"""
 * 
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _METISGraphWriter()
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_16METISGraphWriter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_16METISGraphWriter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16METISGraphWriter___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_METISGraphWriter *)__pyx_v_self));

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

static int __pyx_pf_9networkit_10_NetworKit_16METISGraphWriter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_METISGraphWriter *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::METISGraphWriter *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":3906
 * 
 * 	def __cinit__(self):
 * 		self._this = new _METISGraphWriter()             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/io/GraphToolBinaryWriter.hpp>":
 */
  try {
    __pyx_t_1 = new NetworKit::METISGraphWriter();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 3906, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":3905
 * 	""" Writes graphs in the METIS format"""
 * 
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _METISGraphWriter()
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.METISGraphWriter.__cinit__", __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_9networkit_10_NetworKit_16METISGraphWriter_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_16METISGraphWriter_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16METISGraphWriter_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_METISGraphWriter *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_16METISGraphWriter_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_METISGraphWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__125, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.METISGraphWriter.__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_9networkit_10_NetworKit_16METISGraphWriter_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_16METISGraphWriter_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16METISGraphWriter_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_METISGraphWriter *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_16METISGraphWriter_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_METISGraphWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__126, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.METISGraphWriter.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3918
 * 		[1]: http://graph-tool.skewed.de/static/doc/gt_format.html
 * 	"""
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _GraphToolBinaryWriter()
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_21GraphToolBinaryWriter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_21GraphToolBinaryWriter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21GraphToolBinaryWriter___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_GraphToolBinaryWriter *)__pyx_v_self));

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

static int __pyx_pf_9networkit_10_NetworKit_21GraphToolBinaryWriter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_GraphToolBinaryWriter *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::GraphToolBinaryWriter *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":3919
 * 	"""
 * 	def __cinit__(self):
 * 		self._this = new _GraphToolBinaryWriter()             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/io/DotGraphWriter.hpp>":
 */
  try {
    __pyx_t_1 = new NetworKit::GraphToolBinaryWriter();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 3919, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":3918
 * 		[1]: http://graph-tool.skewed.de/static/doc/gt_format.html
 * 	"""
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _GraphToolBinaryWriter()
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphToolBinaryWriter.__cinit__", __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_9networkit_10_NetworKit_21GraphToolBinaryWriter_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21GraphToolBinaryWriter_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21GraphToolBinaryWriter_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GraphToolBinaryWriter *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21GraphToolBinaryWriter_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphToolBinaryWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__127, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphToolBinaryWriter.__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_9networkit_10_NetworKit_21GraphToolBinaryWriter_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21GraphToolBinaryWriter_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21GraphToolBinaryWriter_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GraphToolBinaryWriter *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21GraphToolBinaryWriter_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphToolBinaryWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__128, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphToolBinaryWriter.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3928
 * cdef class DotGraphWriter(GraphWriter):
 * 	""" Writes graphs in the .dot/GraphViz format"""
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _DotGraphWriter()
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_14DotGraphWriter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_14DotGraphWriter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14DotGraphWriter___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_DotGraphWriter *)__pyx_v_self));

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

static int __pyx_pf_9networkit_10_NetworKit_14DotGraphWriter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DotGraphWriter *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::DotGraphWriter *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":3929
 * 	""" Writes graphs in the .dot/GraphViz format"""
 * 	def __cinit__(self):
 * 		self._this = new _DotGraphWriter()             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/io/GMLGraphWriter.hpp>":
 */
  try {
    __pyx_t_1 = new NetworKit::DotGraphWriter();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 3929, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":3928
 * cdef class DotGraphWriter(GraphWriter):
 * 	""" Writes graphs in the .dot/GraphViz format"""
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _DotGraphWriter()
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DotGraphWriter.__cinit__", __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_9networkit_10_NetworKit_14DotGraphWriter_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14DotGraphWriter_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14DotGraphWriter_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DotGraphWriter *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14DotGraphWriter_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DotGraphWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__129, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DotGraphWriter.__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_9networkit_10_NetworKit_14DotGraphWriter_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14DotGraphWriter_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14DotGraphWriter_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DotGraphWriter *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14DotGraphWriter_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DotGraphWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__130, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DotGraphWriter.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3941
 * 		[1] http://svn.bigcat.unimaas.nl/pvplugins/GML/trunk/docs/gml-technical-report.pdf """
 * 
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _GMLGraphWriter()
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_14GMLGraphWriter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_14GMLGraphWriter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14GMLGraphWriter___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_GMLGraphWriter *)__pyx_v_self));

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

static int __pyx_pf_9networkit_10_NetworKit_14GMLGraphWriter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_GMLGraphWriter *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::GMLGraphWriter *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":3942
 * 
 * 	def __cinit__(self):
 * 		self._this = new _GMLGraphWriter()             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/io/EdgeListWriter.hpp>":
 */
  try {
    __pyx_t_1 = new NetworKit::GMLGraphWriter();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 3942, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":3941
 * 		[1] http://svn.bigcat.unimaas.nl/pvplugins/GML/trunk/docs/gml-technical-report.pdf """
 * 
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _GMLGraphWriter()
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GMLGraphWriter.__cinit__", __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_9networkit_10_NetworKit_14GMLGraphWriter_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14GMLGraphWriter_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14GMLGraphWriter_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GMLGraphWriter *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14GMLGraphWriter_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GMLGraphWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__131, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GMLGraphWriter.__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_9networkit_10_NetworKit_14GMLGraphWriter_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14GMLGraphWriter_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14GMLGraphWriter_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GMLGraphWriter *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14GMLGraphWriter_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GMLGraphWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__132, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GMLGraphWriter.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3963
 * 	"""
 * 
 * 	def __cinit__(self, separator, firstNode, bool_t bothDirections = False):             # <<<<<<<<<<<<<<
 * 		cdef char sep = stdstring(separator)[0]
 * 		self._this = new _EdgeListWriter(sep, firstNode, bothDirections)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_14EdgeListWriter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_14EdgeListWriter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_separator = 0;
  PyObject *__pyx_v_firstNode = 0;
  bool __pyx_v_bothDirections;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_separator,&__pyx_n_s_firstNode,&__pyx_n_s_bothDirections,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_separator)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_firstNode)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, 1); __PYX_ERR(0, 3963, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_bothDirections);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 3963, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_separator = values[0];
    __pyx_v_firstNode = values[1];
    if (values[2]) {
      __pyx_v_bothDirections = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_bothDirections == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3963, __pyx_L3_error)
    } else {
      __pyx_v_bothDirections = ((bool)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3963, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EdgeListWriter.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14EdgeListWriter___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeListWriter *)__pyx_v_self), __pyx_v_separator, __pyx_v_firstNode, __pyx_v_bothDirections);

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

static int __pyx_pf_9networkit_10_NetworKit_14EdgeListWriter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EdgeListWriter *__pyx_v_self, PyObject *__pyx_v_separator, PyObject *__pyx_v_firstNode, bool __pyx_v_bothDirections) {
  char __pyx_v_sep;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  char __pyx_t_4;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_5;
  NetworKit::EdgeListWriter *__pyx_t_6;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":3964
 * 
 * 	def __cinit__(self, separator, firstNode, bool_t bothDirections = False):
 * 		cdef char sep = stdstring(separator)[0]             # <<<<<<<<<<<<<<
 * 		self._this = new _EdgeListWriter(sep, firstNode, bothDirections)
 * 
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_separator) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_separator);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = __Pyx_PyInt_As_char(__pyx_t_2); if (unlikely((__pyx_t_4 == (char)-1) && PyErr_Occurred())) __PYX_ERR(0, 3964, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_sep = __pyx_t_4;

  /* "networkit/_NetworKit.pyx":3965
 * 	def __cinit__(self, separator, firstNode, bool_t bothDirections = False):
 * 		cdef char sep = stdstring(separator)[0]
 * 		self._this = new _EdgeListWriter(sep, firstNode, bothDirections)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_5 = __Pyx_PyInt_As_uint64_t(__pyx_v_firstNode); if (unlikely((__pyx_t_5 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 3965, __pyx_L1_error)
  try {
    __pyx_t_6 = new NetworKit::EdgeListWriter(__pyx_v_sep, __pyx_t_5, __pyx_v_bothDirections);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 3965, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_6;

  /* "networkit/_NetworKit.pyx":3963
 * 	"""
 * 
 * 	def __cinit__(self, separator, firstNode, bool_t bothDirections = False):             # <<<<<<<<<<<<<<
 * 		cdef char sep = stdstring(separator)[0]
 * 		self._this = new _EdgeListWriter(sep, firstNode, bothDirections)
 */

  /* 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("networkit._NetworKit.EdgeListWriter.__cinit__", __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_9networkit_10_NetworKit_14EdgeListWriter_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14EdgeListWriter_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14EdgeListWriter_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeListWriter *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14EdgeListWriter_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeListWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__133, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeListWriter.__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_9networkit_10_NetworKit_14EdgeListWriter_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14EdgeListWriter_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14EdgeListWriter_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeListWriter *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14EdgeListWriter_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeListWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__134, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeListWriter.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3979
 * 	cdef _LineFileReader _this
 * 
 * 	def read(self, path):             # <<<<<<<<<<<<<<
 * 		return self._this.read(stdstring(path))
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_14LineFileReader_1read(PyObject *__pyx_v_self, PyObject *__pyx_v_path); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14LineFileReader_1read(PyObject *__pyx_v_self, PyObject *__pyx_v_path) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("read (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14LineFileReader_read(((struct __pyx_obj_9networkit_10_NetworKit_LineFileReader *)__pyx_v_self), ((PyObject *)__pyx_v_path));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14LineFileReader_read(struct __pyx_obj_9networkit_10_NetworKit_LineFileReader *__pyx_v_self, PyObject *__pyx_v_path) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::string __pyx_t_4;
  __Pyx_RefNannySetupContext("read", 0);

  /* "networkit/_NetworKit.pyx":3980
 * 
 * 	def read(self, path):
 * 		return self._this.read(stdstring(path))             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_path) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_path);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3980, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __pyx_convert_vector_to_py_std_3a__3a_string(__pyx_v_self->_this.read(__pyx_t_4)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":3979
 * 	cdef _LineFileReader _this
 * 
 * 	def read(self, path):             # <<<<<<<<<<<<<<
 * 		return self._this.read(stdstring(path))
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.LineFileReader.read", __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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_14LineFileReader_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14LineFileReader_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14LineFileReader_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LineFileReader *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14LineFileReader_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LineFileReader *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__135, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LineFileReader.__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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_14LineFileReader_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14LineFileReader_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14LineFileReader_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LineFileReader *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14LineFileReader_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LineFileReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__136, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LineFileReader.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":3992
 * 	"""
 * 
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _SNAPGraphWriter()
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_15SNAPGraphWriter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_15SNAPGraphWriter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15SNAPGraphWriter___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_SNAPGraphWriter *)__pyx_v_self));

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

static int __pyx_pf_9networkit_10_NetworKit_15SNAPGraphWriter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_SNAPGraphWriter *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::SNAPGraphWriter *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":3993
 * 
 * 	def __cinit__(self):
 * 		self._this = new _SNAPGraphWriter()             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/io/SNAPGraphReader.hpp>":
 */
  try {
    __pyx_t_1 = new NetworKit::SNAPGraphWriter();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 3993, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":3992
 * 	"""
 * 
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _SNAPGraphWriter()
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.SNAPGraphWriter.__cinit__", __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_9networkit_10_NetworKit_15SNAPGraphWriter_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15SNAPGraphWriter_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15SNAPGraphWriter_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_SNAPGraphWriter *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15SNAPGraphWriter_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SNAPGraphWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__137, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.SNAPGraphWriter.__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_9networkit_10_NetworKit_15SNAPGraphWriter_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15SNAPGraphWriter_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15SNAPGraphWriter_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_SNAPGraphWriter *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15SNAPGraphWriter_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SNAPGraphWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__138, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.SNAPGraphWriter.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4005
 * 		[1]: http://snap.stanford.edu/data/index.html
 * 	"""
 * 	def __cinit__(self, directed = False, remapNodes = True, nodeCount = 0):             # <<<<<<<<<<<<<<
 * 		self._this = new _SNAPGraphReader(directed, remapNodes, nodeCount)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_15SNAPGraphReader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_15SNAPGraphReader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_directed = 0;
  PyObject *__pyx_v_remapNodes = 0;
  PyObject *__pyx_v_nodeCount = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_directed,&__pyx_n_s_remapNodes,&__pyx_n_s_nodeCount,0};
    PyObject* values[3] = {0,0,0};
    values[0] = ((PyObject *)Py_False);
    values[1] = ((PyObject *)Py_True);
    values[2] = ((PyObject *)__pyx_int_0);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_directed);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_remapNodes);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nodeCount);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 4005, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_directed = values[0];
    __pyx_v_remapNodes = values[1];
    __pyx_v_nodeCount = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4005, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.SNAPGraphReader.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15SNAPGraphReader___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_SNAPGraphReader *)__pyx_v_self), __pyx_v_directed, __pyx_v_remapNodes, __pyx_v_nodeCount);

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

static int __pyx_pf_9networkit_10_NetworKit_15SNAPGraphReader___cinit__(struct __pyx_obj_9networkit_10_NetworKit_SNAPGraphReader *__pyx_v_self, PyObject *__pyx_v_directed, PyObject *__pyx_v_remapNodes, PyObject *__pyx_v_nodeCount) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  bool __pyx_t_2;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":4006
 * 	"""
 * 	def __cinit__(self, directed = False, remapNodes = True, nodeCount = 0):
 * 		self._this = new _SNAPGraphReader(directed, remapNodes, nodeCount)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_directed); if (unlikely((__pyx_t_1 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4006, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_remapNodes); if (unlikely((__pyx_t_2 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4006, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyInt_As_uint64_t(__pyx_v_nodeCount); if (unlikely((__pyx_t_3 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4006, __pyx_L1_error)
  __pyx_v_self->__pyx_base._this = new NetworKit::SNAPGraphReader(__pyx_t_1, __pyx_t_2, __pyx_t_3);

  /* "networkit/_NetworKit.pyx":4005
 * 		[1]: http://snap.stanford.edu/data/index.html
 * 	"""
 * 	def __cinit__(self, directed = False, remapNodes = True, nodeCount = 0):             # <<<<<<<<<<<<<<
 * 		self._this = new _SNAPGraphReader(directed, remapNodes, nodeCount)
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.SNAPGraphReader.__cinit__", __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_9networkit_10_NetworKit_15SNAPGraphReader_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15SNAPGraphReader_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15SNAPGraphReader_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_SNAPGraphReader *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15SNAPGraphReader_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SNAPGraphReader *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__139, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.SNAPGraphReader.__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_9networkit_10_NetworKit_15SNAPGraphReader_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15SNAPGraphReader_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15SNAPGraphReader_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_SNAPGraphReader *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15SNAPGraphReader_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SNAPGraphReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__140, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.SNAPGraphReader.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4023
 * 	cdef _PartitionReader _this
 * 
 * 	def read(self, path):             # <<<<<<<<<<<<<<
 * 		return Partition().setThis(self._this.read(stdstring(path)))
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15PartitionReader_1read(PyObject *__pyx_v_self, PyObject *__pyx_v_path); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15PartitionReader_1read(PyObject *__pyx_v_self, PyObject *__pyx_v_path) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("read (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15PartitionReader_read(((struct __pyx_obj_9networkit_10_NetworKit_PartitionReader *)__pyx_v_self), ((PyObject *)__pyx_v_path));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15PartitionReader_read(struct __pyx_obj_9networkit_10_NetworKit_PartitionReader *__pyx_v_self, PyObject *__pyx_v_path) {
  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;
  std::string __pyx_t_5;
  NetworKit::Partition __pyx_t_6;
  __Pyx_RefNannySetupContext("read", 0);

  /* "networkit/_NetworKit.pyx":4024
 * 
 * 	def read(self, path):
 * 		return Partition().setThis(self._this.read(stdstring(path)))             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Partition)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_path) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_path);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4024, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  try {
    __pyx_t_6 = __pyx_v_self->_this.read(__pyx_t_5);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4024, __pyx_L1_error)
  }
  __pyx_t_2 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Partition *)((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1), __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4024, __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;

  /* "networkit/_NetworKit.pyx":4023
 * 	cdef _PartitionReader _this
 * 
 * 	def read(self, path):             # <<<<<<<<<<<<<<
 * 		return Partition().setThis(self._this.read(stdstring(path)))
 * 
 */

  /* 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("networkit._NetworKit.PartitionReader.read", __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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15PartitionReader_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15PartitionReader_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15PartitionReader_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PartitionReader *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15PartitionReader_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PartitionReader *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__141, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PartitionReader.__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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15PartitionReader_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15PartitionReader_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15PartitionReader_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PartitionReader *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15PartitionReader_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PartitionReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__142, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PartitionReader.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4040
 * 	cdef _PartitionWriter _this
 * 
 * 	def write(self, Partition zeta, path):             # <<<<<<<<<<<<<<
 * 		cdef string cpath = stdstring(path)
 * 		with nogil:
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15PartitionWriter_1write(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15PartitionWriter_1write(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta = 0;
  PyObject *__pyx_v_path = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("write (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_zeta,&__pyx_n_s_path,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zeta)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_path)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("write", 1, 2, 2, 1); __PYX_ERR(0, 4040, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write") < 0)) __PYX_ERR(0, 4040, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_zeta = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[0]);
    __pyx_v_path = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("write", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4040, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PartitionWriter.write", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_zeta), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "zeta", 0))) __PYX_ERR(0, 4040, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15PartitionWriter_write(((struct __pyx_obj_9networkit_10_NetworKit_PartitionWriter *)__pyx_v_self), __pyx_v_zeta, __pyx_v_path);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15PartitionWriter_write(struct __pyx_obj_9networkit_10_NetworKit_PartitionWriter *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta, PyObject *__pyx_v_path) {
  std::string __pyx_v_cpath;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::string __pyx_t_4;
  __Pyx_RefNannySetupContext("write", 0);

  /* "networkit/_NetworKit.pyx":4041
 * 
 * 	def write(self, Partition zeta, path):
 * 		cdef string cpath = stdstring(path)             # <<<<<<<<<<<<<<
 * 		with nogil:
 * 			self._this.write(zeta._this, cpath)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4041, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_path) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_path);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4041, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4041, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cpath = __pyx_t_4;

  /* "networkit/_NetworKit.pyx":4042
 * 	def write(self, Partition zeta, path):
 * 		cdef string cpath = stdstring(path)
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.write(zeta._this, cpath)
 * 
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":4043
 * 		cdef string cpath = stdstring(path)
 * 		with nogil:
 * 			self._this.write(zeta._this, cpath)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/io/BinaryPartitionReader.hpp>":
 */
        try {
          __pyx_v_self->_this.write(__pyx_v_zeta->_this, __pyx_v_cpath);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 4043, __pyx_L4_error)
        }
      }

      /* "networkit/_NetworKit.pyx":4042
 * 	def write(self, Partition zeta, path):
 * 		cdef string cpath = stdstring(path)
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.write(zeta._this, cpath)
 * 
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":4040
 * 	cdef _PartitionWriter _this
 * 
 * 	def write(self, Partition zeta, path):             # <<<<<<<<<<<<<<
 * 		cdef string cpath = stdstring(path)
 * 		with nogil:
 */

  /* 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("networkit._NetworKit.PartitionWriter.write", __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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15PartitionWriter_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15PartitionWriter_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15PartitionWriter_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PartitionWriter *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15PartitionWriter_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PartitionWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__143, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PartitionWriter.__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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15PartitionWriter_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15PartitionWriter_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15PartitionWriter_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PartitionWriter *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15PartitionWriter_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PartitionWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__144, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PartitionWriter.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4066
 * 	cdef _BinaryPartitionReader _this
 * 
 * 	def __cinit__(self, uint8_t width=4):             # <<<<<<<<<<<<<<
 * 		self._this = _BinaryPartitionReader(width)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_21BinaryPartitionReader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_21BinaryPartitionReader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  uint8_t __pyx_v_width;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_width,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_width);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 4066, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_width = __Pyx_PyInt_As_uint8_t(values[0]); if (unlikely((__pyx_v_width == ((uint8_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4066, __pyx_L3_error)
    } else {
      __pyx_v_width = ((uint8_t)4);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4066, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.BinaryPartitionReader.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21BinaryPartitionReader___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionReader *)__pyx_v_self), __pyx_v_width);

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

static int __pyx_pf_9networkit_10_NetworKit_21BinaryPartitionReader___cinit__(struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionReader *__pyx_v_self, uint8_t __pyx_v_width) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::BinaryPartitionReader __pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":4067
 * 
 * 	def __cinit__(self, uint8_t width=4):
 * 		self._this = _BinaryPartitionReader(width)             # <<<<<<<<<<<<<<
 * 
 * 	def read(self, path):
 */
  try {
    __pyx_t_1 = NetworKit::BinaryPartitionReader(__pyx_v_width);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4067, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":4066
 * 	cdef _BinaryPartitionReader _this
 * 
 * 	def __cinit__(self, uint8_t width=4):             # <<<<<<<<<<<<<<
 * 		self._this = _BinaryPartitionReader(width)
 * 
 */

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

/* "networkit/_NetworKit.pyx":4069
 * 		self._this = _BinaryPartitionReader(width)
 * 
 * 	def read(self, path):             # <<<<<<<<<<<<<<
 * 		return Partition().setThis(self._this.read(stdstring(path)))
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_21BinaryPartitionReader_3read(PyObject *__pyx_v_self, PyObject *__pyx_v_path); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21BinaryPartitionReader_3read(PyObject *__pyx_v_self, PyObject *__pyx_v_path) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("read (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21BinaryPartitionReader_2read(((struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionReader *)__pyx_v_self), ((PyObject *)__pyx_v_path));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21BinaryPartitionReader_2read(struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionReader *__pyx_v_self, PyObject *__pyx_v_path) {
  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;
  std::string __pyx_t_5;
  NetworKit::Partition __pyx_t_6;
  __Pyx_RefNannySetupContext("read", 0);

  /* "networkit/_NetworKit.pyx":4070
 * 
 * 	def read(self, path):
 * 		return Partition().setThis(self._this.read(stdstring(path)))             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/io/BinaryPartitionWriter.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Partition)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4070, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4070, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_path) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_path);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4070, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4070, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  try {
    __pyx_t_6 = __pyx_v_self->_this.read(__pyx_t_5);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4070, __pyx_L1_error)
  }
  __pyx_t_2 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Partition *)((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1), __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4070, __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;

  /* "networkit/_NetworKit.pyx":4069
 * 		self._this = _BinaryPartitionReader(width)
 * 
 * 	def read(self, path):             # <<<<<<<<<<<<<<
 * 		return Partition().setThis(self._this.read(stdstring(path)))
 * 
 */

  /* 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("networkit._NetworKit.BinaryPartitionReader.read", __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_9networkit_10_NetworKit_21BinaryPartitionReader_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21BinaryPartitionReader_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21BinaryPartitionReader_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionReader *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21BinaryPartitionReader_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionReader *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__145, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.BinaryPartitionReader.__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_9networkit_10_NetworKit_21BinaryPartitionReader_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21BinaryPartitionReader_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21BinaryPartitionReader_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionReader *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21BinaryPartitionReader_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__146, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.BinaryPartitionReader.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4092
 * 	cdef _BinaryPartitionWriter _this
 * 
 * 	def __cinit__(self, uint8_t width=4):             # <<<<<<<<<<<<<<
 * 		self._this = _BinaryPartitionWriter(width)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_21BinaryPartitionWriter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_21BinaryPartitionWriter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  uint8_t __pyx_v_width;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_width,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_width);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 4092, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_width = __Pyx_PyInt_As_uint8_t(values[0]); if (unlikely((__pyx_v_width == ((uint8_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4092, __pyx_L3_error)
    } else {
      __pyx_v_width = ((uint8_t)4);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4092, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.BinaryPartitionWriter.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21BinaryPartitionWriter___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionWriter *)__pyx_v_self), __pyx_v_width);

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

static int __pyx_pf_9networkit_10_NetworKit_21BinaryPartitionWriter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionWriter *__pyx_v_self, uint8_t __pyx_v_width) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::BinaryPartitionWriter __pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":4093
 * 
 * 	def __cinit__(self, uint8_t width=4):
 * 		self._this = _BinaryPartitionWriter(width)             # <<<<<<<<<<<<<<
 * 
 * 	def write(self, Partition P not None, path):
 */
  try {
    __pyx_t_1 = NetworKit::BinaryPartitionWriter(__pyx_v_width);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4093, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":4092
 * 	cdef _BinaryPartitionWriter _this
 * 
 * 	def __cinit__(self, uint8_t width=4):             # <<<<<<<<<<<<<<
 * 		self._this = _BinaryPartitionWriter(width)
 * 
 */

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

/* "networkit/_NetworKit.pyx":4095
 * 		self._this = _BinaryPartitionWriter(width)
 * 
 * 	def write(self, Partition P not None, path):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Write the partition to the given file.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_21BinaryPartitionWriter_3write(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_21BinaryPartitionWriter_2write[] = "\n\t\tWrite the partition to the given file.\n\n\t\tParameters\n\t\t----------\n\t\tpath : str\n\t\t\tThe output path\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_21BinaryPartitionWriter_3write(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_P = 0;
  PyObject *__pyx_v_path = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("write (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_P,&__pyx_n_s_path,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_P)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_path)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("write", 1, 2, 2, 1); __PYX_ERR(0, 4095, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write") < 0)) __PYX_ERR(0, 4095, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_P = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[0]);
    __pyx_v_path = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("write", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4095, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.BinaryPartitionWriter.write", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_P), __pyx_ptype_9networkit_10_NetworKit_Partition, 0, "P", 0))) __PYX_ERR(0, 4095, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21BinaryPartitionWriter_2write(((struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionWriter *)__pyx_v_self), __pyx_v_P, __pyx_v_path);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21BinaryPartitionWriter_2write(struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionWriter *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_P, PyObject *__pyx_v_path) {
  std::string __pyx_v_c_path;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::string __pyx_t_4;
  __Pyx_RefNannySetupContext("write", 0);

  /* "networkit/_NetworKit.pyx":4104
 * 			The output path
 * 		"""
 * 		cdef string c_path = stdstring(path)             # <<<<<<<<<<<<<<
 * 
 * 		with nogil:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_path) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_path);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4104, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_c_path = __pyx_t_4;

  /* "networkit/_NetworKit.pyx":4106
 * 		cdef string c_path = stdstring(path)
 * 
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.write(P._this, c_path)
 * 
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":4107
 * 
 * 		with nogil:
 * 			self._this.write(P._this, c_path)             # <<<<<<<<<<<<<<
 * 
 * 		return self
 */
        try {
          __pyx_v_self->_this.write(__pyx_v_P->_this, __pyx_v_c_path);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 4107, __pyx_L4_error)
        }
      }

      /* "networkit/_NetworKit.pyx":4106
 * 		cdef string c_path = stdstring(path)
 * 
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.write(P._this, c_path)
 * 
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":4109
 * 			self._this.write(P._this, c_path)
 * 
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/io/EdgeListPartitionReader.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4095
 * 		self._this = _BinaryPartitionWriter(width)
 * 
 * 	def write(self, Partition P not None, path):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Write the partition to the given file.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.BinaryPartitionWriter.write", __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_9networkit_10_NetworKit_21BinaryPartitionWriter_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21BinaryPartitionWriter_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21BinaryPartitionWriter_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionWriter *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21BinaryPartitionWriter_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__147, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.BinaryPartitionWriter.__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_9networkit_10_NetworKit_21BinaryPartitionWriter_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21BinaryPartitionWriter_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21BinaryPartitionWriter_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionWriter *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21BinaryPartitionWriter_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__148, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.BinaryPartitionWriter.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4124
 * 	cdef _EdgeListPartitionReader _this
 * 
 * 	def __cinit__(self, node firstNode=1, sepChar = '\t'):             # <<<<<<<<<<<<<<
 * 		self._this = _EdgeListPartitionReader(firstNode, stdstring(sepChar)[0])
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_23EdgeListPartitionReader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_23EdgeListPartitionReader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_firstNode;
  PyObject *__pyx_v_sepChar = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_firstNode,&__pyx_n_s_sepChar,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)__pyx_kp_u__88);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_firstNode);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_sepChar);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 4124, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_firstNode = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_firstNode == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4124, __pyx_L3_error)
    } else {
      __pyx_v_firstNode = ((__pyx_t_9networkit_10_NetworKit_node)1);
    }
    __pyx_v_sepChar = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4124, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EdgeListPartitionReader.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23EdgeListPartitionReader___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeListPartitionReader *)__pyx_v_self), __pyx_v_firstNode, __pyx_v_sepChar);

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

static int __pyx_pf_9networkit_10_NetworKit_23EdgeListPartitionReader___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EdgeListPartitionReader *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_firstNode, PyObject *__pyx_v_sepChar) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  char __pyx_t_4;
  NetworKit::EdgeListPartitionReader __pyx_t_5;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":4125
 * 
 * 	def __cinit__(self, node firstNode=1, sepChar = '\t'):
 * 		self._this = _EdgeListPartitionReader(firstNode, stdstring(sepChar)[0])             # <<<<<<<<<<<<<<
 * 
 * 	def read(self, path):
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_sepChar) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_sepChar);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = __Pyx_PyInt_As_char(__pyx_t_2); if (unlikely((__pyx_t_4 == (char)-1) && PyErr_Occurred())) __PYX_ERR(0, 4125, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  try {
    __pyx_t_5 = NetworKit::EdgeListPartitionReader(__pyx_v_firstNode, __pyx_t_4);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4125, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_5;

  /* "networkit/_NetworKit.pyx":4124
 * 	cdef _EdgeListPartitionReader _this
 * 
 * 	def __cinit__(self, node firstNode=1, sepChar = '\t'):             # <<<<<<<<<<<<<<
 * 		self._this = _EdgeListPartitionReader(firstNode, stdstring(sepChar)[0])
 * 
 */

  /* 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("networkit._NetworKit.EdgeListPartitionReader.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4127
 * 		self._this = _EdgeListPartitionReader(firstNode, stdstring(sepChar)[0])
 * 
 * 	def read(self, path):             # <<<<<<<<<<<<<<
 * 		return Partition().setThis(self._this.read(stdstring(path)))
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_23EdgeListPartitionReader_3read(PyObject *__pyx_v_self, PyObject *__pyx_v_path); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_23EdgeListPartitionReader_3read(PyObject *__pyx_v_self, PyObject *__pyx_v_path) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("read (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23EdgeListPartitionReader_2read(((struct __pyx_obj_9networkit_10_NetworKit_EdgeListPartitionReader *)__pyx_v_self), ((PyObject *)__pyx_v_path));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_23EdgeListPartitionReader_2read(struct __pyx_obj_9networkit_10_NetworKit_EdgeListPartitionReader *__pyx_v_self, PyObject *__pyx_v_path) {
  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;
  std::string __pyx_t_5;
  NetworKit::Partition __pyx_t_6;
  __Pyx_RefNannySetupContext("read", 0);

  /* "networkit/_NetworKit.pyx":4128
 * 
 * 	def read(self, path):
 * 		return Partition().setThis(self._this.read(stdstring(path)))             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/io/BinaryEdgeListPartitionReader.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Partition)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_path) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_path);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4128, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  try {
    __pyx_t_6 = __pyx_v_self->_this.read(__pyx_t_5);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4128, __pyx_L1_error)
  }
  __pyx_t_2 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Partition *)((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1), __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4128, __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;

  /* "networkit/_NetworKit.pyx":4127
 * 		self._this = _EdgeListPartitionReader(firstNode, stdstring(sepChar)[0])
 * 
 * 	def read(self, path):             # <<<<<<<<<<<<<<
 * 		return Partition().setThis(self._this.read(stdstring(path)))
 * 
 */

  /* 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("networkit._NetworKit.EdgeListPartitionReader.read", __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_9networkit_10_NetworKit_23EdgeListPartitionReader_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_23EdgeListPartitionReader_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23EdgeListPartitionReader_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeListPartitionReader *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_23EdgeListPartitionReader_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeListPartitionReader *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__149, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeListPartitionReader.__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_9networkit_10_NetworKit_23EdgeListPartitionReader_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_23EdgeListPartitionReader_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23EdgeListPartitionReader_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeListPartitionReader *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_23EdgeListPartitionReader_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeListPartitionReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__150, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeListPartitionReader.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4153
 * 	cdef _BinaryEdgeListPartitionReader _this
 * 
 * 	def __cinit__(self, node firstNode=0, uint8_t width=4):             # <<<<<<<<<<<<<<
 * 		self._this = _BinaryEdgeListPartitionReader(firstNode, width)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_29BinaryEdgeListPartitionReader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_29BinaryEdgeListPartitionReader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_firstNode;
  uint8_t __pyx_v_width;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_firstNode,&__pyx_n_s_width,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_firstNode);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_width);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 4153, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_firstNode = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_firstNode == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4153, __pyx_L3_error)
    } else {
      __pyx_v_firstNode = ((__pyx_t_9networkit_10_NetworKit_node)0);
    }
    if (values[1]) {
      __pyx_v_width = __Pyx_PyInt_As_uint8_t(values[1]); if (unlikely((__pyx_v_width == ((uint8_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4153, __pyx_L3_error)
    } else {
      __pyx_v_width = ((uint8_t)4);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4153, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.BinaryEdgeListPartitionReader.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29BinaryEdgeListPartitionReader___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionReader *)__pyx_v_self), __pyx_v_firstNode, __pyx_v_width);

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

static int __pyx_pf_9networkit_10_NetworKit_29BinaryEdgeListPartitionReader___cinit__(struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionReader *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_firstNode, uint8_t __pyx_v_width) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::BinaryEdgeListPartitionReader __pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":4154
 * 
 * 	def __cinit__(self, node firstNode=0, uint8_t width=4):
 * 		self._this = _BinaryEdgeListPartitionReader(firstNode, width)             # <<<<<<<<<<<<<<
 * 
 * 	def read(self, paths):
 */
  try {
    __pyx_t_1 = NetworKit::BinaryEdgeListPartitionReader(__pyx_v_firstNode, __pyx_v_width);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4154, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":4153
 * 	cdef _BinaryEdgeListPartitionReader _this
 * 
 * 	def __cinit__(self, node firstNode=0, uint8_t width=4):             # <<<<<<<<<<<<<<
 * 		self._this = _BinaryEdgeListPartitionReader(firstNode, width)
 * 
 */

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

/* "networkit/_NetworKit.pyx":4156
 * 		self._this = _BinaryEdgeListPartitionReader(firstNode, width)
 * 
 * 	def read(self, paths):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Read the partition from one or multiple files
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_29BinaryEdgeListPartitionReader_3read(PyObject *__pyx_v_self, PyObject *__pyx_v_paths); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_29BinaryEdgeListPartitionReader_2read[] = "\n\t\tRead the partition from one or multiple files\n\n\t\tParameters\n\t\t----------\n\t\tpaths : str or list[str]\n\t\t\tThe input path(s)\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_29BinaryEdgeListPartitionReader_3read(PyObject *__pyx_v_self, PyObject *__pyx_v_paths) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("read (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29BinaryEdgeListPartitionReader_2read(((struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionReader *)__pyx_v_self), ((PyObject *)__pyx_v_paths));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_29BinaryEdgeListPartitionReader_2read(struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionReader *__pyx_v_self, PyObject *__pyx_v_paths) {
  std::vector<std::string>  __pyx_v_c_paths;
  PyObject *__pyx_v_p = NULL;
  NetworKit::Partition __pyx_v_result;
  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;
  std::string __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  PyObject *__pyx_t_9 = NULL;
  NetworKit::Partition __pyx_t_10;
  __Pyx_RefNannySetupContext("read", 0);

  /* "networkit/_NetworKit.pyx":4167
 * 		cdef vector[string] c_paths
 * 
 * 		if isinstance(paths, str):             # <<<<<<<<<<<<<<
 * 			c_paths.push_back(stdstring(paths))
 * 		else:
 */
  __pyx_t_1 = PyUnicode_Check(__pyx_v_paths); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":4168
 * 
 * 		if isinstance(paths, str):
 * 			c_paths.push_back(stdstring(paths))             # <<<<<<<<<<<<<<
 * 		else:
 * 			c_paths.reserve(len(paths))
 */
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_paths) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_paths);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_6 = __pyx_convert_string_from_py_std__in_string(__pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4168, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    try {
      __pyx_v_c_paths.push_back(__pyx_t_6);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 4168, __pyx_L1_error)
    }

    /* "networkit/_NetworKit.pyx":4167
 * 		cdef vector[string] c_paths
 * 
 * 		if isinstance(paths, str):             # <<<<<<<<<<<<<<
 * 			c_paths.push_back(stdstring(paths))
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":4170
 * 			c_paths.push_back(stdstring(paths))
 * 		else:
 * 			c_paths.reserve(len(paths))             # <<<<<<<<<<<<<<
 * 
 * 			for p in paths:
 */
  /*else*/ {
    __pyx_t_7 = PyObject_Length(__pyx_v_paths); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 4170, __pyx_L1_error)
    __pyx_v_c_paths.reserve(__pyx_t_7);

    /* "networkit/_NetworKit.pyx":4172
 * 			c_paths.reserve(len(paths))
 * 
 * 			for p in paths:             # <<<<<<<<<<<<<<
 * 				c_paths.push_back(stdstring(p))
 * 
 */
    if (likely(PyList_CheckExact(__pyx_v_paths)) || PyTuple_CheckExact(__pyx_v_paths)) {
      __pyx_t_3 = __pyx_v_paths; __Pyx_INCREF(__pyx_t_3); __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
    } else {
      __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_paths); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4172, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_8 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4172, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_8)) {
        if (likely(PyList_CheckExact(__pyx_t_3))) {
          if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_3)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_4); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 4172, __pyx_L1_error)
          #else
          __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4172, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          #endif
        } else {
          if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_4); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 4172, __pyx_L1_error)
          #else
          __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4172, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          #endif
        }
      } else {
        __pyx_t_4 = __pyx_t_8(__pyx_t_3);
        if (unlikely(!__pyx_t_4)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(0, 4172, __pyx_L1_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_XDECREF_SET(__pyx_v_p, __pyx_t_4);
      __pyx_t_4 = 0;

      /* "networkit/_NetworKit.pyx":4173
 * 
 * 			for p in paths:
 * 				c_paths.push_back(stdstring(p))             # <<<<<<<<<<<<<<
 * 
 * 		cdef _Partition result
 */
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4173, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_9 = NULL;
      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
        __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5);
        if (likely(__pyx_t_9)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
          __Pyx_INCREF(__pyx_t_9);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_5, function);
        }
      }
      __pyx_t_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_9, __pyx_v_p) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_p);
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4173, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_6 = __pyx_convert_string_from_py_std__in_string(__pyx_t_4); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4173, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      try {
        __pyx_v_c_paths.push_back(__pyx_t_6);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(0, 4173, __pyx_L1_error)
      }

      /* "networkit/_NetworKit.pyx":4172
 * 			c_paths.reserve(len(paths))
 * 
 * 			for p in paths:             # <<<<<<<<<<<<<<
 * 				c_paths.push_back(stdstring(p))
 * 
 */
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":4177
 * 		cdef _Partition result
 * 
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			result = move(self._this.read(c_paths)) # extra move in order to avoid copying the internal variable that is used by Cython
 * 
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":4178
 * 
 * 		with nogil:
 * 			result = move(self._this.read(c_paths)) # extra move in order to avoid copying the internal variable that is used by Cython             # <<<<<<<<<<<<<<
 * 
 * 		return Partition().setThis(result)
 */
        try {
          __pyx_t_10 = __pyx_v_self->_this.read(__pyx_v_c_paths);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 4178, __pyx_L7_error)
        }
        __pyx_v_result = std::move(__pyx_t_10);
      }

      /* "networkit/_NetworKit.pyx":4177
 * 		cdef _Partition result
 * 
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			result = move(self._this.read(c_paths)) # extra move in order to avoid copying the internal variable that is used by Cython
 * 
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L8;
        }
        __pyx_L7_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L8:;
      }
  }

  /* "networkit/_NetworKit.pyx":4180
 * 			result = move(self._this.read(c_paths)) # extra move in order to avoid copying the internal variable that is used by Cython
 * 
 * 		return Partition().setThis(result)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/io/BinaryEdgeListPartitionWriter.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Partition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4180, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Partition *)((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_3)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_3), __pyx_v_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4180, __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;

  /* "networkit/_NetworKit.pyx":4156
 * 		self._this = _BinaryEdgeListPartitionReader(firstNode, width)
 * 
 * 	def read(self, paths):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Read the partition from one or multiple files
 */

  /* 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_9);
  __Pyx_AddTraceback("networkit._NetworKit.BinaryEdgeListPartitionReader.read", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_p);
  __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_9networkit_10_NetworKit_29BinaryEdgeListPartitionReader_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_29BinaryEdgeListPartitionReader_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29BinaryEdgeListPartitionReader_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionReader *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_29BinaryEdgeListPartitionReader_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionReader *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__151, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.BinaryEdgeListPartitionReader.__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_9networkit_10_NetworKit_29BinaryEdgeListPartitionReader_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_29BinaryEdgeListPartitionReader_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29BinaryEdgeListPartitionReader_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionReader *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_29BinaryEdgeListPartitionReader_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__152, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.BinaryEdgeListPartitionReader.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4202
 * 	cdef _BinaryEdgeListPartitionWriter _this
 * 
 * 	def __cinit__(self, node firstNode=0, uint8_t width=4):             # <<<<<<<<<<<<<<
 * 		self._this = _BinaryEdgeListPartitionWriter(firstNode, width)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_29BinaryEdgeListPartitionWriter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_29BinaryEdgeListPartitionWriter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_firstNode;
  uint8_t __pyx_v_width;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_firstNode,&__pyx_n_s_width,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_firstNode);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_width);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 4202, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_firstNode = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_firstNode == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4202, __pyx_L3_error)
    } else {
      __pyx_v_firstNode = ((__pyx_t_9networkit_10_NetworKit_node)0);
    }
    if (values[1]) {
      __pyx_v_width = __Pyx_PyInt_As_uint8_t(values[1]); if (unlikely((__pyx_v_width == ((uint8_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4202, __pyx_L3_error)
    } else {
      __pyx_v_width = ((uint8_t)4);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4202, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.BinaryEdgeListPartitionWriter.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29BinaryEdgeListPartitionWriter___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter *)__pyx_v_self), __pyx_v_firstNode, __pyx_v_width);

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

static int __pyx_pf_9networkit_10_NetworKit_29BinaryEdgeListPartitionWriter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_firstNode, uint8_t __pyx_v_width) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::BinaryEdgeListPartitionWriter __pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":4203
 * 
 * 	def __cinit__(self, node firstNode=0, uint8_t width=4):
 * 		self._this = _BinaryEdgeListPartitionWriter(firstNode, width)             # <<<<<<<<<<<<<<
 * 
 * 	def write(self, Partition P not None, path):
 */
  try {
    __pyx_t_1 = NetworKit::BinaryEdgeListPartitionWriter(__pyx_v_firstNode, __pyx_v_width);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4203, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":4202
 * 	cdef _BinaryEdgeListPartitionWriter _this
 * 
 * 	def __cinit__(self, node firstNode=0, uint8_t width=4):             # <<<<<<<<<<<<<<
 * 		self._this = _BinaryEdgeListPartitionWriter(firstNode, width)
 * 
 */

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

/* "networkit/_NetworKit.pyx":4205
 * 		self._this = _BinaryEdgeListPartitionWriter(firstNode, width)
 * 
 * 	def write(self, Partition P not None, path):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Write the partition to the given file.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_29BinaryEdgeListPartitionWriter_3write(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_29BinaryEdgeListPartitionWriter_2write[] = "\n\t\tWrite the partition to the given file.\n\n\t\tParameters\n\t\t----------\n\t\tpath : str\n\t\t\tThe output path\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_29BinaryEdgeListPartitionWriter_3write(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_P = 0;
  PyObject *__pyx_v_path = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("write (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_P,&__pyx_n_s_path,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_P)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_path)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("write", 1, 2, 2, 1); __PYX_ERR(0, 4205, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write") < 0)) __PYX_ERR(0, 4205, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_P = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[0]);
    __pyx_v_path = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("write", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4205, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.BinaryEdgeListPartitionWriter.write", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_P), __pyx_ptype_9networkit_10_NetworKit_Partition, 0, "P", 0))) __PYX_ERR(0, 4205, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29BinaryEdgeListPartitionWriter_2write(((struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter *)__pyx_v_self), __pyx_v_P, __pyx_v_path);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_29BinaryEdgeListPartitionWriter_2write(struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_P, PyObject *__pyx_v_path) {
  std::string __pyx_v_c_path;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::string __pyx_t_4;
  __Pyx_RefNannySetupContext("write", 0);

  /* "networkit/_NetworKit.pyx":4214
 * 			The output path
 * 		"""
 * 		cdef string c_path = stdstring(path)             # <<<<<<<<<<<<<<
 * 
 * 		with nogil:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_path) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_path);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4214, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_c_path = __pyx_t_4;

  /* "networkit/_NetworKit.pyx":4216
 * 		cdef string c_path = stdstring(path)
 * 
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.write(P._this, c_path)
 * 
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":4217
 * 
 * 		with nogil:
 * 			self._this.write(P._this, c_path)             # <<<<<<<<<<<<<<
 * 
 * 		return self
 */
        try {
          __pyx_v_self->_this.write(__pyx_v_P->_this, __pyx_v_c_path);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 4217, __pyx_L4_error)
        }
      }

      /* "networkit/_NetworKit.pyx":4216
 * 		cdef string c_path = stdstring(path)
 * 
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.write(P._this, c_path)
 * 
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":4219
 * 			self._this.write(P._this, c_path)
 * 
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/io/SNAPEdgeListPartitionReader.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4205
 * 		self._this = _BinaryEdgeListPartitionWriter(firstNode, width)
 * 
 * 	def write(self, Partition P not None, path):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Write the partition to the given file.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.BinaryEdgeListPartitionWriter.write", __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_9networkit_10_NetworKit_29BinaryEdgeListPartitionWriter_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_29BinaryEdgeListPartitionWriter_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29BinaryEdgeListPartitionWriter_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_29BinaryEdgeListPartitionWriter_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__153, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.BinaryEdgeListPartitionWriter.__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_9networkit_10_NetworKit_29BinaryEdgeListPartitionWriter_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_29BinaryEdgeListPartitionWriter_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29BinaryEdgeListPartitionWriter_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_29BinaryEdgeListPartitionWriter_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__154, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.BinaryEdgeListPartitionWriter.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4233
 * 	cdef _SNAPEdgeListPartitionReader _this
 * 
 * 	def read(self,path, nodeMap, Graph G):             # <<<<<<<<<<<<<<
 * 		cdef unordered_map[node,node] cNodeMap
 * 		for (key,val) in nodeMap:
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_27SNAPEdgeListPartitionReader_1read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_27SNAPEdgeListPartitionReader_1read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_path = 0;
  PyObject *__pyx_v_nodeMap = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("read (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_path,&__pyx_n_s_nodeMap,&__pyx_n_s_G,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_path)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nodeMap)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("read", 1, 3, 3, 1); __PYX_ERR(0, 4233, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("read", 1, 3, 3, 2); __PYX_ERR(0, 4233, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read") < 0)) __PYX_ERR(0, 4233, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_path = values[0];
    __pyx_v_nodeMap = values[1];
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[2]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("read", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4233, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.SNAPEdgeListPartitionReader.read", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 4233, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27SNAPEdgeListPartitionReader_read(((struct __pyx_obj_9networkit_10_NetworKit_SNAPEdgeListPartitionReader *)__pyx_v_self), __pyx_v_path, __pyx_v_nodeMap, __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_27SNAPEdgeListPartitionReader_read(struct __pyx_obj_9networkit_10_NetworKit_SNAPEdgeListPartitionReader *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_nodeMap, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  std::unordered_map<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_cNodeMap;
  PyObject *__pyx_v_key = NULL;
  PyObject *__pyx_v_val = 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;
  PyObject *__pyx_t_7 = NULL;
  PyObject *(*__pyx_t_8)(PyObject *);
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_9;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_10;
  std::string __pyx_t_11;
  NetworKit::Cover __pyx_t_12;
  __Pyx_RefNannySetupContext("read", 0);

  /* "networkit/_NetworKit.pyx":4235
 * 	def read(self,path, nodeMap, Graph G):
 * 		cdef unordered_map[node,node] cNodeMap
 * 		for (key,val) in nodeMap:             # <<<<<<<<<<<<<<
 * 			cNodeMap[key] = val
 * 		return Cover().setThis(self._this.read(stdstring(path), cNodeMap, G._this))
 */
  if (likely(PyList_CheckExact(__pyx_v_nodeMap)) || PyTuple_CheckExact(__pyx_v_nodeMap)) {
    __pyx_t_1 = __pyx_v_nodeMap; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_nodeMap); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4235, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4235, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 4235, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4235, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 4235, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4235, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 4235, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
      PyObject* sequence = __pyx_t_4;
      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(0, 4235, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); 
        __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1); 
      } else {
        __pyx_t_5 = PyList_GET_ITEM(sequence, 0); 
        __pyx_t_6 = PyList_GET_ITEM(sequence, 1); 
      }
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_6);
      #else
      __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4235, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4235, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      #endif
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_7 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4235, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
      index = 0; __pyx_t_5 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_5)) goto __pyx_L5_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_5);
      index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_6);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 4235, __pyx_L1_error)
      __pyx_t_8 = NULL;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      goto __pyx_L6_unpacking_done;
      __pyx_L5_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(0, 4235, __pyx_L1_error)
      __pyx_L6_unpacking_done:;
    }
    __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_6);
    __pyx_t_6 = 0;

    /* "networkit/_NetworKit.pyx":4236
 * 		cdef unordered_map[node,node] cNodeMap
 * 		for (key,val) in nodeMap:
 * 			cNodeMap[key] = val             # <<<<<<<<<<<<<<
 * 		return Cover().setThis(self._this.read(stdstring(path), cNodeMap, G._this))
 * 
 */
    __pyx_t_9 = __Pyx_PyInt_As_uint64_t(__pyx_v_val); if (unlikely((__pyx_t_9 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4236, __pyx_L1_error)
    __pyx_t_10 = __Pyx_PyInt_As_uint64_t(__pyx_v_key); if (unlikely((__pyx_t_10 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4236, __pyx_L1_error)
    (__pyx_v_cNodeMap[__pyx_t_10]) = __pyx_t_9;

    /* "networkit/_NetworKit.pyx":4235
 * 	def read(self,path, nodeMap, Graph G):
 * 		cdef unordered_map[node,node] cNodeMap
 * 		for (key,val) in nodeMap:             # <<<<<<<<<<<<<<
 * 			cNodeMap[key] = val
 * 		return Cover().setThis(self._this.read(stdstring(path), cNodeMap, G._this))
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":4237
 * 		for (key,val) in nodeMap:
 * 			cNodeMap[key] = val
 * 		return Cover().setThis(self._this.read(stdstring(path), cNodeMap, G._this))             # <<<<<<<<<<<<<<
 * 
 * #	def readWithInfo(self,path,nNodes):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Cover)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_v_path) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_path);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_11 = __pyx_convert_string_from_py_std__in_string(__pyx_t_4); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4237, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  try {
    __pyx_t_12 = __pyx_v_self->_this.read(__pyx_t_11, __pyx_v_cNodeMap, __pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4237, __pyx_L1_error)
  }
  __pyx_t_4 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Cover *)((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_t_1), __pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4237, __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;

  /* "networkit/_NetworKit.pyx":4233
 * 	cdef _SNAPEdgeListPartitionReader _this
 * 
 * 	def read(self,path, nodeMap, Graph G):             # <<<<<<<<<<<<<<
 * 		cdef unordered_map[node,node] cNodeMap
 * 		for (key,val) in nodeMap:
 */

  /* 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_AddTraceback("networkit._NetworKit.SNAPEdgeListPartitionReader.read", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_key);
  __Pyx_XDECREF(__pyx_v_val);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_27SNAPEdgeListPartitionReader_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_27SNAPEdgeListPartitionReader_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27SNAPEdgeListPartitionReader_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_SNAPEdgeListPartitionReader *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_27SNAPEdgeListPartitionReader_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SNAPEdgeListPartitionReader *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__155, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.SNAPEdgeListPartitionReader.__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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_27SNAPEdgeListPartitionReader_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_27SNAPEdgeListPartitionReader_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27SNAPEdgeListPartitionReader_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_SNAPEdgeListPartitionReader *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_27SNAPEdgeListPartitionReader_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SNAPEdgeListPartitionReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__156, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.SNAPEdgeListPartitionReader.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4271
 * 	cdef _CoverReader _this
 * 
 * 	def read(self, path, Graph G):             # <<<<<<<<<<<<<<
 * 		return Cover().setThis(self._this.read(stdstring(path), G._this))
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_11CoverReader_1read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_11CoverReader_1read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_path = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("read (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_path,&__pyx_n_s_G,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_path)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("read", 1, 2, 2, 1); __PYX_ERR(0, 4271, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read") < 0)) __PYX_ERR(0, 4271, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_path = values[0];
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("read", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4271, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.CoverReader.read", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 4271, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11CoverReader_read(((struct __pyx_obj_9networkit_10_NetworKit_CoverReader *)__pyx_v_self), __pyx_v_path, __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_11CoverReader_read(struct __pyx_obj_9networkit_10_NetworKit_CoverReader *__pyx_v_self, PyObject *__pyx_v_path, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  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;
  std::string __pyx_t_5;
  NetworKit::Cover __pyx_t_6;
  __Pyx_RefNannySetupContext("read", 0);

  /* "networkit/_NetworKit.pyx":4272
 * 
 * 	def read(self, path, Graph G):
 * 		return Cover().setThis(self._this.read(stdstring(path), G._this))             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/io/CoverWriter.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Cover)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4272, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4272, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_path) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_path);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4272, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4272, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  try {
    __pyx_t_6 = __pyx_v_self->_this.read(__pyx_t_5, __pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4272, __pyx_L1_error)
  }
  __pyx_t_2 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Cover *)((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_t_1), __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4272, __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;

  /* "networkit/_NetworKit.pyx":4271
 * 	cdef _CoverReader _this
 * 
 * 	def read(self, path, Graph G):             # <<<<<<<<<<<<<<
 * 		return Cover().setThis(self._this.read(stdstring(path), G._this))
 * 
 */

  /* 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("networkit._NetworKit.CoverReader.read", __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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_11CoverReader_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_11CoverReader_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11CoverReader_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_CoverReader *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11CoverReader_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CoverReader *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__157, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.CoverReader.__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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_11CoverReader_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_11CoverReader_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11CoverReader_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_CoverReader *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11CoverReader_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CoverReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__158, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.CoverReader.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4287
 * 	cdef _CoverWriter _this
 * 
 * 	def write(self, Cover zeta, path):             # <<<<<<<<<<<<<<
 * 		cdef string cpath = stdstring(path)
 * 		with nogil:
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_11CoverWriter_1write(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_11CoverWriter_1write(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_zeta = 0;
  PyObject *__pyx_v_path = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("write (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_zeta,&__pyx_n_s_path,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zeta)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_path)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("write", 1, 2, 2, 1); __PYX_ERR(0, 4287, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write") < 0)) __PYX_ERR(0, 4287, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_zeta = ((struct __pyx_obj_9networkit_10_NetworKit_Cover *)values[0]);
    __pyx_v_path = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("write", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4287, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.CoverWriter.write", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_zeta), __pyx_ptype_9networkit_10_NetworKit_Cover, 1, "zeta", 0))) __PYX_ERR(0, 4287, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11CoverWriter_write(((struct __pyx_obj_9networkit_10_NetworKit_CoverWriter *)__pyx_v_self), __pyx_v_zeta, __pyx_v_path);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_11CoverWriter_write(struct __pyx_obj_9networkit_10_NetworKit_CoverWriter *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_zeta, PyObject *__pyx_v_path) {
  std::string __pyx_v_cpath;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::string __pyx_t_4;
  __Pyx_RefNannySetupContext("write", 0);

  /* "networkit/_NetworKit.pyx":4288
 * 
 * 	def write(self, Cover zeta, path):
 * 		cdef string cpath = stdstring(path)             # <<<<<<<<<<<<<<
 * 		with nogil:
 * 			self._this.write(zeta._this, cpath)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4288, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_path) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_path);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4288, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4288, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cpath = __pyx_t_4;

  /* "networkit/_NetworKit.pyx":4289
 * 	def write(self, Cover zeta, path):
 * 		cdef string cpath = stdstring(path)
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.write(zeta._this, cpath)
 * 
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":4290
 * 		cdef string cpath = stdstring(path)
 * 		with nogil:
 * 			self._this.write(zeta._this, cpath)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/io/EdgeListCoverReader.hpp>":
 */
        try {
          __pyx_v_self->_this.write(__pyx_v_zeta->_this, __pyx_v_cpath);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 4290, __pyx_L4_error)
        }
      }

      /* "networkit/_NetworKit.pyx":4289
 * 	def write(self, Cover zeta, path):
 * 		cdef string cpath = stdstring(path)
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.write(zeta._this, cpath)
 * 
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":4287
 * 	cdef _CoverWriter _this
 * 
 * 	def write(self, Cover zeta, path):             # <<<<<<<<<<<<<<
 * 		cdef string cpath = stdstring(path)
 * 		with nogil:
 */

  /* 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("networkit._NetworKit.CoverWriter.write", __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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_11CoverWriter_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_11CoverWriter_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11CoverWriter_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_CoverWriter *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11CoverWriter_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CoverWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__159, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.CoverWriter.__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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_11CoverWriter_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_11CoverWriter_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11CoverWriter_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_CoverWriter *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11CoverWriter_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CoverWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__160, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.CoverWriter.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4306
 * 	cdef _EdgeListCoverReader _this
 * 
 * 	def __cinit__(self, firstNode=1):             # <<<<<<<<<<<<<<
 * 		self._this = _EdgeListCoverReader(firstNode)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_19EdgeListCoverReader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_19EdgeListCoverReader_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_firstNode = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_firstNode,0};
    PyObject* values[1] = {0};
    values[0] = ((PyObject *)__pyx_int_1);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_firstNode);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 4306, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_firstNode = values[0];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4306, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EdgeListCoverReader.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19EdgeListCoverReader___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeListCoverReader *)__pyx_v_self), __pyx_v_firstNode);

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

static int __pyx_pf_9networkit_10_NetworKit_19EdgeListCoverReader___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EdgeListCoverReader *__pyx_v_self, PyObject *__pyx_v_firstNode) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  NetworKit::EdgeListCoverReader __pyx_t_2;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":4307
 * 
 * 	def __cinit__(self, firstNode=1):
 * 		self._this = _EdgeListCoverReader(firstNode)             # <<<<<<<<<<<<<<
 * 
 * 	def read(self, path, Graph G):
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_firstNode); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4307, __pyx_L1_error)
  try {
    __pyx_t_2 = NetworKit::EdgeListCoverReader(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4307, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_2;

  /* "networkit/_NetworKit.pyx":4306
 * 	cdef _EdgeListCoverReader _this
 * 
 * 	def __cinit__(self, firstNode=1):             # <<<<<<<<<<<<<<
 * 		self._this = _EdgeListCoverReader(firstNode)
 * 
 */

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

/* "networkit/_NetworKit.pyx":4309
 * 		self._this = _EdgeListCoverReader(firstNode)
 * 
 * 	def read(self, path, Graph G):             # <<<<<<<<<<<<<<
 * 		return Cover().setThis(self._this.read(stdstring(path), G._this))
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19EdgeListCoverReader_3read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19EdgeListCoverReader_3read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_path = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("read (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_path,&__pyx_n_s_G,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_path)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("read", 1, 2, 2, 1); __PYX_ERR(0, 4309, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read") < 0)) __PYX_ERR(0, 4309, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_path = values[0];
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("read", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4309, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EdgeListCoverReader.read", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 4309, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19EdgeListCoverReader_2read(((struct __pyx_obj_9networkit_10_NetworKit_EdgeListCoverReader *)__pyx_v_self), __pyx_v_path, __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19EdgeListCoverReader_2read(struct __pyx_obj_9networkit_10_NetworKit_EdgeListCoverReader *__pyx_v_self, PyObject *__pyx_v_path, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  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;
  std::string __pyx_t_5;
  NetworKit::Cover __pyx_t_6;
  __Pyx_RefNannySetupContext("read", 0);

  /* "networkit/_NetworKit.pyx":4310
 * 
 * 	def read(self, path, Graph G):
 * 		return Cover().setThis(self._this.read(stdstring(path), G._this))             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Cover)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_path) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_path);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4310, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  try {
    __pyx_t_6 = __pyx_v_self->_this.read(__pyx_t_5, __pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4310, __pyx_L1_error)
  }
  __pyx_t_2 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Cover *)((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_t_1), __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4310, __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;

  /* "networkit/_NetworKit.pyx":4309
 * 		self._this = _EdgeListCoverReader(firstNode)
 * 
 * 	def read(self, path, Graph G):             # <<<<<<<<<<<<<<
 * 		return Cover().setThis(self._this.read(stdstring(path), G._this))
 * 
 */

  /* 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("networkit._NetworKit.EdgeListCoverReader.read", __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_9networkit_10_NetworKit_19EdgeListCoverReader_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19EdgeListCoverReader_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19EdgeListCoverReader_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeListCoverReader *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_19EdgeListCoverReader_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeListCoverReader *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__161, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeListCoverReader.__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_9networkit_10_NetworKit_19EdgeListCoverReader_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19EdgeListCoverReader_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19EdgeListCoverReader_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeListCoverReader *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_19EdgeListCoverReader_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeListCoverReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__162, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeListCoverReader.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4363
 * 	cdef _Partition _this
 * 
 * 	def __cinit__(self, index size=0, vector[index] data=[]):             # <<<<<<<<<<<<<<
 * 		if data.size() != 0:
 * 			self._this = move(_Partition(data))
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_9Partition_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_9Partition_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_size;
  std::vector<__pyx_t_9networkit_10_NetworKit_index>  __pyx_v_data;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_size,&__pyx_n_s_data,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_size);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_data);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 4363, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_size = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_size == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4363, __pyx_L3_error)
    } else {
      __pyx_v_size = ((__pyx_t_9networkit_10_NetworKit_index)0);
    }
    if (values[1]) {
      __pyx_v_data = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_index(values[1]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4363, __pyx_L3_error)
    } else {
      __pyx_v_data = __pyx_k__163;
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4363, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Partition.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self), __pyx_v_size, __pyx_v_data);

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

static int __pyx_pf_9networkit_10_NetworKit_9Partition___cinit__(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_size, std::vector<__pyx_t_9networkit_10_NetworKit_index>  __pyx_v_data) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  NetworKit::Partition __pyx_t_2;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":4364
 * 
 * 	def __cinit__(self, index size=0, vector[index] data=[]):
 * 		if data.size() != 0:             # <<<<<<<<<<<<<<
 * 			self._this = move(_Partition(data))
 * 		else:
 */
  __pyx_t_1 = ((__pyx_v_data.size() != 0) != 0);
  if (__pyx_t_1) {

    /* "networkit/_NetworKit.pyx":4365
 * 	def __cinit__(self, index size=0, vector[index] data=[]):
 * 		if data.size() != 0:
 * 			self._this = move(_Partition(data))             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._this = move(_Partition(size))
 */
    try {
      __pyx_t_2 = NetworKit::Partition(__pyx_v_data);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 4365, __pyx_L1_error)
    }
    __pyx_v_self->_this = std::move(__pyx_t_2);

    /* "networkit/_NetworKit.pyx":4364
 * 
 * 	def __cinit__(self, index size=0, vector[index] data=[]):
 * 		if data.size() != 0:             # <<<<<<<<<<<<<<
 * 			self._this = move(_Partition(data))
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":4367
 * 			self._this = move(_Partition(data))
 * 		else:
 * 			self._this = move(_Partition(size))             # <<<<<<<<<<<<<<
 * 
 * 	def __len__(self):
 */
  /*else*/ {
    try {
      __pyx_t_2 = NetworKit::Partition(__pyx_v_size);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 4367, __pyx_L1_error)
    }
    __pyx_v_self->_this = std::move(__pyx_t_2);
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":4363
 * 	cdef _Partition _this
 * 
 * 	def __cinit__(self, index size=0, vector[index] data=[]):             # <<<<<<<<<<<<<<
 * 		if data.size() != 0:
 * 			self._this = move(_Partition(data))
 */

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

/* "networkit/_NetworKit.pyx":4369
 * 			self._this = move(_Partition(size))
 * 
 * 	def __len__(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

/* Python wrapper */
static Py_ssize_t __pyx_pw_9networkit_10_NetworKit_9Partition_3__len__(PyObject *__pyx_v_self); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_2__len__[] = "\n\t\tReturns\n\t\t-------\n\t\tcount\n\t\t\tNumber of elements in the partition.\n\t\t";
#if CYTHON_COMPILING_IN_CPYTHON
struct wrapperbase __pyx_wrapperbase_9networkit_10_NetworKit_9Partition_2__len__;
#endif
static Py_ssize_t __pyx_pw_9networkit_10_NetworKit_9Partition_3__len__(PyObject *__pyx_v_self) {
  Py_ssize_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__len__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_2__len__(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self));

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

static Py_ssize_t __pyx_pf_9networkit_10_NetworKit_9Partition_2__len__(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self) {
  Py_ssize_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  __Pyx_RefNannySetupContext("__len__", 0);

  /* "networkit/_NetworKit.pyx":4376
 * 			Number of elements in the partition.
 * 		"""
 * 		return self._this.numberOfElements()             # <<<<<<<<<<<<<<
 * 
 * 	def __getitem__(self, index e):
 */
  try {
    __pyx_t_1 = __pyx_v_self->_this.numberOfElements();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4376, __pyx_L1_error)
  }
  __pyx_r = __pyx_t_1;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4369
 * 			self._this = move(_Partition(size))
 * 
 * 	def __len__(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Partition.__len__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4378
 * 		return self._this.numberOfElements()
 * 
 * 	def __getitem__(self, index e):             # <<<<<<<<<<<<<<
 * 		""" Get the set (id) in which the element `e` is contained.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_5__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_arg_e); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_4__getitem__[] = " Get the set (id) in which the element `e` is contained.\n\n\t \tParameters\n\t \t----------\n\t \te : index\n\t \t\tIndex of element.\n\n\t \tReturns\n\t \t-------\n\t \tindex\n\t \t\tThe index of the set in which `e` is contained.\n\t\t";
#if CYTHON_COMPILING_IN_CPYTHON
struct wrapperbase __pyx_wrapperbase_9networkit_10_NetworKit_9Partition_4__getitem__;
#endif
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_5__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_arg_e) {
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_e;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
  assert(__pyx_arg_e); {
    __pyx_v_e = __Pyx_PyInt_As_uint64_t(__pyx_arg_e); if (unlikely((__pyx_v_e == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4378, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Partition.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_4__getitem__(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self), ((__pyx_t_9networkit_10_NetworKit_index)__pyx_v_e));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_4__getitem__(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_e) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_index __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__getitem__", 0);

  /* "networkit/_NetworKit.pyx":4391
 * 	 		The index of the set in which `e` is contained.
 * 		"""
 * 		return self._this.subsetOf(e)             # <<<<<<<<<<<<<<
 * 
 * 	def __setitem__(self, index e, index s):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.subsetOf(__pyx_v_e);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4391, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4378
 * 		return self._this.numberOfElements()
 * 
 * 	def __getitem__(self, index e):             # <<<<<<<<<<<<<<
 * 		""" Get the set (id) in which the element `e` is contained.
 * 
 */

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

/* "networkit/_NetworKit.pyx":4393
 * 		return self._this.subsetOf(e)
 * 
 * 	def __setitem__(self, index e, index s):             # <<<<<<<<<<<<<<
 * 		""" Set the set (id) in which the element `e` is contained.
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_9Partition_7__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_arg_e, PyObject *__pyx_arg_s); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_6__setitem__[] = " Set the set (id) in which the element `e` is contained.\n\n\t\tParameters\n\t\t----------\n\t\te : index\n\t\t\tIndex of the element\n\t\ts : index\n\t\t\tIndex of the subset\n\t\t";
#if CYTHON_COMPILING_IN_CPYTHON
struct wrapperbase __pyx_wrapperbase_9networkit_10_NetworKit_9Partition_6__setitem__;
#endif
static int __pyx_pw_9networkit_10_NetworKit_9Partition_7__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_arg_e, PyObject *__pyx_arg_s) {
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_e;
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_s;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setitem__ (wrapper)", 0);
  assert(__pyx_arg_e); {
    __pyx_v_e = __Pyx_PyInt_As_uint64_t(__pyx_arg_e); if (unlikely((__pyx_v_e == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4393, __pyx_L3_error)
  }
  assert(__pyx_arg_s); {
    __pyx_v_s = __Pyx_PyInt_As_uint64_t(__pyx_arg_s); if (unlikely((__pyx_v_s == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4393, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Partition.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_6__setitem__(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self), ((__pyx_t_9networkit_10_NetworKit_index)__pyx_v_e), ((__pyx_t_9networkit_10_NetworKit_index)__pyx_v_s));

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

static int __pyx_pf_9networkit_10_NetworKit_9Partition_6__setitem__(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_e, __pyx_t_9networkit_10_NetworKit_index __pyx_v_s) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setitem__", 0);

  /* "networkit/_NetworKit.pyx":4403
 * 			Index of the subset
 * 		"""
 * 		self._this.addToSubset(s, e)             # <<<<<<<<<<<<<<
 * 
 * 	def __copy__(self):
 */
  try {
    __pyx_v_self->_this.addToSubset(__pyx_v_s, __pyx_v_e);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4403, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":4393
 * 		return self._this.subsetOf(e)
 * 
 * 	def __setitem__(self, index e, index s):             # <<<<<<<<<<<<<<
 * 		""" Set the set (id) in which the element `e` is contained.
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Partition.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4405
 * 		self._this.addToSubset(s, e)
 * 
 * 	def __copy__(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Generates a copy of the partition
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_9__copy__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_8__copy__[] = "\n\t\tGenerates a copy of the partition\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_9__copy__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__copy__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_8__copy__(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_8__copy__(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Partition __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__copy__", 0);

  /* "networkit/_NetworKit.pyx":4409
 * 		Generates a copy of the partition
 * 		"""
 * 		return Partition().setThis(_Partition(self._this))             # <<<<<<<<<<<<<<
 * 
 * 	def __deepcopy__(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Partition)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = NetworKit::Partition(__pyx_v_self->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4409, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Partition *)((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4409, __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;

  /* "networkit/_NetworKit.pyx":4405
 * 		self._this.addToSubset(s, e)
 * 
 * 	def __copy__(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Generates a copy of the partition
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Partition.__copy__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4411
 * 		return Partition().setThis(_Partition(self._this))
 * 
 * 	def __deepcopy__(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Generates a copy of the partition
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_11__deepcopy__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_10__deepcopy__[] = "\n\t\tGenerates a copy of the partition\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_11__deepcopy__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__deepcopy__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_10__deepcopy__(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_10__deepcopy__(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Partition __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__deepcopy__", 0);

  /* "networkit/_NetworKit.pyx":4415
 * 		Generates a copy of the partition
 * 		"""
 * 		return Partition().setThis(_Partition(self._this))             # <<<<<<<<<<<<<<
 * 
 * 	cdef setThis(self,  _Partition& other):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Partition)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = NetworKit::Partition(__pyx_v_self->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4415, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Partition *)((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4415, __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;

  /* "networkit/_NetworKit.pyx":4411
 * 		return Partition().setThis(_Partition(self._this))
 * 
 * 	def __deepcopy__(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Generates a copy of the partition
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Partition.__deepcopy__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4417
 * 		return Partition().setThis(_Partition(self._this))
 * 
 * 	cdef setThis(self,  _Partition& other):             # <<<<<<<<<<<<<<
 * 		swap[_Partition](self._this,  other)
 * 		return self
 */

static PyObject *__pyx_f_9networkit_10_NetworKit_9Partition_setThis(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, NetworKit::Partition &__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setThis", 0);

  /* "networkit/_NetworKit.pyx":4418
 * 
 * 	cdef setThis(self,  _Partition& other):
 * 		swap[_Partition](self._this,  other)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
  std::swap<NetworKit::Partition>(__pyx_v_self->_this, __pyx_v_other);

  /* "networkit/_NetworKit.pyx":4419
 * 	cdef setThis(self,  _Partition& other):
 * 		swap[_Partition](self._this,  other)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def subsetOf(self, e):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4417
 * 		return Partition().setThis(_Partition(self._this))
 * 
 * 	cdef setThis(self,  _Partition& other):             # <<<<<<<<<<<<<<
 * 		swap[_Partition](self._this,  other)
 * 		return self
 */

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

/* "networkit/_NetworKit.pyx":4421
 * 		return self
 * 
 * 	def subsetOf(self, e):             # <<<<<<<<<<<<<<
 * 		""" Get the set (id) in which the element `e` is contained.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_13subsetOf(PyObject *__pyx_v_self, PyObject *__pyx_v_e); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_12subsetOf[] = " Get the set (id) in which the element `e` is contained.\n\n\t \tParameters\n\t \t----------\n\t \te : index\n\t \t\tIndex of element.\n\n\t \tReturns\n\t \t-------\n\t \tindex\n\t \t\tThe index of the set in which `e` is contained.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_13subsetOf(PyObject *__pyx_v_self, PyObject *__pyx_v_e) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("subsetOf (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_12subsetOf(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self), ((PyObject *)__pyx_v_e));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_12subsetOf(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, PyObject *__pyx_v_e) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_index __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_index __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("subsetOf", 0);

  /* "networkit/_NetworKit.pyx":4434
 * 	 		The index of the set in which `e` is contained.
 * 		"""
 * 		return self._this.subsetOf(e)             # <<<<<<<<<<<<<<
 * 
 * 	def extend(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_e); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4434, __pyx_L1_error)
  try {
    __pyx_t_2 = __pyx_v_self->_this.subsetOf(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4434, __pyx_L1_error)
  }
  __pyx_t_3 = __Pyx_PyInt_From_uint64_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4421
 * 		return self
 * 
 * 	def subsetOf(self, e):             # <<<<<<<<<<<<<<
 * 		""" Get the set (id) in which the element `e` is contained.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Partition.subsetOf", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4436
 * 		return self._this.subsetOf(e)
 * 
 * 	def extend(self):             # <<<<<<<<<<<<<<
 * 		""" Extend the data structure and create a slot	for one more element.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_15extend(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_14extend[] = " Extend the data structure and create a slot\tfor one more element.\n\n\t\tInitializes the entry to `none` and returns the index of the entry.\n\n\t\tReturns\n\t\t-------\n\t\tindex\n\t\t\tThe index of the new element.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_15extend(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("extend (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_14extend(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_14extend(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_index __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("extend", 0);

  /* "networkit/_NetworKit.pyx":4446
 * 			The index of the new element.
 * 		"""
 * 		return self._this.extend()             # <<<<<<<<<<<<<<
 * 
 * 	def addToSubset(self, s, e):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.extend();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4446, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4446, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4436
 * 		return self._this.subsetOf(e)
 * 
 * 	def extend(self):             # <<<<<<<<<<<<<<
 * 		""" Extend the data structure and create a slot	for one more element.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Partition.extend", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4448
 * 		return self._this.extend()
 * 
 * 	def addToSubset(self, s, e):             # <<<<<<<<<<<<<<
 * 		""" Add a (previously unassigned) element `e` to the set `s`.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_17addToSubset(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_16addToSubset[] = " Add a (previously unassigned) element `e` to the set `s`.\n\n\t\tParameters\n\t\t----------\n\t\ts : index\n\t\t\tThe index of the subset.\n\t\te : index\n\t\t\tThe element to add.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_17addToSubset(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_s = 0;
  PyObject *__pyx_v_e = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addToSubset (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_s,&__pyx_n_s_e,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_s)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_e)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("addToSubset", 1, 2, 2, 1); __PYX_ERR(0, 4448, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "addToSubset") < 0)) __PYX_ERR(0, 4448, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_s = values[0];
    __pyx_v_e = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addToSubset", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4448, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Partition.addToSubset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_16addToSubset(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self), __pyx_v_s, __pyx_v_e);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_16addToSubset(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, PyObject *__pyx_v_s, PyObject *__pyx_v_e) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_index __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_index __pyx_t_2;
  __Pyx_RefNannySetupContext("addToSubset", 0);

  /* "networkit/_NetworKit.pyx":4458
 * 			The element to add.
 * 		"""
 * 		self._this.addToSubset(s, e)             # <<<<<<<<<<<<<<
 * 
 * 	def moveToSubset(self, index s, index e):
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_s); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4458, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_e); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4458, __pyx_L1_error)
  try {
    __pyx_v_self->_this.addToSubset(__pyx_t_1, __pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4458, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":4448
 * 		return self._this.extend()
 * 
 * 	def addToSubset(self, s, e):             # <<<<<<<<<<<<<<
 * 		""" Add a (previously unassigned) element `e` to the set `s`.
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Partition.addToSubset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4460
 * 		self._this.addToSubset(s, e)
 * 
 * 	def moveToSubset(self, index s, index e):             # <<<<<<<<<<<<<<
 * 		"""  Move the (previously assigned) element `e` to the set `s.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_19moveToSubset(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_18moveToSubset[] = "  Move the (previously assigned) element `e` to the set `s.\n\n\t\tParameters\n\t\t----------\n\t\ts : index\n\t\t\tThe index of the subset.\n\t\te : index\n\t\t\tThe element to move.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_19moveToSubset(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_s;
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_e;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("moveToSubset (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_s,&__pyx_n_s_e,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_s)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_e)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("moveToSubset", 1, 2, 2, 1); __PYX_ERR(0, 4460, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "moveToSubset") < 0)) __PYX_ERR(0, 4460, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_s = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_s == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4460, __pyx_L3_error)
    __pyx_v_e = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_e == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4460, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("moveToSubset", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4460, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Partition.moveToSubset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_18moveToSubset(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self), __pyx_v_s, __pyx_v_e);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_18moveToSubset(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_s, __pyx_t_9networkit_10_NetworKit_index __pyx_v_e) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("moveToSubset", 0);

  /* "networkit/_NetworKit.pyx":4470
 * 			The element to move.
 * 		"""
 * 		self._this.moveToSubset(s, e)             # <<<<<<<<<<<<<<
 * 
 * 	def toSingleton(self, index e):
 */
  try {
    __pyx_v_self->_this.moveToSubset(__pyx_v_s, __pyx_v_e);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4470, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":4460
 * 		self._this.addToSubset(s, e)
 * 
 * 	def moveToSubset(self, index s, index e):             # <<<<<<<<<<<<<<
 * 		"""  Move the (previously assigned) element `e` to the set `s.
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Partition.moveToSubset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4472
 * 		self._this.moveToSubset(s, e)
 * 
 * 	def toSingleton(self, index e):             # <<<<<<<<<<<<<<
 * 		""" Creates a singleton set containing the element `e`.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_21toSingleton(PyObject *__pyx_v_self, PyObject *__pyx_arg_e); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_20toSingleton[] = " Creates a singleton set containing the element `e`.\n\n\t\tParameters\n\t\t----------\n\t\te : index\n\t\t\tThe index of the element.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_21toSingleton(PyObject *__pyx_v_self, PyObject *__pyx_arg_e) {
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_e;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("toSingleton (wrapper)", 0);
  assert(__pyx_arg_e); {
    __pyx_v_e = __Pyx_PyInt_As_uint64_t(__pyx_arg_e); if (unlikely((__pyx_v_e == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4472, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Partition.toSingleton", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_20toSingleton(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self), ((__pyx_t_9networkit_10_NetworKit_index)__pyx_v_e));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_20toSingleton(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_e) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("toSingleton", 0);

  /* "networkit/_NetworKit.pyx":4480
 * 			The index of the element.
 * 		"""
 * 		self._this.toSingleton(e)             # <<<<<<<<<<<<<<
 * 
 * 	def allToSingletons(self):
 */
  try {
    __pyx_v_self->_this.toSingleton(__pyx_v_e);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4480, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":4472
 * 		self._this.moveToSubset(s, e)
 * 
 * 	def toSingleton(self, index e):             # <<<<<<<<<<<<<<
 * 		""" Creates a singleton set containing the element `e`.
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Partition.toSingleton", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4482
 * 		self._this.toSingleton(e)
 * 
 * 	def allToSingletons(self):             # <<<<<<<<<<<<<<
 * 		""" Assigns every element to a singleton set. Set id is equal to element id. """
 * 		self._this.allToSingletons()
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_23allToSingletons(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_22allToSingletons[] = " Assigns every element to a singleton set. Set id is equal to element id. ";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_23allToSingletons(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("allToSingletons (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_22allToSingletons(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_22allToSingletons(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("allToSingletons", 0);

  /* "networkit/_NetworKit.pyx":4484
 * 	def allToSingletons(self):
 * 		""" Assigns every element to a singleton set. Set id is equal to element id. """
 * 		self._this.allToSingletons()             # <<<<<<<<<<<<<<
 * 
 * 	def mergeSubsets(self, index s, index t):
 */
  try {
    __pyx_v_self->_this.allToSingletons();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4484, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":4482
 * 		self._this.toSingleton(e)
 * 
 * 	def allToSingletons(self):             # <<<<<<<<<<<<<<
 * 		""" Assigns every element to a singleton set. Set id is equal to element id. """
 * 		self._this.allToSingletons()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Partition.allToSingletons", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4486
 * 		self._this.allToSingletons()
 * 
 * 	def mergeSubsets(self, index s, index t):             # <<<<<<<<<<<<<<
 * 		""" Assigns the elements from both sets to a new set and returns the id of it.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_25mergeSubsets(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_24mergeSubsets[] = " Assigns the elements from both sets to a new set and returns the id of it.\n\n\t\tParameters\n\t\t----------\n\t\ts : index\n\t\t\tSet to merge.\n\t\tt : index\n\t\t\tSet to merge.\n\n\t\tReturns\n\t\t-------\n\t\tindex\n\t\t\tId of newly created set.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_25mergeSubsets(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_s;
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_t;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("mergeSubsets (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_s,&__pyx_n_s_t,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_s)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_t)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("mergeSubsets", 1, 2, 2, 1); __PYX_ERR(0, 4486, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "mergeSubsets") < 0)) __PYX_ERR(0, 4486, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_s = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_s == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4486, __pyx_L3_error)
    __pyx_v_t = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_t == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4486, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("mergeSubsets", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4486, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Partition.mergeSubsets", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_24mergeSubsets(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self), __pyx_v_s, __pyx_v_t);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_24mergeSubsets(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_s, __pyx_t_9networkit_10_NetworKit_index __pyx_v_t) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_index __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("mergeSubsets", 0);

  /* "networkit/_NetworKit.pyx":4501
 * 			Id of newly created set.
 * 		"""
 * 		return self._this.mergeSubsets(s, t)             # <<<<<<<<<<<<<<
 * 
 * 	def setUpperBound(self, index upper):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.mergeSubsets(__pyx_v_s, __pyx_v_t);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4501, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4486
 * 		self._this.allToSingletons()
 * 
 * 	def mergeSubsets(self, index s, index t):             # <<<<<<<<<<<<<<
 * 		""" Assigns the elements from both sets to a new set and returns the id of it.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Partition.mergeSubsets", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4503
 * 		return self._this.mergeSubsets(s, t)
 * 
 * 	def setUpperBound(self, index upper):             # <<<<<<<<<<<<<<
 * 		""" Sets an upper bound for the subset ids that **can** be assigned.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_27setUpperBound(PyObject *__pyx_v_self, PyObject *__pyx_arg_upper); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_26setUpperBound[] = " Sets an upper bound for the subset ids that **can** be assigned.\n\n\t\tParameters\n\t\t----------\n\t\tupper : index\n\t\t\tHighest assigned subset id + 1\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_27setUpperBound(PyObject *__pyx_v_self, PyObject *__pyx_arg_upper) {
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_upper;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setUpperBound (wrapper)", 0);
  assert(__pyx_arg_upper); {
    __pyx_v_upper = __Pyx_PyInt_As_uint64_t(__pyx_arg_upper); if (unlikely((__pyx_v_upper == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4503, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Partition.setUpperBound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_26setUpperBound(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self), ((__pyx_t_9networkit_10_NetworKit_index)__pyx_v_upper));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_26setUpperBound(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_upper) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setUpperBound", 0);

  /* "networkit/_NetworKit.pyx":4511
 * 			Highest assigned subset id + 1
 * 		"""
 * 		self._this.setUpperBound(upper)             # <<<<<<<<<<<<<<
 * 
 * 	def upperBound(self):
 */
  try {
    __pyx_v_self->_this.setUpperBound(__pyx_v_upper);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4511, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":4503
 * 		return self._this.mergeSubsets(s, t)
 * 
 * 	def setUpperBound(self, index upper):             # <<<<<<<<<<<<<<
 * 		""" Sets an upper bound for the subset ids that **can** be assigned.
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Partition.setUpperBound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4513
 * 		self._this.setUpperBound(upper)
 * 
 * 	def upperBound(self):             # <<<<<<<<<<<<<<
 * 		""" Return an upper bound for the subset ids that have been assigned.
 * 	 	(This is the maximum id + 1.)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_29upperBound(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_28upperBound[] = " Return an upper bound for the subset ids that have been assigned.\n\t \t(This is the maximum id + 1.)\n\n\t \tReturns\n\t \t-------\n\t \tindex\n\t \t\tThe upper bound.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_29upperBound(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("upperBound (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_28upperBound(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_28upperBound(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_index __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("upperBound", 0);

  /* "networkit/_NetworKit.pyx":4522
 * 	 		The upper bound.
 * 		"""
 * 		return self._this.upperBound()             # <<<<<<<<<<<<<<
 * 
 * 	def lowerBound(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.upperBound();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4522, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4513
 * 		self._this.setUpperBound(upper)
 * 
 * 	def upperBound(self):             # <<<<<<<<<<<<<<
 * 		""" Return an upper bound for the subset ids that have been assigned.
 * 	 	(This is the maximum id + 1.)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Partition.upperBound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4524
 * 		return self._this.upperBound()
 * 
 * 	def lowerBound(self):             # <<<<<<<<<<<<<<
 * 		""" Get a lower bound for the subset ids that have been assigned.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_31lowerBound(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_30lowerBound[] = " Get a lower bound for the subset ids that have been assigned.\n\n\t\tReturns\n\t\t-------\n\t\tindex\n\t\t\tThe lower bound.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_31lowerBound(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("lowerBound (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_30lowerBound(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_30lowerBound(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_index __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("lowerBound", 0);

  /* "networkit/_NetworKit.pyx":4532
 * 			The lower bound.
 * 		"""
 * 		return self._this.lowerBound()             # <<<<<<<<<<<<<<
 * 
 * 	def compact(self, useTurbo = False):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.lowerBound();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4532, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4532, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4524
 * 		return self._this.upperBound()
 * 
 * 	def lowerBound(self):             # <<<<<<<<<<<<<<
 * 		""" Get a lower bound for the subset ids that have been assigned.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Partition.lowerBound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4534
 * 		return self._this.lowerBound()
 * 
 * 	def compact(self, useTurbo = False):             # <<<<<<<<<<<<<<
 * 		""" Change subset IDs to be consecutive, starting at 0.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_33compact(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_32compact[] = " Change subset IDs to be consecutive, starting at 0.\n\n\t\tParameters\n\t\t----------\n\t\tuseTurbo : bool\n\t\t\tDefault: false. If set to true, a vector instead of a map to assign new ids\n\t \t\twhich results in a shorter running time but possibly a large space overhead.\n\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_33compact(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_useTurbo = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("compact (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_useTurbo,0};
    PyObject* values[1] = {0};
    values[0] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_useTurbo);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "compact") < 0)) __PYX_ERR(0, 4534, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_useTurbo = values[0];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("compact", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4534, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Partition.compact", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_32compact(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self), __pyx_v_useTurbo);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_32compact(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, PyObject *__pyx_v_useTurbo) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  __Pyx_RefNannySetupContext("compact", 0);

  /* "networkit/_NetworKit.pyx":4544
 * 
 * 		"""
 * 		self._this.compact(useTurbo)             # <<<<<<<<<<<<<<
 * 
 * 	def contains(self, index e):
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_useTurbo); if (unlikely((__pyx_t_1 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4544, __pyx_L1_error)
  try {
    __pyx_v_self->_this.compact(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4544, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":4534
 * 		return self._this.lowerBound()
 * 
 * 	def compact(self, useTurbo = False):             # <<<<<<<<<<<<<<
 * 		""" Change subset IDs to be consecutive, starting at 0.
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Partition.compact", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4546
 * 		self._this.compact(useTurbo)
 * 
 * 	def contains(self, index e):             # <<<<<<<<<<<<<<
 * 		""" Check if partition assigns a valid subset to the element `e`.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_35contains(PyObject *__pyx_v_self, PyObject *__pyx_arg_e); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_34contains[] = " Check if partition assigns a valid subset to the element `e`.\n\n\t\tParameters\n\t\t----------\n\t\te : index\n\t\t\tThe element.\n\n\t\tReturns\n\t\t-------\n\t\tbool\n\t\t\tTrue if the assigned subset is valid, False otherwise.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_35contains(PyObject *__pyx_v_self, PyObject *__pyx_arg_e) {
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_e;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("contains (wrapper)", 0);
  assert(__pyx_arg_e); {
    __pyx_v_e = __Pyx_PyInt_As_uint64_t(__pyx_arg_e); if (unlikely((__pyx_v_e == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4546, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Partition.contains", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_34contains(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self), ((__pyx_t_9networkit_10_NetworKit_index)__pyx_v_e));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_34contains(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_e) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("contains", 0);

  /* "networkit/_NetworKit.pyx":4559
 * 			True if the assigned subset is valid, False otherwise.
 * 		"""
 * 		return self._this.contains(e)             # <<<<<<<<<<<<<<
 * 
 * 	def inSameSubset(self, index e1, index e2):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.contains(__pyx_v_e);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4559, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4546
 * 		self._this.compact(useTurbo)
 * 
 * 	def contains(self, index e):             # <<<<<<<<<<<<<<
 * 		""" Check if partition assigns a valid subset to the element `e`.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Partition.contains", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4561
 * 		return self._this.contains(e)
 * 
 * 	def inSameSubset(self, index e1, index e2):             # <<<<<<<<<<<<<<
 * 		""" Check if two elements `e1` and `e2` belong to the same subset.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_37inSameSubset(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_36inSameSubset[] = " Check if two elements `e1` and `e2` belong to the same subset.\n\n\t\tParameters\n\t\t----------\n\t\te1 : index\n\t\t\tAn Element.\n\t\te2 : index\n\t\t\tAn Element.\n\n\t\tReturns\n\t\t-------\n\t\tbool\n\t\t\tTrue if `e1` and `e2` belong to same subset, False otherwise.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_37inSameSubset(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_e1;
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_e2;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("inSameSubset (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_e1,&__pyx_n_s_e2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_e1)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_e2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("inSameSubset", 1, 2, 2, 1); __PYX_ERR(0, 4561, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "inSameSubset") < 0)) __PYX_ERR(0, 4561, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_e1 = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_e1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4561, __pyx_L3_error)
    __pyx_v_e2 = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_e2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4561, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("inSameSubset", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4561, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Partition.inSameSubset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_36inSameSubset(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self), __pyx_v_e1, __pyx_v_e2);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_36inSameSubset(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_e1, __pyx_t_9networkit_10_NetworKit_index __pyx_v_e2) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("inSameSubset", 0);

  /* "networkit/_NetworKit.pyx":4576
 * 			True if `e1` and `e2` belong to same subset, False otherwise.
 * 		"""
 * 		return self._this.inSameSubset(e1, e2)             # <<<<<<<<<<<<<<
 * 
 * 	def subsetSizes(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.inSameSubset(__pyx_v_e1, __pyx_v_e2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4576, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4561
 * 		return self._this.contains(e)
 * 
 * 	def inSameSubset(self, index e1, index e2):             # <<<<<<<<<<<<<<
 * 		""" Check if two elements `e1` and `e2` belong to the same subset.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Partition.inSameSubset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4578
 * 		return self._this.inSameSubset(e1, e2)
 * 
 * 	def subsetSizes(self):             # <<<<<<<<<<<<<<
 * 		""" Get a list of subset sizes. Indices do not necessarily correspond to subset ids.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_39subsetSizes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_38subsetSizes[] = " Get a list of subset sizes. Indices do not necessarily correspond to subset ids.\n\n\t \tReturns\n\t \t-------\n\t \tvector\n\t \t\tA vector of subset sizes.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_39subsetSizes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("subsetSizes (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_38subsetSizes(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_38subsetSizes(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("subsetSizes", 0);

  /* "networkit/_NetworKit.pyx":4586
 * 	 		A vector of subset sizes.
 * 		"""
 * 		return self._this.subsetSizes()             # <<<<<<<<<<<<<<
 * 
 * 	def subsetSizeMap(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.subsetSizes();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4586, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_count(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4578
 * 		return self._this.inSameSubset(e1, e2)
 * 
 * 	def subsetSizes(self):             # <<<<<<<<<<<<<<
 * 		""" Get a list of subset sizes. Indices do not necessarily correspond to subset ids.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Partition.subsetSizes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4588
 * 		return self._this.subsetSizes()
 * 
 * 	def subsetSizeMap(self):             # <<<<<<<<<<<<<<
 * 		""" Get a map from subset id to size of the subset.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_41subsetSizeMap(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_40subsetSizeMap[] = " Get a map from subset id to size of the subset.\n\n\t\tReturns\n\t\t-------\n\t\tdict\n\t\t\tA map from subset id to size of the subset.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_41subsetSizeMap(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("subsetSizeMap (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_40subsetSizeMap(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_40subsetSizeMap(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::map<__pyx_t_9networkit_10_NetworKit_index,__pyx_t_9networkit_10_NetworKit_count>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("subsetSizeMap", 0);

  /* "networkit/_NetworKit.pyx":4596
 * 			A map from subset id to size of the subset.
 * 		"""
 * 		return self._this.subsetSizeMap()             # <<<<<<<<<<<<<<
 * 
 * 	def getMembers(self, s):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.subsetSizeMap();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4596, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_index______pyx_t_9networkit_10_NetworKit_count(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4588
 * 		return self._this.subsetSizes()
 * 
 * 	def subsetSizeMap(self):             # <<<<<<<<<<<<<<
 * 		""" Get a map from subset id to size of the subset.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Partition.subsetSizeMap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4598
 * 		return self._this.subsetSizeMap()
 * 
 * 	def getMembers(self, s):             # <<<<<<<<<<<<<<
 * 		""" Get the members of the subset `s`.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_43getMembers(PyObject *__pyx_v_self, PyObject *__pyx_v_s); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_42getMembers[] = " Get the members of the subset `s`.\n\n\t\tParameters\n\t\t----------\n\t\ts : index\n\t\t\tThe subset.\n\n\t\tReturns\n\t\t-------\n\t\tset\n\t\t\tA set containing the members of `s.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_43getMembers(PyObject *__pyx_v_self, PyObject *__pyx_v_s) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getMembers (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_42getMembers(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self), ((PyObject *)__pyx_v_s));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_42getMembers(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, PyObject *__pyx_v_s) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_index __pyx_t_1;
  std::set<__pyx_t_9networkit_10_NetworKit_index>  __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("getMembers", 0);

  /* "networkit/_NetworKit.pyx":4611
 * 			A set containing the members of `s.
 * 		"""
 * 		return self._this.getMembers(s)             # <<<<<<<<<<<<<<
 * 
 * 	def numberOfElements(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_s); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4611, __pyx_L1_error)
  try {
    __pyx_t_2 = __pyx_v_self->_this.getMembers(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4611, __pyx_L1_error)
  }
  __pyx_t_3 = __pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_index(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4611, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4598
 * 		return self._this.subsetSizeMap()
 * 
 * 	def getMembers(self, s):             # <<<<<<<<<<<<<<
 * 		""" Get the members of the subset `s`.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Partition.getMembers", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4613
 * 		return self._this.getMembers(s)
 * 
 * 	def numberOfElements(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_45numberOfElements(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_44numberOfElements[] = "\n\t\tReturns\n\t\t-------\n\t\tcount\n\t\t\tNumber of elements in the partition.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_45numberOfElements(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("numberOfElements (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_44numberOfElements(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_44numberOfElements(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("numberOfElements", 0);

  /* "networkit/_NetworKit.pyx":4620
 * 			Number of elements in the partition.
 * 		"""
 * 		return self._this.numberOfElements()             # <<<<<<<<<<<<<<
 * 
 * 	def numberOfSubsets(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.numberOfElements();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4620, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4613
 * 		return self._this.getMembers(s)
 * 
 * 	def numberOfElements(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Partition.numberOfElements", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4622
 * 		return self._this.numberOfElements()
 * 
 * 	def numberOfSubsets(self):             # <<<<<<<<<<<<<<
 * 		""" Get the current number of sets in this partition.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_47numberOfSubsets(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_46numberOfSubsets[] = " Get the current number of sets in this partition.\n\n\t\tReturns\n\t\t-------\n\t\tcount\n\t\t\tThe current number of sets.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_47numberOfSubsets(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("numberOfSubsets (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_46numberOfSubsets(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_46numberOfSubsets(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("numberOfSubsets", 0);

  /* "networkit/_NetworKit.pyx":4630
 * 			The current number of sets.
 * 		"""
 * 		return self._this.numberOfSubsets()             # <<<<<<<<<<<<<<
 * 
 * 	def getVector(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.numberOfSubsets();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4630, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4622
 * 		return self._this.numberOfElements()
 * 
 * 	def numberOfSubsets(self):             # <<<<<<<<<<<<<<
 * 		""" Get the current number of sets in this partition.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Partition.numberOfSubsets", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4632
 * 		return self._this.numberOfSubsets()
 * 
 * 	def getVector(self):             # <<<<<<<<<<<<<<
 * 		""" Get the actual vector representing the partition data structure.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_49getVector(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_48getVector[] = " Get the actual vector representing the partition data structure.\n\n\t\tReturns\n\t\t-------\n\t\tvector\n\t\t\tVector containing information about partitions.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_49getVector(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getVector (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_48getVector(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_48getVector(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<__pyx_t_9networkit_10_NetworKit_index>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getVector", 0);

  /* "networkit/_NetworKit.pyx":4640
 * 			Vector containing information about partitions.
 * 		"""
 * 		return self._this.getVector()             # <<<<<<<<<<<<<<
 * 
 * 	def setName(self, string name):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.getVector();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4640, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_index(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4632
 * 		return self._this.numberOfSubsets()
 * 
 * 	def getVector(self):             # <<<<<<<<<<<<<<
 * 		""" Get the actual vector representing the partition data structure.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Partition.getVector", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4642
 * 		return self._this.getVector()
 * 
 * 	def setName(self, string name):             # <<<<<<<<<<<<<<
 * 		"""  Set a human-readable identifier `name` for the instance.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_51setName(PyObject *__pyx_v_self, PyObject *__pyx_arg_name); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_50setName[] = "  Set a human-readable identifier `name` for the instance.\n\n\t\tParameters\n\t\t----------\n\t\tname : string\n\t\t\tThe name.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_51setName(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) {
  std::string __pyx_v_name;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setName (wrapper)", 0);
  assert(__pyx_arg_name); {
    __pyx_v_name = __pyx_convert_string_from_py_std__in_string(__pyx_arg_name); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4642, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Partition.setName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_50setName(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self), ((std::string)__pyx_v_name));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_50setName(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, std::string __pyx_v_name) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setName", 0);

  /* "networkit/_NetworKit.pyx":4650
 * 			The name.
 * 		"""
 * 		self._this.setName(name)             # <<<<<<<<<<<<<<
 * 
 * 	def getName(self):
 */
  try {
    __pyx_v_self->_this.setName(__pyx_v_name);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4650, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":4642
 * 		return self._this.getVector()
 * 
 * 	def setName(self, string name):             # <<<<<<<<<<<<<<
 * 		"""  Set a human-readable identifier `name` for the instance.
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Partition.setName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4652
 * 		self._this.setName(name)
 * 
 * 	def getName(self):             # <<<<<<<<<<<<<<
 * 		""" Get the human-readable identifier.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_53getName(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_52getName[] = " Get the human-readable identifier.\n\n\t\tReturns\n\t\t-------\n\t\tstring\n\t\t\tThe name of this partition.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_53getName(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getName (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_52getName(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_52getName(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::string __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getName", 0);

  /* "networkit/_NetworKit.pyx":4660
 * 			The name of this partition.
 * 		"""
 * 		return self._this.getName()             # <<<<<<<<<<<<<<
 * 
 * 	def getSubsetIds(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.getName();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4660, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4660, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4652
 * 		self._this.setName(name)
 * 
 * 	def getName(self):             # <<<<<<<<<<<<<<
 * 		""" Get the human-readable identifier.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Partition.getName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4662
 * 		return self._this.getName()
 * 
 * 	def getSubsetIds(self):             # <<<<<<<<<<<<<<
 * 		""" Get the ids of nonempty subsets.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_55getSubsetIds(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_54getSubsetIds[] = " Get the ids of nonempty subsets.\n\n\t\tReturns\n\t\t-------\n\t\tset\n\t\t\tA set of ids of nonempty subsets.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_55getSubsetIds(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getSubsetIds (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_54getSubsetIds(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_54getSubsetIds(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::set<__pyx_t_9networkit_10_NetworKit_index>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getSubsetIds", 0);

  /* "networkit/_NetworKit.pyx":4670
 * 			A set of ids of nonempty subsets.
 * 		"""
 * 		return self._this.getSubsetIds()             # <<<<<<<<<<<<<<
 * 
 * 	def __eq__(self, Partition other not None):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.getSubsetIds();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4670, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_index(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4670, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4662
 * 		return self._this.getName()
 * 
 * 	def getSubsetIds(self):             # <<<<<<<<<<<<<<
 * 		""" Get the ids of nonempty subsets.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Partition.getSubsetIds", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4672
 * 		return self._this.getSubsetIds()
 * 
 * 	def __eq__(self, Partition other not None):             # <<<<<<<<<<<<<<
 * 		""" Compare self to other partition.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_57__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Partition_56__eq__[] = " Compare self to other partition.\n\n\t\tEquality is independent of the used partition\n\t\tids. This tries to construct a mapping between the\n\t\tpartition ids and returns True if such a mapping can\n\t\tbe constructed.\n\n\t\tParameters\n\t\t----------\n\t\tother : Partition\n\t\t\tThe partition to compare to.\n\n\t\tReturns\n\t\t-------\n\t\tbool\n\t\t\tIf the partitions are equal.\n\t\t";
#if CYTHON_COMPILING_IN_CPYTHON
struct wrapperbase __pyx_wrapperbase_9networkit_10_NetworKit_9Partition_56__eq__;
#endif
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_57__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_other), __pyx_ptype_9networkit_10_NetworKit_Partition, 0, "other", 0))) __PYX_ERR(0, 4672, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_56__eq__(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self), ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_other));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_56__eq__(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_other) {
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_i;
  PyObject *__pyx_v_selfToOther = 0;
  CYTHON_UNUSED __pyx_t_9networkit_10_NetworKit_count __pyx_v_index;
  PyObject *__pyx_v_selfSubset = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "networkit/_NetworKit.pyx":4690
 * 			If the partitions are equal.
 * 		"""
 * 		if self._this.numberOfElements() != other._this.numberOfElements():             # <<<<<<<<<<<<<<
 * 			return False
 * 
 */
  try {
    __pyx_t_1 = __pyx_v_self->_this.numberOfElements();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4690, __pyx_L1_error)
  }
  try {
    __pyx_t_2 = __pyx_v_other->_this.numberOfElements();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4690, __pyx_L1_error)
  }
  __pyx_t_3 = ((__pyx_t_1 != __pyx_t_2) != 0);
  if (__pyx_t_3) {

    /* "networkit/_NetworKit.pyx":4691
 * 		"""
 * 		if self._this.numberOfElements() != other._this.numberOfElements():
 * 			return False             # <<<<<<<<<<<<<<
 * 
 * 		cdef index i = 0
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_False);
    __pyx_r = Py_False;
    goto __pyx_L0;

    /* "networkit/_NetworKit.pyx":4690
 * 			If the partitions are equal.
 * 		"""
 * 		if self._this.numberOfElements() != other._this.numberOfElements():             # <<<<<<<<<<<<<<
 * 			return False
 * 
 */
  }

  /* "networkit/_NetworKit.pyx":4693
 * 			return False
 * 
 * 		cdef index i = 0             # <<<<<<<<<<<<<<
 * 		cdef dict selfToOther = dict()
 * 		for index in range(self._this.numberOfElements()):
 */
  __pyx_v_i = 0;

  /* "networkit/_NetworKit.pyx":4694
 * 
 * 		cdef index i = 0
 * 		cdef dict selfToOther = dict()             # <<<<<<<<<<<<<<
 * 		for index in range(self._this.numberOfElements()):
 * 			selfSubset = self[i]
 */
  __pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4694, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_selfToOther = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "networkit/_NetworKit.pyx":4695
 * 		cdef index i = 0
 * 		cdef dict selfToOther = dict()
 * 		for index in range(self._this.numberOfElements()):             # <<<<<<<<<<<<<<
 * 			selfSubset = self[i]
 * 			if selfSubset in selfToOther:
 */
  try {
    __pyx_t_2 = __pyx_v_self->_this.numberOfElements();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4695, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_t_2;
  for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_1; __pyx_t_5+=1) {
    __pyx_v_index = __pyx_t_5;

    /* "networkit/_NetworKit.pyx":4696
 * 		cdef dict selfToOther = dict()
 * 		for index in range(self._this.numberOfElements()):
 * 			selfSubset = self[i]             # <<<<<<<<<<<<<<
 * 			if selfSubset in selfToOther:
 * 				if selfToOther[selfSubset] != other[i]:
 */
    __pyx_t_4 = __Pyx_GetItemInt(((PyObject *)__pyx_v_self), __pyx_v_i, __pyx_t_9networkit_10_NetworKit_index, 0, __Pyx_PyInt_From_uint64_t, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4696, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XDECREF_SET(__pyx_v_selfSubset, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "networkit/_NetworKit.pyx":4697
 * 		for index in range(self._this.numberOfElements()):
 * 			selfSubset = self[i]
 * 			if selfSubset in selfToOther:             # <<<<<<<<<<<<<<
 * 				if selfToOther[selfSubset] != other[i]:
 * 					return False
 */
    __pyx_t_3 = (__Pyx_PyDict_ContainsTF(__pyx_v_selfSubset, __pyx_v_selfToOther, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 4697, __pyx_L1_error)
    __pyx_t_6 = (__pyx_t_3 != 0);
    if (__pyx_t_6) {

      /* "networkit/_NetworKit.pyx":4698
 * 			selfSubset = self[i]
 * 			if selfSubset in selfToOther:
 * 				if selfToOther[selfSubset] != other[i]:             # <<<<<<<<<<<<<<
 * 					return False
 * 			else:
 */
      __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_selfToOther, __pyx_v_selfSubset); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4698, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_7 = __Pyx_GetItemInt(((PyObject *)__pyx_v_other), __pyx_v_i, __pyx_t_9networkit_10_NetworKit_index, 0, __Pyx_PyInt_From_uint64_t, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4698, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = PyObject_RichCompare(__pyx_t_4, __pyx_t_7, Py_NE); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4698, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 4698, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (__pyx_t_6) {

        /* "networkit/_NetworKit.pyx":4699
 * 			if selfSubset in selfToOther:
 * 				if selfToOther[selfSubset] != other[i]:
 * 					return False             # <<<<<<<<<<<<<<
 * 			else:
 * 				selfToOther[selfSubset] = other[i]
 */
        __Pyx_XDECREF(__pyx_r);
        __Pyx_INCREF(Py_False);
        __pyx_r = Py_False;
        goto __pyx_L0;

        /* "networkit/_NetworKit.pyx":4698
 * 			selfSubset = self[i]
 * 			if selfSubset in selfToOther:
 * 				if selfToOther[selfSubset] != other[i]:             # <<<<<<<<<<<<<<
 * 					return False
 * 			else:
 */
      }

      /* "networkit/_NetworKit.pyx":4697
 * 		for index in range(self._this.numberOfElements()):
 * 			selfSubset = self[i]
 * 			if selfSubset in selfToOther:             # <<<<<<<<<<<<<<
 * 				if selfToOther[selfSubset] != other[i]:
 * 					return False
 */
      goto __pyx_L6;
    }

    /* "networkit/_NetworKit.pyx":4701
 * 					return False
 * 			else:
 * 				selfToOther[selfSubset] = other[i]             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */
    /*else*/ {
      __pyx_t_8 = __Pyx_GetItemInt(((PyObject *)__pyx_v_other), __pyx_v_i, __pyx_t_9networkit_10_NetworKit_index, 0, __Pyx_PyInt_From_uint64_t, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4701, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      if (unlikely(PyDict_SetItem(__pyx_v_selfToOther, __pyx_v_selfSubset, __pyx_t_8) < 0)) __PYX_ERR(0, 4701, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __pyx_L6:;
  }

  /* "networkit/_NetworKit.pyx":4702
 * 			else:
 * 				selfToOther[selfSubset] = other[i]
 * 		return True             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/structures/Cover.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(Py_True);
  __pyx_r = Py_True;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4672
 * 		return self._this.getSubsetIds()
 * 
 * 	def __eq__(self, Partition other not None):             # <<<<<<<<<<<<<<
 * 		""" Compare self to other partition.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("networkit._NetworKit.Partition.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_selfToOther);
  __Pyx_XDECREF(__pyx_v_selfSubset);
  __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_9networkit_10_NetworKit_9Partition_59__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_59__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_58__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_58__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__164, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Partition.__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_9networkit_10_NetworKit_9Partition_61__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Partition_61__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Partition_60__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Partition_60__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__165, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Partition.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4740
 * 	cdef _Cover _this
 * 
 * 	def __cinit__(self, n=0):             # <<<<<<<<<<<<<<
 * 		if isinstance(n, Partition):
 * 			self._this = move(_Cover((<Partition>n)._this))
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_5Cover_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_5Cover_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_n = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,0};
    PyObject* values[1] = {0};
    values[0] = ((PyObject *)__pyx_int_0);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 4740, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_n = values[0];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4740, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Cover.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Cover___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_v_self), __pyx_v_n);

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

static int __pyx_pf_9networkit_10_NetworKit_5Cover___cinit__(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self, PyObject *__pyx_v_n) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  NetworKit::Cover __pyx_t_3;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_4;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":4741
 * 
 * 	def __cinit__(self, n=0):
 * 		if isinstance(n, Partition):             # <<<<<<<<<<<<<<
 * 			self._this = move(_Cover((<Partition>n)._this))
 * 		else:
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_n, __pyx_ptype_9networkit_10_NetworKit_Partition); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":4742
 * 	def __cinit__(self, n=0):
 * 		if isinstance(n, Partition):
 * 			self._this = move(_Cover((<Partition>n)._this))             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._this = move(_Cover(<count?>n))
 */
    try {
      __pyx_t_3 = NetworKit::Cover(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_n)->_this);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 4742, __pyx_L1_error)
    }
    __pyx_v_self->_this = std::move(__pyx_t_3);

    /* "networkit/_NetworKit.pyx":4741
 * 
 * 	def __cinit__(self, n=0):
 * 		if isinstance(n, Partition):             # <<<<<<<<<<<<<<
 * 			self._this = move(_Cover((<Partition>n)._this))
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":4744
 * 			self._this = move(_Cover((<Partition>n)._this))
 * 		else:
 * 			self._this = move(_Cover(<count?>n))             # <<<<<<<<<<<<<<
 * 
 * 	cdef setThis(self, _Cover& other):
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyInt_As_uint64_t(__pyx_v_n); if (unlikely((__pyx_t_4 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4744, __pyx_L1_error)
    try {
      __pyx_t_3 = NetworKit::Cover(((__pyx_t_9networkit_10_NetworKit_count)__pyx_t_4));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 4744, __pyx_L1_error)
    }
    __pyx_v_self->_this = std::move(__pyx_t_3);
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":4740
 * 	cdef _Cover _this
 * 
 * 	def __cinit__(self, n=0):             # <<<<<<<<<<<<<<
 * 		if isinstance(n, Partition):
 * 			self._this = move(_Cover((<Partition>n)._this))
 */

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

/* "networkit/_NetworKit.pyx":4746
 * 			self._this = move(_Cover(<count?>n))
 * 
 * 	cdef setThis(self, _Cover& other):             # <<<<<<<<<<<<<<
 * 		swap[_Cover](self._this, other)
 * 		return self
 */

static PyObject *__pyx_f_9networkit_10_NetworKit_5Cover_setThis(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self, NetworKit::Cover &__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setThis", 0);

  /* "networkit/_NetworKit.pyx":4747
 * 
 * 	cdef setThis(self, _Cover& other):
 * 		swap[_Cover](self._this, other)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
  std::swap<NetworKit::Cover>(__pyx_v_self->_this, __pyx_v_other);

  /* "networkit/_NetworKit.pyx":4748
 * 	cdef setThis(self, _Cover& other):
 * 		swap[_Cover](self._this, other)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def subsetsOf(self, e):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4746
 * 			self._this = move(_Cover(<count?>n))
 * 
 * 	cdef setThis(self, _Cover& other):             # <<<<<<<<<<<<<<
 * 		swap[_Cover](self._this, other)
 * 		return self
 */

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

/* "networkit/_NetworKit.pyx":4750
 * 		return self
 * 
 * 	def subsetsOf(self, e):             # <<<<<<<<<<<<<<
 * 		""" Get the ids of subsets in which the element `e` is contained.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_3subsetsOf(PyObject *__pyx_v_self, PyObject *__pyx_v_e); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Cover_2subsetsOf[] = " Get the ids of subsets in which the element `e` is contained.\n\n\t\tParameters\n\t\t----------\n\t\te : index\n\t\t\tAn element\n\n\t\tReturns\n\t\t-------\n\t\tset\n\t\t\tA set of subset ids in which `e` \tis contained.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_3subsetsOf(PyObject *__pyx_v_self, PyObject *__pyx_v_e) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("subsetsOf (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Cover_2subsetsOf(((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_v_self), ((PyObject *)__pyx_v_e));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_2subsetsOf(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self, PyObject *__pyx_v_e) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_index __pyx_t_1;
  std::set<__pyx_t_9networkit_10_NetworKit_index>  __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("subsetsOf", 0);

  /* "networkit/_NetworKit.pyx":4763
 * 			A set of subset ids in which `e` 	is contained.
 * 		"""
 * 		return self._this.subsetsOf(e)             # <<<<<<<<<<<<<<
 * 
 * 	def extend(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_e); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4763, __pyx_L1_error)
  try {
    __pyx_t_2 = __pyx_v_self->_this.subsetsOf(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4763, __pyx_L1_error)
  }
  __pyx_t_3 = __pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_index(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4763, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4750
 * 		return self
 * 
 * 	def subsetsOf(self, e):             # <<<<<<<<<<<<<<
 * 		""" Get the ids of subsets in which the element `e` is contained.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Cover.subsetsOf", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4765
 * 		return self._this.subsetsOf(e)
 * 
 * 	def extend(self):             # <<<<<<<<<<<<<<
 * 		return self._this.extend()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_5extend(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_5extend(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("extend (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Cover_4extend(((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_4extend(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_index __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("extend", 0);

  /* "networkit/_NetworKit.pyx":4766
 * 
 * 	def extend(self):
 * 		return self._this.extend()             # <<<<<<<<<<<<<<
 * 
 * 	def addToSubset(self, s, e):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.extend();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4766, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4766, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4765
 * 		return self._this.subsetsOf(e)
 * 
 * 	def extend(self):             # <<<<<<<<<<<<<<
 * 		return self._this.extend()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Cover.extend", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4768
 * 		return self._this.extend()
 * 
 * 	def addToSubset(self, s, e):             # <<<<<<<<<<<<<<
 * 		""" Add the (previously unassigned) element `e` to the set `s`.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_7addToSubset(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Cover_6addToSubset[] = " Add the (previously unassigned) element `e` to the set `s`.\n\n\t\tParameters\n\t\t----------\n\t\ts : index\n\t\t\tA subset\n\t\te : index\n\t\t\tAn element\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_7addToSubset(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_s = 0;
  PyObject *__pyx_v_e = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addToSubset (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_s,&__pyx_n_s_e,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_s)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_e)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("addToSubset", 1, 2, 2, 1); __PYX_ERR(0, 4768, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "addToSubset") < 0)) __PYX_ERR(0, 4768, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_s = values[0];
    __pyx_v_e = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addToSubset", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4768, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Cover.addToSubset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Cover_6addToSubset(((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_v_self), __pyx_v_s, __pyx_v_e);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_6addToSubset(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self, PyObject *__pyx_v_s, PyObject *__pyx_v_e) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_index __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_index __pyx_t_2;
  __Pyx_RefNannySetupContext("addToSubset", 0);

  /* "networkit/_NetworKit.pyx":4778
 * 			An element
 * 		"""
 * 		self._this.addToSubset(s, e)             # <<<<<<<<<<<<<<
 * 
 * 	def removeFromSubset(self, s, e):
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_s); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4778, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_e); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4778, __pyx_L1_error)
  try {
    __pyx_v_self->_this.addToSubset(__pyx_t_1, __pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4778, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":4768
 * 		return self._this.extend()
 * 
 * 	def addToSubset(self, s, e):             # <<<<<<<<<<<<<<
 * 		""" Add the (previously unassigned) element `e` to the set `s`.
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Cover.addToSubset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4780
 * 		self._this.addToSubset(s, e)
 * 
 * 	def removeFromSubset(self, s, e):             # <<<<<<<<<<<<<<
 * 		""" Remove the element `e` from the set `s`.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_9removeFromSubset(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Cover_8removeFromSubset[] = " Remove the element `e` from the set `s`.\n\n\t\tParameters\n\t\t----------\n\t\ts : index\n\t\t\tA subset\n\t\te : index\n\t\t\tAn element\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_9removeFromSubset(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_s = 0;
  PyObject *__pyx_v_e = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("removeFromSubset (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_s,&__pyx_n_s_e,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_s)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_e)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("removeFromSubset", 1, 2, 2, 1); __PYX_ERR(0, 4780, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "removeFromSubset") < 0)) __PYX_ERR(0, 4780, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_s = values[0];
    __pyx_v_e = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("removeFromSubset", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4780, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Cover.removeFromSubset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Cover_8removeFromSubset(((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_v_self), __pyx_v_s, __pyx_v_e);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_8removeFromSubset(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self, PyObject *__pyx_v_s, PyObject *__pyx_v_e) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_index __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_index __pyx_t_2;
  __Pyx_RefNannySetupContext("removeFromSubset", 0);

  /* "networkit/_NetworKit.pyx":4790
 * 			An element
 * 		"""
 * 		self._this.removeFromSubset(s, e)             # <<<<<<<<<<<<<<
 * 
 * 	def moveToSubset(self, index s, index e):
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_s); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4790, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_e); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4790, __pyx_L1_error)
  try {
    __pyx_v_self->_this.removeFromSubset(__pyx_t_1, __pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4790, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":4780
 * 		self._this.addToSubset(s, e)
 * 
 * 	def removeFromSubset(self, s, e):             # <<<<<<<<<<<<<<
 * 		""" Remove the element `e` from the set `s`.
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Cover.removeFromSubset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4792
 * 		self._this.removeFromSubset(s, e)
 * 
 * 	def moveToSubset(self, index s, index e):             # <<<<<<<<<<<<<<
 * 		""" Move the element `e` to subset `s`, i.e. remove it from all other subsets and place it in the subset.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_11moveToSubset(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Cover_10moveToSubset[] = " Move the element `e` to subset `s`, i.e. remove it from all other subsets and place it in the subset.\n\n\t\tParameters\n\t\t----------\n\t\ts : index\n\t\t\tA subset\n\t\te : index\n\t\t\tAn element\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_11moveToSubset(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_s;
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_e;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("moveToSubset (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_s,&__pyx_n_s_e,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_s)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_e)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("moveToSubset", 1, 2, 2, 1); __PYX_ERR(0, 4792, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "moveToSubset") < 0)) __PYX_ERR(0, 4792, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_s = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_s == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4792, __pyx_L3_error)
    __pyx_v_e = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_e == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4792, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("moveToSubset", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4792, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Cover.moveToSubset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Cover_10moveToSubset(((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_v_self), __pyx_v_s, __pyx_v_e);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_10moveToSubset(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_s, __pyx_t_9networkit_10_NetworKit_index __pyx_v_e) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("moveToSubset", 0);

  /* "networkit/_NetworKit.pyx":4802
 * 			An element
 * 		"""
 * 		self._this.moveToSubset(s, e)             # <<<<<<<<<<<<<<
 * 
 * 	def toSingleton(self, index e):
 */
  try {
    __pyx_v_self->_this.moveToSubset(__pyx_v_s, __pyx_v_e);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4802, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":4792
 * 		self._this.removeFromSubset(s, e)
 * 
 * 	def moveToSubset(self, index s, index e):             # <<<<<<<<<<<<<<
 * 		""" Move the element `e` to subset `s`, i.e. remove it from all other subsets and place it in the subset.
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Cover.moveToSubset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4804
 * 		self._this.moveToSubset(s, e)
 * 
 * 	def toSingleton(self, index e):             # <<<<<<<<<<<<<<
 * 		""" Creates a singleton set containing the element `e` and returns the index of the new set.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_13toSingleton(PyObject *__pyx_v_self, PyObject *__pyx_arg_e); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Cover_12toSingleton[] = " Creates a singleton set containing the element `e` and returns the index of the new set.\n\n\t\tParameters\n\t\t----------\n\t\te : index\n\t\t\tAn element\n\n\t\tReturns\n\t\t-------\n\t\tindex\n\t\t\tThe index of the new set.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_13toSingleton(PyObject *__pyx_v_self, PyObject *__pyx_arg_e) {
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_e;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("toSingleton (wrapper)", 0);
  assert(__pyx_arg_e); {
    __pyx_v_e = __Pyx_PyInt_As_uint64_t(__pyx_arg_e); if (unlikely((__pyx_v_e == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4804, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Cover.toSingleton", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Cover_12toSingleton(((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_v_self), ((__pyx_t_9networkit_10_NetworKit_index)__pyx_v_e));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_12toSingleton(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_e) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("toSingleton", 0);

  /* "networkit/_NetworKit.pyx":4817
 * 			The index of the new set.
 * 		"""
 * 		self._this.toSingleton(e)             # <<<<<<<<<<<<<<
 * 
 * 	def allToSingletons(self):
 */
  try {
    __pyx_v_self->_this.toSingleton(__pyx_v_e);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4817, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":4804
 * 		self._this.moveToSubset(s, e)
 * 
 * 	def toSingleton(self, index e):             # <<<<<<<<<<<<<<
 * 		""" Creates a singleton set containing the element `e` and returns the index of the new set.
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Cover.toSingleton", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4819
 * 		self._this.toSingleton(e)
 * 
 * 	def allToSingletons(self):             # <<<<<<<<<<<<<<
 * 		""" Assigns every element to a singleton set. Set id is equal to element id. """
 * 		self._this.allToSingletons()
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_15allToSingletons(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Cover_14allToSingletons[] = " Assigns every element to a singleton set. Set id is equal to element id. ";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_15allToSingletons(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("allToSingletons (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Cover_14allToSingletons(((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_14allToSingletons(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("allToSingletons", 0);

  /* "networkit/_NetworKit.pyx":4821
 * 	def allToSingletons(self):
 * 		""" Assigns every element to a singleton set. Set id is equal to element id. """
 * 		self._this.allToSingletons()             # <<<<<<<<<<<<<<
 * 
 * 	def mergeSubsets(self, index s, index t):
 */
  try {
    __pyx_v_self->_this.allToSingletons();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4821, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":4819
 * 		self._this.toSingleton(e)
 * 
 * 	def allToSingletons(self):             # <<<<<<<<<<<<<<
 * 		""" Assigns every element to a singleton set. Set id is equal to element id. """
 * 		self._this.allToSingletons()
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Cover.allToSingletons", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4823
 * 		self._this.allToSingletons()
 * 
 * 	def mergeSubsets(self, index s, index t):             # <<<<<<<<<<<<<<
 * 		""" Assigns the elements from both sets to a new set.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_17mergeSubsets(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Cover_16mergeSubsets[] = " Assigns the elements from both sets to a new set.\n\n\t\tParameters\n\t\t----------\n\t\ts : index\n\t\t\tA subset\n\t\tt : index\n\t\t\tA subset\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_17mergeSubsets(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_s;
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_t;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("mergeSubsets (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_s,&__pyx_n_s_t,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_s)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_t)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("mergeSubsets", 1, 2, 2, 1); __PYX_ERR(0, 4823, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "mergeSubsets") < 0)) __PYX_ERR(0, 4823, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_s = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_s == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4823, __pyx_L3_error)
    __pyx_v_t = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_t == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4823, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("mergeSubsets", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4823, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Cover.mergeSubsets", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Cover_16mergeSubsets(((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_v_self), __pyx_v_s, __pyx_v_t);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_16mergeSubsets(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_s, __pyx_t_9networkit_10_NetworKit_index __pyx_v_t) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("mergeSubsets", 0);

  /* "networkit/_NetworKit.pyx":4833
 * 			A subset
 * 		"""
 * 		self._this.mergeSubsets(s, t)             # <<<<<<<<<<<<<<
 * 
 * 	def setUpperBound(self, index upper):
 */
  try {
    __pyx_v_self->_this.mergeSubsets(__pyx_v_s, __pyx_v_t);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4833, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":4823
 * 		self._this.allToSingletons()
 * 
 * 	def mergeSubsets(self, index s, index t):             # <<<<<<<<<<<<<<
 * 		""" Assigns the elements from both sets to a new set.
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Cover.mergeSubsets", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4835
 * 		self._this.mergeSubsets(s, t)
 * 
 * 	def setUpperBound(self, index upper):             # <<<<<<<<<<<<<<
 * 		self._this.setUpperBound(upper)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_19setUpperBound(PyObject *__pyx_v_self, PyObject *__pyx_arg_upper); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_19setUpperBound(PyObject *__pyx_v_self, PyObject *__pyx_arg_upper) {
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_upper;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setUpperBound (wrapper)", 0);
  assert(__pyx_arg_upper); {
    __pyx_v_upper = __Pyx_PyInt_As_uint64_t(__pyx_arg_upper); if (unlikely((__pyx_v_upper == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4835, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Cover.setUpperBound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Cover_18setUpperBound(((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_v_self), ((__pyx_t_9networkit_10_NetworKit_index)__pyx_v_upper));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_18setUpperBound(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_upper) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setUpperBound", 0);

  /* "networkit/_NetworKit.pyx":4836
 * 
 * 	def setUpperBound(self, index upper):
 * 		self._this.setUpperBound(upper)             # <<<<<<<<<<<<<<
 * 
 * 	def upperBound(self):
 */
  try {
    __pyx_v_self->_this.setUpperBound(__pyx_v_upper);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4836, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":4835
 * 		self._this.mergeSubsets(s, t)
 * 
 * 	def setUpperBound(self, index upper):             # <<<<<<<<<<<<<<
 * 		self._this.setUpperBound(upper)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Cover.setUpperBound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4838
 * 		self._this.setUpperBound(upper)
 * 
 * 	def upperBound(self):             # <<<<<<<<<<<<<<
 * 		""" Get an upper bound for the subset ids that have been assigned.
 * 	   	(This is the maximum id + 1.)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_21upperBound(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Cover_20upperBound[] = " Get an upper bound for the subset ids that have been assigned.\n\t   \t(This is the maximum id + 1.)\n\n\t   \tReturns\n\t   \t-------\n\t   \tindex\n\t   \t\tAn upper bound.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_21upperBound(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("upperBound (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Cover_20upperBound(((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_20upperBound(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_index __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("upperBound", 0);

  /* "networkit/_NetworKit.pyx":4847
 * 	   		An upper bound.
 * 		"""
 * 		return self._this.upperBound()             # <<<<<<<<<<<<<<
 * 
 * 	def lowerBound(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.upperBound();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4847, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4847, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4838
 * 		self._this.setUpperBound(upper)
 * 
 * 	def upperBound(self):             # <<<<<<<<<<<<<<
 * 		""" Get an upper bound for the subset ids that have been assigned.
 * 	   	(This is the maximum id + 1.)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Cover.upperBound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4849
 * 		return self._this.upperBound()
 * 
 * 	def lowerBound(self):             # <<<<<<<<<<<<<<
 * 		""" Get a lower bound for the subset ids that have been assigned.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_23lowerBound(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Cover_22lowerBound[] = " Get a lower bound for the subset ids that have been assigned.\n\n\t\tReturns\n\t\t-------\n\t\tindex\n\t\t\tA lower bound.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_23lowerBound(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("lowerBound (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Cover_22lowerBound(((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_22lowerBound(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_index __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("lowerBound", 0);

  /* "networkit/_NetworKit.pyx":4857
 * 			A lower bound.
 * 		"""
 * 		return self._this.lowerBound()             # <<<<<<<<<<<<<<
 * 
 * #	def compact(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.lowerBound();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4857, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4857, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4849
 * 		return self._this.upperBound()
 * 
 * 	def lowerBound(self):             # <<<<<<<<<<<<<<
 * 		""" Get a lower bound for the subset ids that have been assigned.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Cover.lowerBound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4862
 * #		self._this.compact()
 * 
 * 	def contains(self, index e):             # <<<<<<<<<<<<<<
 * 		"""  Check if cover assigns a valid subset to the element `e`.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_25contains(PyObject *__pyx_v_self, PyObject *__pyx_arg_e); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Cover_24contains[] = "  Check if cover assigns a valid subset to the element `e`.\n\n\t\tParameters\n\t\t----------\n\t\te : index\n\t\t\tAn element.\n\n\t\tReturns\n\t\t-------\n\t\tbool\n\t\t\tTrue, if `e` is assigned to a valid subset, False otherwise.\n\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_25contains(PyObject *__pyx_v_self, PyObject *__pyx_arg_e) {
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_e;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("contains (wrapper)", 0);
  assert(__pyx_arg_e); {
    __pyx_v_e = __Pyx_PyInt_As_uint64_t(__pyx_arg_e); if (unlikely((__pyx_v_e == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4862, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Cover.contains", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Cover_24contains(((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_v_self), ((__pyx_t_9networkit_10_NetworKit_index)__pyx_v_e));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_24contains(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_e) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("contains", 0);

  /* "networkit/_NetworKit.pyx":4876
 * 
 * 		"""
 * 		return self._this.contains(e)             # <<<<<<<<<<<<<<
 * 
 * 	def inSameSubset(self, index e1, index e2):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.contains(__pyx_v_e);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4876, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4862
 * #		self._this.compact()
 * 
 * 	def contains(self, index e):             # <<<<<<<<<<<<<<
 * 		"""  Check if cover assigns a valid subset to the element `e`.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Cover.contains", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4878
 * 		return self._this.contains(e)
 * 
 * 	def inSameSubset(self, index e1, index e2):             # <<<<<<<<<<<<<<
 * 		"""  Check if two elements `e1` and `e2` belong to the same subset.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_27inSameSubset(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Cover_26inSameSubset[] = "  Check if two elements `e1` and `e2` belong to the same subset.\n\n\t \tParameters\n\t \t----------\n\t \te1 : index\n\t\t\tAn element.\n\t\te2 : index\n\t\t\tAn element.\n\n\t\tReturns\n\t\t-------\n\t\tbool\n\t\t\tTrue, if `e1` and `e2` belong to the same subset, False otherwise.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_27inSameSubset(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_e1;
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_e2;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("inSameSubset (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_e1,&__pyx_n_s_e2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_e1)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_e2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("inSameSubset", 1, 2, 2, 1); __PYX_ERR(0, 4878, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "inSameSubset") < 0)) __PYX_ERR(0, 4878, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_e1 = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_e1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4878, __pyx_L3_error)
    __pyx_v_e2 = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_e2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4878, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("inSameSubset", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4878, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Cover.inSameSubset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Cover_26inSameSubset(((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_v_self), __pyx_v_e1, __pyx_v_e2);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_26inSameSubset(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_e1, __pyx_t_9networkit_10_NetworKit_index __pyx_v_e2) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("inSameSubset", 0);

  /* "networkit/_NetworKit.pyx":4893
 * 			True, if `e1` and `e2` belong to the same subset, False otherwise.
 * 		"""
 * 		return self._this.inSameSubset(e1, e2)             # <<<<<<<<<<<<<<
 * 
 * 	def subsetSizes(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.inSameSubset(__pyx_v_e1, __pyx_v_e2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4893, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4878
 * 		return self._this.contains(e)
 * 
 * 	def inSameSubset(self, index e1, index e2):             # <<<<<<<<<<<<<<
 * 		"""  Check if two elements `e1` and `e2` belong to the same subset.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Cover.inSameSubset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4895
 * 		return self._this.inSameSubset(e1, e2)
 * 
 * 	def subsetSizes(self):             # <<<<<<<<<<<<<<
 * 		""" Get a list of subset sizes.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_29subsetSizes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Cover_28subsetSizes[] = " Get a list of subset sizes.\n\n\t\tReturns\n\t\t-------\n\t\tlist\n\t\t\tA list of subset sizes.\n\n\t\tNotes\n\t\t-----\n\t\tIndices do not necessarily correspond to subset ids.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_29subsetSizes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("subsetSizes (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Cover_28subsetSizes(((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_28subsetSizes(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("subsetSizes", 0);

  /* "networkit/_NetworKit.pyx":4907
 * 		Indices do not necessarily correspond to subset ids.
 * 		"""
 * 		return self._this.subsetSizes()             # <<<<<<<<<<<<<<
 * 
 * 	def subsetSizeMap(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.subsetSizes();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4907, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_count(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4895
 * 		return self._this.inSameSubset(e1, e2)
 * 
 * 	def subsetSizes(self):             # <<<<<<<<<<<<<<
 * 		""" Get a list of subset sizes.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Cover.subsetSizes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4909
 * 		return self._this.subsetSizes()
 * 
 * 	def subsetSizeMap(self):             # <<<<<<<<<<<<<<
 * 		""" Get a map from subset id to size of the subset.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_31subsetSizeMap(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Cover_30subsetSizeMap[] = " Get a map from subset id to size of the subset.\n\n\t \tReturns\n\t \t-------\n\t \tdict\n\t \t\tA map from subset id to size of the subset.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_31subsetSizeMap(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("subsetSizeMap (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Cover_30subsetSizeMap(((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_30subsetSizeMap(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::map<__pyx_t_9networkit_10_NetworKit_index,__pyx_t_9networkit_10_NetworKit_count>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("subsetSizeMap", 0);

  /* "networkit/_NetworKit.pyx":4917
 * 	 		A map from subset id to size of the subset.
 * 		"""
 * 		return self._this.subsetSizeMap()             # <<<<<<<<<<<<<<
 * 
 * 	def getMembers(self, s):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.subsetSizeMap();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4917, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_index______pyx_t_9networkit_10_NetworKit_count(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4909
 * 		return self._this.subsetSizes()
 * 
 * 	def subsetSizeMap(self):             # <<<<<<<<<<<<<<
 * 		""" Get a map from subset id to size of the subset.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Cover.subsetSizeMap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4919
 * 		return self._this.subsetSizeMap()
 * 
 * 	def getMembers(self, s):             # <<<<<<<<<<<<<<
 * 		""" Get the members of a specific subset `s`.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_33getMembers(PyObject *__pyx_v_self, PyObject *__pyx_v_s); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Cover_32getMembers[] = " Get the members of a specific subset `s`.\n\n\t\tReturns\n\t\t-------\n\t\tset\n\t\t\tThe set of members of subset `s`.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_33getMembers(PyObject *__pyx_v_self, PyObject *__pyx_v_s) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getMembers (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Cover_32getMembers(((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_v_self), ((PyObject *)__pyx_v_s));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_32getMembers(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self, PyObject *__pyx_v_s) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_index __pyx_t_1;
  std::set<__pyx_t_9networkit_10_NetworKit_index>  __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("getMembers", 0);

  /* "networkit/_NetworKit.pyx":4927
 * 			The set of members of subset `s`.
 * 		"""
 * 		return self._this.getMembers(s)             # <<<<<<<<<<<<<<
 * 
 * 	def numberOfElements(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_s); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 4927, __pyx_L1_error)
  try {
    __pyx_t_2 = __pyx_v_self->_this.getMembers(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4927, __pyx_L1_error)
  }
  __pyx_t_3 = __pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_index(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4927, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4919
 * 		return self._this.subsetSizeMap()
 * 
 * 	def getMembers(self, s):             # <<<<<<<<<<<<<<
 * 		""" Get the members of a specific subset `s`.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Cover.getMembers", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4929
 * 		return self._this.getMembers(s)
 * 
 * 	def numberOfElements(self):             # <<<<<<<<<<<<<<
 * 		""" Get the current number of elements in this cover.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_35numberOfElements(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Cover_34numberOfElements[] = " Get the current number of elements in this cover.\n\n\t\tReturns\n\t\t-------\n\t\tcount\n\t\t\tThe current number of elements.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_35numberOfElements(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("numberOfElements (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Cover_34numberOfElements(((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_34numberOfElements(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("numberOfElements", 0);

  /* "networkit/_NetworKit.pyx":4937
 * 			The current number of elements.
 * 		"""
 * 		return self._this.numberOfElements()             # <<<<<<<<<<<<<<
 * 
 * 	def numberOfSubsets(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.numberOfElements();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4937, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4929
 * 		return self._this.getMembers(s)
 * 
 * 	def numberOfElements(self):             # <<<<<<<<<<<<<<
 * 		""" Get the current number of elements in this cover.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Cover.numberOfElements", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4939
 * 		return self._this.numberOfElements()
 * 
 * 	def numberOfSubsets(self):             # <<<<<<<<<<<<<<
 * 		"""  Get the current number of sets in this cover.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_37numberOfSubsets(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Cover_36numberOfSubsets[] = "  Get the current number of sets in this cover.\n\n\t\tReturns\n\t\t-------\n\t\tcount\n\t\t\tThe number of sets in this cover.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_37numberOfSubsets(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("numberOfSubsets (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Cover_36numberOfSubsets(((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_36numberOfSubsets(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("numberOfSubsets", 0);

  /* "networkit/_NetworKit.pyx":4947
 * 			The number of sets in this cover.
 * 		"""
 * 		return self._this.numberOfSubsets()             # <<<<<<<<<<<<<<
 * 
 * #	def getVector(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.numberOfSubsets();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4947, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4947, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4939
 * 		return self._this.numberOfElements()
 * 
 * 	def numberOfSubsets(self):             # <<<<<<<<<<<<<<
 * 		"""  Get the current number of sets in this cover.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Cover.numberOfSubsets", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4958
 * #		return self._this.getName()
 * 
 * 	def getSubsetIds(self):             # <<<<<<<<<<<<<<
 * 		""" Get the ids of nonempty subsets.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_39getSubsetIds(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_5Cover_38getSubsetIds[] = " Get the ids of nonempty subsets.\n\n\t\tReturns\n\t\t-------\n\t\tset\n\t\t\tA set of ids of nonempty subsets.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_39getSubsetIds(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getSubsetIds (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Cover_38getSubsetIds(((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_38getSubsetIds(struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::set<__pyx_t_9networkit_10_NetworKit_index>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getSubsetIds", 0);

  /* "networkit/_NetworKit.pyx":4966
 * 			A set of ids of nonempty subsets.
 * 		"""
 * 		return self._this.getSubsetIds()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.getSubsetIds();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 4966, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_index(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4966, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":4958
 * #		return self._this.getName()
 * 
 * 	def getSubsetIds(self):             # <<<<<<<<<<<<<<
 * 		""" Get the ids of nonempty subsets.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Cover.getSubsetIds", __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_9networkit_10_NetworKit_5Cover_41__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_41__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Cover_40__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_40__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__166, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Cover.__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_9networkit_10_NetworKit_5Cover_43__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_5Cover_43__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_5Cover_42__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_5Cover_42__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__167, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Cover.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":4989
 * 	""" Generators for various clusterings """
 * 	cdef _ClusteringGenerator _this
 * 	def makeSingletonClustering(self, Graph G):             # <<<<<<<<<<<<<<
 * 		"""  Generate a clustering where each node has its own cluster
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ClusteringGenerator_1makeSingletonClustering(PyObject *__pyx_v_self, PyObject *__pyx_v_G); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_19ClusteringGenerator_makeSingletonClustering[] = "  Generate a clustering where each node has its own cluster\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe graph for which the clustering shall be generated\n\n\t\tReturns\n\t\t-------\n\t\tnetworkit.Partition\n\t\t\tThe generated partition\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ClusteringGenerator_1makeSingletonClustering(PyObject *__pyx_v_self, PyObject *__pyx_v_G) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("makeSingletonClustering (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 4989, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19ClusteringGenerator_makeSingletonClustering(((struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator *)__pyx_v_self), ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_G));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19ClusteringGenerator_makeSingletonClustering(struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Partition __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("makeSingletonClustering", 0);

  /* "networkit/_NetworKit.pyx":5002
 * 			The generated partition
 * 		"""
 * 		return Partition().setThis(self._this.makeSingletonClustering(G._this))             # <<<<<<<<<<<<<<
 * 	def makeOneClustering(self, Graph G):
 * 		"""  Generate a clustering with one cluster consisting of all nodes
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Partition)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = __pyx_v_self->_this.makeSingletonClustering(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5002, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Partition *)((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5002, __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;

  /* "networkit/_NetworKit.pyx":4989
 * 	""" Generators for various clusterings """
 * 	cdef _ClusteringGenerator _this
 * 	def makeSingletonClustering(self, Graph G):             # <<<<<<<<<<<<<<
 * 		"""  Generate a clustering where each node has its own cluster
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.ClusteringGenerator.makeSingletonClustering", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5003
 * 		"""
 * 		return Partition().setThis(self._this.makeSingletonClustering(G._this))
 * 	def makeOneClustering(self, Graph G):             # <<<<<<<<<<<<<<
 * 		"""  Generate a clustering with one cluster consisting of all nodes
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ClusteringGenerator_3makeOneClustering(PyObject *__pyx_v_self, PyObject *__pyx_v_G); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_19ClusteringGenerator_2makeOneClustering[] = "  Generate a clustering with one cluster consisting of all nodes\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe graph for which the clustering shall be generated\n\n\t\tReturns\n\t\t-------\n\t\tnetworkit.Partition\n\t\t\tThe generated partition\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ClusteringGenerator_3makeOneClustering(PyObject *__pyx_v_self, PyObject *__pyx_v_G) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("makeOneClustering (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 5003, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19ClusteringGenerator_2makeOneClustering(((struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator *)__pyx_v_self), ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_G));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19ClusteringGenerator_2makeOneClustering(struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Partition __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("makeOneClustering", 0);

  /* "networkit/_NetworKit.pyx":5016
 * 			The generated partition
 * 		"""
 * 		return Partition().setThis(self._this.makeOneClustering(G._this))             # <<<<<<<<<<<<<<
 * 	def makeRandomClustering(self, Graph G, count k):
 * 		"""  Generate a clustering with `k` clusters to which nodes are assigned randomly
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Partition)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = __pyx_v_self->_this.makeOneClustering(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5016, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Partition *)((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5016, __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;

  /* "networkit/_NetworKit.pyx":5003
 * 		"""
 * 		return Partition().setThis(self._this.makeSingletonClustering(G._this))
 * 	def makeOneClustering(self, Graph G):             # <<<<<<<<<<<<<<
 * 		"""  Generate a clustering with one cluster consisting of all nodes
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.ClusteringGenerator.makeOneClustering", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5017
 * 		"""
 * 		return Partition().setThis(self._this.makeOneClustering(G._this))
 * 	def makeRandomClustering(self, Graph G, count k):             # <<<<<<<<<<<<<<
 * 		"""  Generate a clustering with `k` clusters to which nodes are assigned randomly
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ClusteringGenerator_5makeRandomClustering(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_19ClusteringGenerator_4makeRandomClustering[] = "  Generate a clustering with `k` clusters to which nodes are assigned randomly\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe graph for which the clustering shall be generated\n\t\tk: count\n\t\t\tThe number of clusters that shall be generated\n\n\t\tReturns\n\t\t-------\n\t\tnetworkit.Partition\n\t\t\tThe generated partition\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ClusteringGenerator_5makeRandomClustering(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_k;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("makeRandomClustering (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_k,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("makeRandomClustering", 1, 2, 2, 1); __PYX_ERR(0, 5017, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "makeRandomClustering") < 0)) __PYX_ERR(0, 5017, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_k = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_k == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 5017, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("makeRandomClustering", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5017, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ClusteringGenerator.makeRandomClustering", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 5017, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19ClusteringGenerator_4makeRandomClustering(((struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator *)__pyx_v_self), __pyx_v_G, __pyx_v_k);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19ClusteringGenerator_4makeRandomClustering(struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_k) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Partition __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("makeRandomClustering", 0);

  /* "networkit/_NetworKit.pyx":5032
 * 			The generated partition
 * 		"""
 * 		return Partition().setThis(self._this.makeRandomClustering(G._this, k))             # <<<<<<<<<<<<<<
 * 	def makeContinuousBalancedClustering(self, Graph G, count k):
 * 		"""  Generate a clustering with `k` clusters to which nodes are assigned in continuous blocks
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Partition)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = __pyx_v_self->_this.makeRandomClustering(__pyx_v_G->_this, __pyx_v_k);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5032, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Partition *)((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5032, __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;

  /* "networkit/_NetworKit.pyx":5017
 * 		"""
 * 		return Partition().setThis(self._this.makeOneClustering(G._this))
 * 	def makeRandomClustering(self, Graph G, count k):             # <<<<<<<<<<<<<<
 * 		"""  Generate a clustering with `k` clusters to which nodes are assigned randomly
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.ClusteringGenerator.makeRandomClustering", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5033
 * 		"""
 * 		return Partition().setThis(self._this.makeRandomClustering(G._this, k))
 * 	def makeContinuousBalancedClustering(self, Graph G, count k):             # <<<<<<<<<<<<<<
 * 		"""  Generate a clustering with `k` clusters to which nodes are assigned in continuous blocks
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ClusteringGenerator_7makeContinuousBalancedClustering(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_19ClusteringGenerator_6makeContinuousBalancedClustering[] = "  Generate a clustering with `k` clusters to which nodes are assigned in continuous blocks\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe graph for which the clustering shall be generated\n\t\tk: count\n\t\t\tThe number of clusters that shall be generated\n\n\t\tReturns\n\t\t-------\n\t\tnetworkit.Partition\n\t\t\tThe generated partition\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ClusteringGenerator_7makeContinuousBalancedClustering(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_k;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("makeContinuousBalancedClustering (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_k,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("makeContinuousBalancedClustering", 1, 2, 2, 1); __PYX_ERR(0, 5033, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "makeContinuousBalancedClustering") < 0)) __PYX_ERR(0, 5033, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_k = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_k == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 5033, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("makeContinuousBalancedClustering", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5033, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ClusteringGenerator.makeContinuousBalancedClustering", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 5033, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19ClusteringGenerator_6makeContinuousBalancedClustering(((struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator *)__pyx_v_self), __pyx_v_G, __pyx_v_k);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19ClusteringGenerator_6makeContinuousBalancedClustering(struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_k) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Partition __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("makeContinuousBalancedClustering", 0);

  /* "networkit/_NetworKit.pyx":5048
 * 			The generated partition
 * 		"""
 * 		return Partition().setThis(self._this.makeContinuousBalancedClustering(G._this, k))             # <<<<<<<<<<<<<<
 * 	def makeNoncontinuousBalancedClustering(self, Graph G, count k):
 * 		"""  Generate a clustering with `k` clusters, the ith node is assigned to cluster i % k. This means that
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Partition)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5048, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = __pyx_v_self->_this.makeContinuousBalancedClustering(__pyx_v_G->_this, __pyx_v_k);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5048, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Partition *)((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5048, __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;

  /* "networkit/_NetworKit.pyx":5033
 * 		"""
 * 		return Partition().setThis(self._this.makeRandomClustering(G._this, k))
 * 	def makeContinuousBalancedClustering(self, Graph G, count k):             # <<<<<<<<<<<<<<
 * 		"""  Generate a clustering with `k` clusters to which nodes are assigned in continuous blocks
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.ClusteringGenerator.makeContinuousBalancedClustering", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5049
 * 		"""
 * 		return Partition().setThis(self._this.makeContinuousBalancedClustering(G._this, k))
 * 	def makeNoncontinuousBalancedClustering(self, Graph G, count k):             # <<<<<<<<<<<<<<
 * 		"""  Generate a clustering with `k` clusters, the ith node is assigned to cluster i % k. This means that
 * 		for k**2 nodes, this clustering is complementary to the continuous clustering in the sense that no pair
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ClusteringGenerator_9makeNoncontinuousBalancedClustering(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_19ClusteringGenerator_8makeNoncontinuousBalancedClustering[] = "  Generate a clustering with `k` clusters, the ith node is assigned to cluster i % k. This means that\n\t\tfor k**2 nodes, this clustering is complementary to the continuous clustering in the sense that no pair\n\t\tof nodes that is in the same cluster in one of the clusterings is in the same cluster in the other clustering.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe graph for which the clustering shall be generated\n\t\tk: count\n\t\t\tThe number of clusters that shall be generated\n\n\t\tReturns\n\t\t-------\n\t\tnetworkit.Partition\n\t\t\tThe generated partition\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ClusteringGenerator_9makeNoncontinuousBalancedClustering(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_k;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("makeNoncontinuousBalancedClustering (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_k,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("makeNoncontinuousBalancedClustering", 1, 2, 2, 1); __PYX_ERR(0, 5049, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "makeNoncontinuousBalancedClustering") < 0)) __PYX_ERR(0, 5049, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_k = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_k == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 5049, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("makeNoncontinuousBalancedClustering", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5049, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ClusteringGenerator.makeNoncontinuousBalancedClustering", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 5049, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19ClusteringGenerator_8makeNoncontinuousBalancedClustering(((struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator *)__pyx_v_self), __pyx_v_G, __pyx_v_k);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19ClusteringGenerator_8makeNoncontinuousBalancedClustering(struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_k) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Partition __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("makeNoncontinuousBalancedClustering", 0);

  /* "networkit/_NetworKit.pyx":5066
 * 			The generated partition
 * 		"""
 * 		return Partition().setThis(self._this.makeNoncontinuousBalancedClustering(G._this, k))             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/community/GraphClusteringTools.hpp>" namespace "NetworKit::GraphClusteringTools":
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Partition)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = __pyx_v_self->_this.makeNoncontinuousBalancedClustering(__pyx_v_G->_this, __pyx_v_k);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5066, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Partition *)((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5066, __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;

  /* "networkit/_NetworKit.pyx":5049
 * 		"""
 * 		return Partition().setThis(self._this.makeContinuousBalancedClustering(G._this, k))
 * 	def makeNoncontinuousBalancedClustering(self, Graph G, count k):             # <<<<<<<<<<<<<<
 * 		"""  Generate a clustering with `k` clusters, the ith node is assigned to cluster i % k. This means that
 * 		for k**2 nodes, this clustering is complementary to the continuous clustering in the sense that no pair
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.ClusteringGenerator.makeNoncontinuousBalancedClustering", __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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ClusteringGenerator_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ClusteringGenerator_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19ClusteringGenerator_10__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_19ClusteringGenerator_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__168, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ClusteringGenerator.__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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ClusteringGenerator_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ClusteringGenerator_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19ClusteringGenerator_12__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_19ClusteringGenerator_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__169, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ClusteringGenerator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5080
 * cdef class GraphClusteringTools:
 * 	@staticmethod
 * 	def getImbalance(Partition zeta):             # <<<<<<<<<<<<<<
 * 		return getImbalance(zeta._this)
 * 	@staticmethod
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_1getImbalance(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_20GraphClusteringTools_1getImbalance = {"getImbalance", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_1getImbalance, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_1getImbalance(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getImbalance (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_zeta,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zeta)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getImbalance") < 0)) __PYX_ERR(0, 5080, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_zeta = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getImbalance", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5080, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphClusteringTools.getImbalance", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_zeta), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "zeta", 0))) __PYX_ERR(0, 5080, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_getImbalance(__pyx_v_zeta);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_getImbalance(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  float __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getImbalance", 0);

  /* "networkit/_NetworKit.pyx":5081
 * 	@staticmethod
 * 	def getImbalance(Partition zeta):
 * 		return getImbalance(zeta._this)             # <<<<<<<<<<<<<<
 * 	@staticmethod
 * 	def communicationGraph(Graph graph, Partition zeta):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = NetworKit::GraphClusteringTools::getImbalance(__pyx_v_zeta->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5081, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5080
 * cdef class GraphClusteringTools:
 * 	@staticmethod
 * 	def getImbalance(Partition zeta):             # <<<<<<<<<<<<<<
 * 		return getImbalance(zeta._this)
 * 	@staticmethod
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GraphClusteringTools.getImbalance", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5083
 * 		return getImbalance(zeta._this)
 * 	@staticmethod
 * 	def communicationGraph(Graph graph, Partition zeta):             # <<<<<<<<<<<<<<
 * 		return Graph().setThis(communicationGraph(graph._this, zeta._this))
 * 	@staticmethod
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_3communicationGraph(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_20GraphClusteringTools_3communicationGraph = {"communicationGraph", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_3communicationGraph, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_3communicationGraph(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("communicationGraph (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_zeta,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zeta)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("communicationGraph", 1, 2, 2, 1); __PYX_ERR(0, 5083, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "communicationGraph") < 0)) __PYX_ERR(0, 5083, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_graph = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_zeta = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("communicationGraph", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5083, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphClusteringTools.communicationGraph", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_graph), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "graph", 0))) __PYX_ERR(0, 5083, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_zeta), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "zeta", 0))) __PYX_ERR(0, 5083, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_2communicationGraph(__pyx_v_graph, __pyx_v_zeta);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_2communicationGraph(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Graph __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("communicationGraph", 0);

  /* "networkit/_NetworKit.pyx":5084
 * 	@staticmethod
 * 	def communicationGraph(Graph graph, Partition zeta):
 * 		return Graph().setThis(communicationGraph(graph._this, zeta._this))             # <<<<<<<<<<<<<<
 * 	@staticmethod
 * 	def weightedDegreeWithCluster(Graph graph, Partition zeta, node u, index cid):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = NetworKit::GraphClusteringTools::communicationGraph(__pyx_v_graph->_this, __pyx_v_zeta->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5084, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5084, __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;

  /* "networkit/_NetworKit.pyx":5083
 * 		return getImbalance(zeta._this)
 * 	@staticmethod
 * 	def communicationGraph(Graph graph, Partition zeta):             # <<<<<<<<<<<<<<
 * 		return Graph().setThis(communicationGraph(graph._this, zeta._this))
 * 	@staticmethod
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.GraphClusteringTools.communicationGraph", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5086
 * 		return Graph().setThis(communicationGraph(graph._this, zeta._this))
 * 	@staticmethod
 * 	def weightedDegreeWithCluster(Graph graph, Partition zeta, node u, index cid):             # <<<<<<<<<<<<<<
 * 		return weightedDegreeWithCluster(graph._this, zeta._this, u, cid)
 * 	@staticmethod
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_5weightedDegreeWithCluster(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_20GraphClusteringTools_5weightedDegreeWithCluster = {"weightedDegreeWithCluster", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_5weightedDegreeWithCluster, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_5weightedDegreeWithCluster(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta = 0;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_cid;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("weightedDegreeWithCluster (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_zeta,&__pyx_n_s_u,&__pyx_n_s_cid,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zeta)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("weightedDegreeWithCluster", 1, 4, 4, 1); __PYX_ERR(0, 5086, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("weightedDegreeWithCluster", 1, 4, 4, 2); __PYX_ERR(0, 5086, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cid)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("weightedDegreeWithCluster", 1, 4, 4, 3); __PYX_ERR(0, 5086, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "weightedDegreeWithCluster") < 0)) __PYX_ERR(0, 5086, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_graph = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_zeta = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[1]);
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[2]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 5086, __pyx_L3_error)
    __pyx_v_cid = __Pyx_PyInt_As_uint64_t(values[3]); if (unlikely((__pyx_v_cid == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 5086, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("weightedDegreeWithCluster", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5086, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphClusteringTools.weightedDegreeWithCluster", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_graph), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "graph", 0))) __PYX_ERR(0, 5086, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_zeta), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "zeta", 0))) __PYX_ERR(0, 5086, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_4weightedDegreeWithCluster(__pyx_v_graph, __pyx_v_zeta, __pyx_v_u, __pyx_v_cid);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_4weightedDegreeWithCluster(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_index __pyx_v_cid) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("weightedDegreeWithCluster", 0);

  /* "networkit/_NetworKit.pyx":5087
 * 	@staticmethod
 * 	def weightedDegreeWithCluster(Graph graph, Partition zeta, node u, index cid):
 * 		return weightedDegreeWithCluster(graph._this, zeta._this, u, cid)             # <<<<<<<<<<<<<<
 * 	@staticmethod
 * 	def isProperClustering(Graph G, Partition zeta):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_uint64_t(NetworKit::GraphClusteringTools::weightedDegreeWithCluster(__pyx_v_graph->_this, __pyx_v_zeta->_this, __pyx_v_u, __pyx_v_cid)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5086
 * 		return Graph().setThis(communicationGraph(graph._this, zeta._this))
 * 	@staticmethod
 * 	def weightedDegreeWithCluster(Graph graph, Partition zeta, node u, index cid):             # <<<<<<<<<<<<<<
 * 		return weightedDegreeWithCluster(graph._this, zeta._this, u, cid)
 * 	@staticmethod
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphClusteringTools.weightedDegreeWithCluster", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5089
 * 		return weightedDegreeWithCluster(graph._this, zeta._this, u, cid)
 * 	@staticmethod
 * 	def isProperClustering(Graph G, Partition zeta):             # <<<<<<<<<<<<<<
 * 		return isProperClustering(G._this, zeta._this)
 * 	@staticmethod
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_7isProperClustering(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_20GraphClusteringTools_7isProperClustering = {"isProperClustering", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_7isProperClustering, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_7isProperClustering(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isProperClustering (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_zeta,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zeta)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("isProperClustering", 1, 2, 2, 1); __PYX_ERR(0, 5089, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "isProperClustering") < 0)) __PYX_ERR(0, 5089, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_zeta = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isProperClustering", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5089, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphClusteringTools.isProperClustering", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 5089, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_zeta), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "zeta", 0))) __PYX_ERR(0, 5089, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_6isProperClustering(__pyx_v_G, __pyx_v_zeta);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_6isProperClustering(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("isProperClustering", 0);

  /* "networkit/_NetworKit.pyx":5090
 * 	@staticmethod
 * 	def isProperClustering(Graph G, Partition zeta):
 * 		return isProperClustering(G._this, zeta._this)             # <<<<<<<<<<<<<<
 * 	@staticmethod
 * 	def isSingletonClustering(Graph G, Partition zeta):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(NetworKit::GraphClusteringTools::isProperClustering(__pyx_v_G->_this, __pyx_v_zeta->_this)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5089
 * 		return weightedDegreeWithCluster(graph._this, zeta._this, u, cid)
 * 	@staticmethod
 * 	def isProperClustering(Graph G, Partition zeta):             # <<<<<<<<<<<<<<
 * 		return isProperClustering(G._this, zeta._this)
 * 	@staticmethod
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphClusteringTools.isProperClustering", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5092
 * 		return isProperClustering(G._this, zeta._this)
 * 	@staticmethod
 * 	def isSingletonClustering(Graph G, Partition zeta):             # <<<<<<<<<<<<<<
 * 		return isSingletonClustering(G._this, zeta._this)
 * 	@staticmethod
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_9isSingletonClustering(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_20GraphClusteringTools_9isSingletonClustering = {"isSingletonClustering", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_9isSingletonClustering, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_9isSingletonClustering(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isSingletonClustering (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_zeta,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zeta)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("isSingletonClustering", 1, 2, 2, 1); __PYX_ERR(0, 5092, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "isSingletonClustering") < 0)) __PYX_ERR(0, 5092, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_zeta = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isSingletonClustering", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5092, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphClusteringTools.isSingletonClustering", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 5092, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_zeta), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "zeta", 0))) __PYX_ERR(0, 5092, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_8isSingletonClustering(__pyx_v_G, __pyx_v_zeta);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_8isSingletonClustering(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("isSingletonClustering", 0);

  /* "networkit/_NetworKit.pyx":5093
 * 	@staticmethod
 * 	def isSingletonClustering(Graph G, Partition zeta):
 * 		return isSingletonClustering(G._this, zeta._this)             # <<<<<<<<<<<<<<
 * 	@staticmethod
 * 	def isOneClustering(Graph G, Partition zeta):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(NetworKit::GraphClusteringTools::isSingletonClustering(__pyx_v_G->_this, __pyx_v_zeta->_this)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5092
 * 		return isProperClustering(G._this, zeta._this)
 * 	@staticmethod
 * 	def isSingletonClustering(Graph G, Partition zeta):             # <<<<<<<<<<<<<<
 * 		return isSingletonClustering(G._this, zeta._this)
 * 	@staticmethod
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphClusteringTools.isSingletonClustering", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5095
 * 		return isSingletonClustering(G._this, zeta._this)
 * 	@staticmethod
 * 	def isOneClustering(Graph G, Partition zeta):             # <<<<<<<<<<<<<<
 * 		return isOneClustering(G._this, zeta._this)
 * 	@staticmethod
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_11isOneClustering(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_20GraphClusteringTools_11isOneClustering = {"isOneClustering", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_11isOneClustering, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_11isOneClustering(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isOneClustering (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_zeta,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zeta)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("isOneClustering", 1, 2, 2, 1); __PYX_ERR(0, 5095, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "isOneClustering") < 0)) __PYX_ERR(0, 5095, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_zeta = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isOneClustering", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5095, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphClusteringTools.isOneClustering", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 5095, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_zeta), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "zeta", 0))) __PYX_ERR(0, 5095, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_10isOneClustering(__pyx_v_G, __pyx_v_zeta);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_10isOneClustering(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("isOneClustering", 0);

  /* "networkit/_NetworKit.pyx":5096
 * 	@staticmethod
 * 	def isOneClustering(Graph G, Partition zeta):
 * 		return isOneClustering(G._this, zeta._this)             # <<<<<<<<<<<<<<
 * 	@staticmethod
 * 	def equalClustering(Partition zeta, Partition eta, Graph G):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(NetworKit::GraphClusteringTools::isOneClustering(__pyx_v_G->_this, __pyx_v_zeta->_this)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5096, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5095
 * 		return isSingletonClustering(G._this, zeta._this)
 * 	@staticmethod
 * 	def isOneClustering(Graph G, Partition zeta):             # <<<<<<<<<<<<<<
 * 		return isOneClustering(G._this, zeta._this)
 * 	@staticmethod
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphClusteringTools.isOneClustering", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5098
 * 		return isOneClustering(G._this, zeta._this)
 * 	@staticmethod
 * 	def equalClustering(Partition zeta, Partition eta, Graph G):             # <<<<<<<<<<<<<<
 * 		return equalClusterings(zeta._this, eta._this, G._this)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_13equalClustering(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_20GraphClusteringTools_13equalClustering = {"equalClustering", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_13equalClustering, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_13equalClustering(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_eta = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("equalClustering (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_zeta,&__pyx_n_s_eta,&__pyx_n_s_G,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zeta)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_eta)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("equalClustering", 1, 3, 3, 1); __PYX_ERR(0, 5098, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("equalClustering", 1, 3, 3, 2); __PYX_ERR(0, 5098, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "equalClustering") < 0)) __PYX_ERR(0, 5098, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_zeta = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[0]);
    __pyx_v_eta = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[1]);
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[2]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("equalClustering", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5098, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphClusteringTools.equalClustering", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_zeta), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "zeta", 0))) __PYX_ERR(0, 5098, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_eta), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "eta", 0))) __PYX_ERR(0, 5098, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 5098, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_12equalClustering(__pyx_v_zeta, __pyx_v_eta, __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_12equalClustering(struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_eta, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("equalClustering", 0);

  /* "networkit/_NetworKit.pyx":5099
 * 	@staticmethod
 * 	def equalClustering(Partition zeta, Partition eta, Graph G):
 * 		return equalClusterings(zeta._this, eta._this, G._this)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/graph/BFS.hpp>" namespace "NetworKit::Traversal":
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(NetworKit::GraphClusteringTools::equalClusterings(__pyx_v_zeta->_this, __pyx_v_eta->_this, __pyx_v_G->_this)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5098
 * 		return isOneClustering(G._this, zeta._this)
 * 	@staticmethod
 * 	def equalClustering(Partition zeta, Partition eta, Graph G):             # <<<<<<<<<<<<<<
 * 		return equalClusterings(zeta._this, eta._this, G._this)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphClusteringTools.equalClustering", __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_9networkit_10_NetworKit_20GraphClusteringTools_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_14__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GraphClusteringTools *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_14__reduce_cython__(struct __pyx_obj_9networkit_10_NetworKit_GraphClusteringTools *__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;
  __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:
 */
  __Pyx_INCREF(__pyx_empty_tuple);
  __pyx_v_state = __pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_2 = (__pyx_v__dict != Py_None);
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (__pyx_t_3) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 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:
 *         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:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_GraphClusteringTools, (type(self), 0xd41d8cd, None), state
 */
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_GraphClusteringTools, (type(self), 0xd41d8cd, None), state
 *     else:
 */
  __pyx_t_3 = (__pyx_v_use_setstate != 0);
  if (__pyx_t_3) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_GraphClusteringTools, (type(self), 0xd41d8cd, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_GraphClusteringTools, (type(self), 0xd41d8cd, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_GraphClusteringTo); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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))));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_222419149);
    __Pyx_GIVEREF(__pyx_int_222419149);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state);
    __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_GraphClusteringTools, (type(self), 0xd41d8cd, None), state
 *     else:
 */
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_GraphClusteringTools, (type(self), 0xd41d8cd, None), state
 *     else:
 *         return __pyx_unpickle_GraphClusteringTools, (type(self), 0xd41d8cd, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_GraphClusteringTools__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle_GraphClusteringTo); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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))));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_222419149);
    __Pyx_GIVEREF(__pyx_int_222419149);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
    __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("networkit._NetworKit.GraphClusteringTools.__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_GraphClusteringTools, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_GraphClusteringTools__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_16__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GraphClusteringTools *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphClusteringTools_16__setstate_cython__(struct __pyx_obj_9networkit_10_NetworKit_GraphClusteringTools *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_GraphClusteringTools, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_GraphClusteringTools__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
  __pyx_t_1 = __pyx_f_9networkit_10_NetworKit___pyx_unpickle_GraphClusteringTools__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_GraphClusteringTools, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_GraphClusteringTools__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_AddTraceback("networkit._NetworKit.GraphClusteringTools.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5113
 * 
 * 	@staticmethod
 * 	def BFSfrom(Graph graph, start, object callback):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterate over nodes in breadth-first search order starting from the given node(s).
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Traversal_1BFSfrom(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Traversal_BFSfrom[] = "\n\t\tIterate over nodes in breadth-first search order starting from the given node(s).\n\n\t\tParameters\n\t\t----------\n\t\tgraph : networkit.Graph\n\t\t\tThe input graph.\n\t\tstart : node/list\n\t\t\tSingle node or list of nodes from where the BFS will start.\n\t\tcallback : Function\n\t\t\tTakes either one (node) or two (node, distance) input parameters.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_9Traversal_1BFSfrom = {"BFSfrom", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_9Traversal_1BFSfrom, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_9Traversal_BFSfrom};
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Traversal_1BFSfrom(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph = 0;
  PyObject *__pyx_v_start = 0;
  PyObject *__pyx_v_callback = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("BFSfrom (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_start,&__pyx_n_s_callback,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_start)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("BFSfrom", 1, 3, 3, 1); __PYX_ERR(0, 5113, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_callback)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("BFSfrom", 1, 3, 3, 2); __PYX_ERR(0, 5113, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "BFSfrom") < 0)) __PYX_ERR(0, 5113, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_graph = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_start = values[1];
    __pyx_v_callback = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("BFSfrom", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5113, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Traversal.BFSfrom", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_graph), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "graph", 0))) __PYX_ERR(0, 5113, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Traversal_BFSfrom(__pyx_v_graph, __pyx_v_start, __pyx_v_callback);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Traversal_BFSfrom(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph, PyObject *__pyx_v_start, PyObject *__pyx_v_callback) {
  __pyx_t_9networkit_10_NetworKit_NodeDistCallbackWrapper *__pyx_v_wrapper;
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_sources;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_t_12;
  char const *__pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  __Pyx_RefNannySetupContext("BFSfrom", 0);

  /* "networkit/_NetworKit.pyx":5130
 * 		cdef vector[node] sources
 * 
 * 		try:             # <<<<<<<<<<<<<<
 * 			wrapper = new NodeDistCallbackWrapper(callback)
 * 			try:
 */
  /*try:*/ {

    /* "networkit/_NetworKit.pyx":5131
 * 
 * 		try:
 * 			wrapper = new NodeDistCallbackWrapper(callback)             # <<<<<<<<<<<<<<
 * 			try:
 * 				sources = <vector[node]?>start
 */
    __pyx_v_wrapper = new __pyx_t_9networkit_10_NetworKit_NodeDistCallbackWrapper(__pyx_v_callback);

    /* "networkit/_NetworKit.pyx":5132
 * 		try:
 * 			wrapper = new NodeDistCallbackWrapper(callback)
 * 			try:             # <<<<<<<<<<<<<<
 * 				sources = <vector[node]?>start
 * 			except TypeError:
 */
    {
      __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:*/ {

        /* "networkit/_NetworKit.pyx":5133
 * 			wrapper = new NodeDistCallbackWrapper(callback)
 * 			try:
 * 				sources = <vector[node]?>start             # <<<<<<<<<<<<<<
 * 			except TypeError:
 * 				sources = [<node?>start]
 */
        __pyx_t_4 = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_node(__pyx_v_start); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 5133, __pyx_L6_error)
        __pyx_v_sources = ((std::vector<__pyx_t_9networkit_10_NetworKit_node> )__pyx_t_4);

        /* "networkit/_NetworKit.pyx":5132
 * 		try:
 * 			wrapper = new NodeDistCallbackWrapper(callback)
 * 			try:             # <<<<<<<<<<<<<<
 * 				sources = <vector[node]?>start
 * 			except TypeError:
 */
      }
      __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_L11_try_end;
      __pyx_L6_error:;

      /* "networkit/_NetworKit.pyx":5134
 * 			try:
 * 				sources = <vector[node]?>start
 * 			except TypeError:             # <<<<<<<<<<<<<<
 * 				sources = [<node?>start]
 * 			BFSfrom[vector[node].iterator, NodeDistCallbackWrapper](graph._this, sources.begin(),sources.end(), dereference(wrapper))
 */
      __pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_TypeError);
      if (__pyx_t_5) {
        __Pyx_AddTraceback("networkit._NetworKit.Traversal.BFSfrom", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0) __PYX_ERR(0, 5134, __pyx_L8_except_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_GOTREF(__pyx_t_8);

        /* "networkit/_NetworKit.pyx":5135
 * 				sources = <vector[node]?>start
 * 			except TypeError:
 * 				sources = [<node?>start]             # <<<<<<<<<<<<<<
 * 			BFSfrom[vector[node].iterator, NodeDistCallbackWrapper](graph._this, sources.begin(),sources.end(), dereference(wrapper))
 * 		finally:
 */
        __pyx_t_9 = __Pyx_PyInt_As_uint64_t(__pyx_v_start); if (unlikely((__pyx_t_9 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 5135, __pyx_L8_except_error)
        __pyx_t_10 = __Pyx_PyInt_From_uint64_t(((__pyx_t_9networkit_10_NetworKit_node)__pyx_t_9)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5135, __pyx_L8_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 5135, __pyx_L8_except_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_GIVEREF(__pyx_t_10);
        PyList_SET_ITEM(__pyx_t_11, 0, __pyx_t_10);
        __pyx_t_10 = 0;
        __pyx_t_4 = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_node(__pyx_t_11); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 5135, __pyx_L8_except_error)
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __pyx_v_sources = __pyx_t_4;
        __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;
        goto __pyx_L7_exception_handled;
      }
      goto __pyx_L8_except_error;
      __pyx_L8_except_error:;

      /* "networkit/_NetworKit.pyx":5132
 * 		try:
 * 			wrapper = new NodeDistCallbackWrapper(callback)
 * 			try:             # <<<<<<<<<<<<<<
 * 				sources = <vector[node]?>start
 * 			except TypeError:
 */
      __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_L4_error;
      __pyx_L7_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_L11_try_end:;
    }

    /* "networkit/_NetworKit.pyx":5136
 * 			except TypeError:
 * 				sources = [<node?>start]
 * 			BFSfrom[vector[node].iterator, NodeDistCallbackWrapper](graph._this, sources.begin(),sources.end(), dereference(wrapper))             # <<<<<<<<<<<<<<
 * 		finally:
 * 			del wrapper
 */
    try {
      NetworKit::Traversal::BFSfrom<std::vector<__pyx_t_9networkit_10_NetworKit_node> ::iterator,__pyx_t_9networkit_10_NetworKit_NodeDistCallbackWrapper>(__pyx_v_graph->_this, __pyx_v_sources.begin(), __pyx_v_sources.end(), (*__pyx_v_wrapper));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 5136, __pyx_L4_error)
    }
  }

  /* "networkit/_NetworKit.pyx":5138
 * 			BFSfrom[vector[node].iterator, NodeDistCallbackWrapper](graph._this, sources.begin(),sources.end(), dereference(wrapper))
 * 		finally:
 * 			del wrapper             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  /*finally:*/ {
    /*normal exit:*/{
      delete __pyx_v_wrapper;
      goto __pyx_L5;
    }
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __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;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0)) __Pyx_ErrFetch(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_2);
      __Pyx_XGOTREF(__pyx_t_1);
      __Pyx_XGOTREF(__pyx_t_14);
      __Pyx_XGOTREF(__pyx_t_15);
      __Pyx_XGOTREF(__pyx_t_16);
      __pyx_t_5 = __pyx_lineno; __pyx_t_12 = __pyx_clineno; __pyx_t_13 = __pyx_filename;
      {
        delete __pyx_v_wrapper;
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_14);
        __Pyx_XGIVEREF(__pyx_t_15);
        __Pyx_XGIVEREF(__pyx_t_16);
        __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16);
      }
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_2);
      __Pyx_XGIVEREF(__pyx_t_1);
      __Pyx_ErrRestore(__pyx_t_3, __pyx_t_2, __pyx_t_1);
      __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0;
      __pyx_lineno = __pyx_t_5; __pyx_clineno = __pyx_t_12; __pyx_filename = __pyx_t_13;
      goto __pyx_L1_error;
    }
    __pyx_L5:;
  }

  /* "networkit/_NetworKit.pyx":5113
 * 
 * 	@staticmethod
 * 	def BFSfrom(Graph graph, start, object callback):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterate over nodes in breadth-first search order starting from the given node(s).
 */

  /* 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_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("networkit._NetworKit.Traversal.BFSfrom", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5141
 * 
 * 	@staticmethod
 * 	def BFSEdgesFrom(Graph graph, node start, object callback):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterate over edges in breadth-first search order starting from the given node(s).
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Traversal_3BFSEdgesFrom(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Traversal_2BFSEdgesFrom[] = "\n\t\tIterate over edges in breadth-first search order starting from the given node(s).\n\n\t\tParameters\n\t\t----------\n\t\tgraph : networkit.Graph\n\t\t\tThe input graph.\n\t\tstart : node/list\n\t\t\tSingle node or list of nodes from where the BFS will start.\n\t\tcallback : Function\n\t\t\tTakes four input parameters: (u, v, edgeweight, edgeid)\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_9Traversal_3BFSEdgesFrom = {"BFSEdgesFrom", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_9Traversal_3BFSEdgesFrom, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_9Traversal_2BFSEdgesFrom};
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Traversal_3BFSEdgesFrom(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph = 0;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_start;
  PyObject *__pyx_v_callback = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("BFSEdgesFrom (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_start,&__pyx_n_s_callback,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_start)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("BFSEdgesFrom", 1, 3, 3, 1); __PYX_ERR(0, 5141, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_callback)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("BFSEdgesFrom", 1, 3, 3, 2); __PYX_ERR(0, 5141, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "BFSEdgesFrom") < 0)) __PYX_ERR(0, 5141, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_graph = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_start = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_start == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 5141, __pyx_L3_error)
    __pyx_v_callback = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("BFSEdgesFrom", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5141, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Traversal.BFSEdgesFrom", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_graph), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "graph", 0))) __PYX_ERR(0, 5141, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Traversal_2BFSEdgesFrom(__pyx_v_graph, __pyx_v_start, __pyx_v_callback);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Traversal_2BFSEdgesFrom(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph, __pyx_t_9networkit_10_NetworKit_node __pyx_v_start, PyObject *__pyx_v_callback) {
  __pyx_t_9networkit_10_NetworKit_EdgeCallBackWrapper *__pyx_v_wrapper;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  char const *__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;
  PyObject *__pyx_t_9 = NULL;
  __Pyx_RefNannySetupContext("BFSEdgesFrom", 0);

  /* "networkit/_NetworKit.pyx":5157
 * 		cdef EdgeCallBackWrapper *wrapper
 * 
 * 		try:             # <<<<<<<<<<<<<<
 * 			wrapper = new EdgeCallBackWrapper(callback)
 * 			BFSEdgesFrom[EdgeCallBackWrapper](graph._this, start, dereference(wrapper))
 */
  /*try:*/ {

    /* "networkit/_NetworKit.pyx":5158
 * 
 * 		try:
 * 			wrapper = new EdgeCallBackWrapper(callback)             # <<<<<<<<<<<<<<
 * 			BFSEdgesFrom[EdgeCallBackWrapper](graph._this, start, dereference(wrapper))
 * 		finally:
 */
    __pyx_v_wrapper = new __pyx_t_9networkit_10_NetworKit_EdgeCallBackWrapper(__pyx_v_callback);

    /* "networkit/_NetworKit.pyx":5159
 * 		try:
 * 			wrapper = new EdgeCallBackWrapper(callback)
 * 			BFSEdgesFrom[EdgeCallBackWrapper](graph._this, start, dereference(wrapper))             # <<<<<<<<<<<<<<
 * 		finally:
 * 			del wrapper
 */
    try {
      NetworKit::Traversal::BFSEdgesFrom<__pyx_t_9networkit_10_NetworKit_EdgeCallBackWrapper>(__pyx_v_graph->_this, __pyx_v_start, (*__pyx_v_wrapper));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 5159, __pyx_L4_error)
    }
  }

  /* "networkit/_NetworKit.pyx":5161
 * 			BFSEdgesFrom[EdgeCallBackWrapper](graph._this, start, dereference(wrapper))
 * 		finally:
 * 			del wrapper             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  /*finally:*/ {
    /*normal exit:*/{
      delete __pyx_v_wrapper;
      goto __pyx_L5;
    }
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0)) __Pyx_ErrFetch(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_9);
      __pyx_t_1 = __pyx_lineno; __pyx_t_2 = __pyx_clineno; __pyx_t_3 = __pyx_filename;
      {
        delete __pyx_v_wrapper;
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_7);
        __Pyx_XGIVEREF(__pyx_t_8);
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
      }
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ErrRestore(__pyx_t_4, __pyx_t_5, __pyx_t_6);
      __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0;
      __pyx_lineno = __pyx_t_1; __pyx_clineno = __pyx_t_2; __pyx_filename = __pyx_t_3;
      goto __pyx_L1_error;
    }
    __pyx_L5:;
  }

  /* "networkit/_NetworKit.pyx":5141
 * 
 * 	@staticmethod
 * 	def BFSEdgesFrom(Graph graph, node start, object callback):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterate over edges in breadth-first search order starting from the given node(s).
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Traversal.BFSEdgesFrom", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5164
 * 
 * 	@staticmethod
 * 	def DFSfrom(Graph graph, node start, object callback):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterate over nodes in depth-first search order starting from the given node(s).
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Traversal_5DFSfrom(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Traversal_4DFSfrom[] = "\n\t\tIterate over nodes in depth-first search order starting from the given node(s).\n\n\t\tParameters\n\t\t----------\n\t\tgraph : networkit.Graph\n\t\t\tThe input graph.\n\t\tstart : node\n\t\t\tSource node from where the DFS will start.\n\t\tcallback : Function\n\t\t\tTakes a node as input parameter.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_9Traversal_5DFSfrom = {"DFSfrom", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_9Traversal_5DFSfrom, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_9Traversal_4DFSfrom};
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Traversal_5DFSfrom(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph = 0;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_start;
  PyObject *__pyx_v_callback = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("DFSfrom (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_start,&__pyx_n_s_callback,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_start)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("DFSfrom", 1, 3, 3, 1); __PYX_ERR(0, 5164, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_callback)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("DFSfrom", 1, 3, 3, 2); __PYX_ERR(0, 5164, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "DFSfrom") < 0)) __PYX_ERR(0, 5164, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_graph = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_start = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_start == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 5164, __pyx_L3_error)
    __pyx_v_callback = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("DFSfrom", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5164, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Traversal.DFSfrom", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_graph), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "graph", 0))) __PYX_ERR(0, 5164, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Traversal_4DFSfrom(__pyx_v_graph, __pyx_v_start, __pyx_v_callback);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Traversal_4DFSfrom(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph, __pyx_t_9networkit_10_NetworKit_node __pyx_v_start, PyObject *__pyx_v_callback) {
  __pyx_t_9networkit_10_NetworKit_NodeCallbackWrapper *__pyx_v_wrapper;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  char const *__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;
  PyObject *__pyx_t_9 = NULL;
  __Pyx_RefNannySetupContext("DFSfrom", 0);

  /* "networkit/_NetworKit.pyx":5178
 * 		"""
 * 		cdef NodeCallbackWrapper *wrapper
 * 		try:             # <<<<<<<<<<<<<<
 * 			wrapper = new NodeCallbackWrapper(callback)
 * 			DFSfrom[NodeCallbackWrapper](graph._this, start, dereference(wrapper))
 */
  /*try:*/ {

    /* "networkit/_NetworKit.pyx":5179
 * 		cdef NodeCallbackWrapper *wrapper
 * 		try:
 * 			wrapper = new NodeCallbackWrapper(callback)             # <<<<<<<<<<<<<<
 * 			DFSfrom[NodeCallbackWrapper](graph._this, start, dereference(wrapper))
 * 		finally:
 */
    __pyx_v_wrapper = new __pyx_t_9networkit_10_NetworKit_NodeCallbackWrapper(__pyx_v_callback);

    /* "networkit/_NetworKit.pyx":5180
 * 		try:
 * 			wrapper = new NodeCallbackWrapper(callback)
 * 			DFSfrom[NodeCallbackWrapper](graph._this, start, dereference(wrapper))             # <<<<<<<<<<<<<<
 * 		finally:
 * 			del wrapper
 */
    try {
      NetworKit::Traversal::DFSfrom<__pyx_t_9networkit_10_NetworKit_NodeCallbackWrapper>(__pyx_v_graph->_this, __pyx_v_start, (*__pyx_v_wrapper));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 5180, __pyx_L4_error)
    }
  }

  /* "networkit/_NetworKit.pyx":5182
 * 			DFSfrom[NodeCallbackWrapper](graph._this, start, dereference(wrapper))
 * 		finally:
 * 			del wrapper             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  /*finally:*/ {
    /*normal exit:*/{
      delete __pyx_v_wrapper;
      goto __pyx_L5;
    }
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0)) __Pyx_ErrFetch(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_9);
      __pyx_t_1 = __pyx_lineno; __pyx_t_2 = __pyx_clineno; __pyx_t_3 = __pyx_filename;
      {
        delete __pyx_v_wrapper;
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_7);
        __Pyx_XGIVEREF(__pyx_t_8);
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
      }
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ErrRestore(__pyx_t_4, __pyx_t_5, __pyx_t_6);
      __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0;
      __pyx_lineno = __pyx_t_1; __pyx_clineno = __pyx_t_2; __pyx_filename = __pyx_t_3;
      goto __pyx_L1_error;
    }
    __pyx_L5:;
  }

  /* "networkit/_NetworKit.pyx":5164
 * 
 * 	@staticmethod
 * 	def DFSfrom(Graph graph, node start, object callback):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterate over nodes in depth-first search order starting from the given node(s).
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Traversal.DFSfrom", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5185
 * 
 * 	@staticmethod
 * 	def DFSEdgesFrom(Graph graph, node start, object callback):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterate over edges in depth-first search order starting from the given node(s).
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Traversal_7DFSEdgesFrom(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9Traversal_6DFSEdgesFrom[] = "\n\t\tIterate over edges in depth-first search order starting from the given node(s).\n\n\t\tParameters\n\t\t----------\n\t\tgraph : networkit.Graph\n\t\t\tThe input graph.\n\t\tstart : node\n\t\t\tSource node from where the DFS will start.\n\t\tcallback : Function\n\t\t\tTakes four input parameters: (u, v, edgeweight, edgeid)\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_9Traversal_7DFSEdgesFrom = {"DFSEdgesFrom", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_9Traversal_7DFSEdgesFrom, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_9Traversal_6DFSEdgesFrom};
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Traversal_7DFSEdgesFrom(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph = 0;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_start;
  PyObject *__pyx_v_callback = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("DFSEdgesFrom (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_start,&__pyx_n_s_callback,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_start)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("DFSEdgesFrom", 1, 3, 3, 1); __PYX_ERR(0, 5185, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_callback)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("DFSEdgesFrom", 1, 3, 3, 2); __PYX_ERR(0, 5185, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "DFSEdgesFrom") < 0)) __PYX_ERR(0, 5185, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_graph = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_start = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_start == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 5185, __pyx_L3_error)
    __pyx_v_callback = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("DFSEdgesFrom", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5185, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Traversal.DFSEdgesFrom", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_graph), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "graph", 0))) __PYX_ERR(0, 5185, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Traversal_6DFSEdgesFrom(__pyx_v_graph, __pyx_v_start, __pyx_v_callback);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Traversal_6DFSEdgesFrom(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph, __pyx_t_9networkit_10_NetworKit_node __pyx_v_start, PyObject *__pyx_v_callback) {
  __pyx_t_9networkit_10_NetworKit_EdgeCallBackWrapper *__pyx_v_wrapper;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  char const *__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;
  PyObject *__pyx_t_9 = NULL;
  __Pyx_RefNannySetupContext("DFSEdgesFrom", 0);

  /* "networkit/_NetworKit.pyx":5199
 * 		"""
 * 		cdef EdgeCallBackWrapper *wrapper
 * 		try:             # <<<<<<<<<<<<<<
 * 			wrapper = new EdgeCallBackWrapper(callback)
 * 			DFSEdgesFrom[EdgeCallBackWrapper](graph._this, start, dereference(wrapper))
 */
  /*try:*/ {

    /* "networkit/_NetworKit.pyx":5200
 * 		cdef EdgeCallBackWrapper *wrapper
 * 		try:
 * 			wrapper = new EdgeCallBackWrapper(callback)             # <<<<<<<<<<<<<<
 * 			DFSEdgesFrom[EdgeCallBackWrapper](graph._this, start, dereference(wrapper))
 * 		finally:
 */
    __pyx_v_wrapper = new __pyx_t_9networkit_10_NetworKit_EdgeCallBackWrapper(__pyx_v_callback);

    /* "networkit/_NetworKit.pyx":5201
 * 		try:
 * 			wrapper = new EdgeCallBackWrapper(callback)
 * 			DFSEdgesFrom[EdgeCallBackWrapper](graph._this, start, dereference(wrapper))             # <<<<<<<<<<<<<<
 * 		finally:
 * 			del wrapper
 */
    try {
      NetworKit::Traversal::DFSEdgesFrom<__pyx_t_9networkit_10_NetworKit_EdgeCallBackWrapper>(__pyx_v_graph->_this, __pyx_v_start, (*__pyx_v_wrapper));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 5201, __pyx_L4_error)
    }
  }

  /* "networkit/_NetworKit.pyx":5203
 * 			DFSEdgesFrom[EdgeCallBackWrapper](graph._this, start, dereference(wrapper))
 * 		finally:
 * 			del wrapper             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*finally:*/ {
    /*normal exit:*/{
      delete __pyx_v_wrapper;
      goto __pyx_L5;
    }
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0)) __Pyx_ErrFetch(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_9);
      __pyx_t_1 = __pyx_lineno; __pyx_t_2 = __pyx_clineno; __pyx_t_3 = __pyx_filename;
      {
        delete __pyx_v_wrapper;
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_7);
        __Pyx_XGIVEREF(__pyx_t_8);
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
      }
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_ErrRestore(__pyx_t_4, __pyx_t_5, __pyx_t_6);
      __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0;
      __pyx_lineno = __pyx_t_1; __pyx_clineno = __pyx_t_2; __pyx_filename = __pyx_t_3;
      goto __pyx_L1_error;
    }
    __pyx_L5:;
  }

  /* "networkit/_NetworKit.pyx":5185
 * 
 * 	@staticmethod
 * 	def DFSEdgesFrom(Graph graph, node start, object callback):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterate over edges in depth-first search order starting from the given node(s).
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Traversal.DFSEdgesFrom", __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_9networkit_10_NetworKit_9Traversal_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Traversal_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Traversal_8__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Traversal *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Traversal_8__reduce_cython__(struct __pyx_obj_9networkit_10_NetworKit_Traversal *__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;
  __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:
 */
  __Pyx_INCREF(__pyx_empty_tuple);
  __pyx_v_state = __pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_2 = (__pyx_v__dict != Py_None);
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (__pyx_t_3) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 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:
 *         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:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_Traversal, (type(self), 0xd41d8cd, None), state
 */
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Traversal, (type(self), 0xd41d8cd, None), state
 *     else:
 */
  __pyx_t_3 = (__pyx_v_use_setstate != 0);
  if (__pyx_t_3) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_Traversal, (type(self), 0xd41d8cd, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_Traversal, (type(self), 0xd41d8cd, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_Traversal); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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))));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_222419149);
    __Pyx_GIVEREF(__pyx_int_222419149);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state);
    __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_Traversal, (type(self), 0xd41d8cd, None), state
 *     else:
 */
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_Traversal, (type(self), 0xd41d8cd, None), state
 *     else:
 *         return __pyx_unpickle_Traversal, (type(self), 0xd41d8cd, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Traversal__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle_Traversal); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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))));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_222419149);
    __Pyx_GIVEREF(__pyx_int_222419149);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
    __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("networkit._NetworKit.Traversal.__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_Traversal, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Traversal__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Traversal_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Traversal_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Traversal_10__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Traversal *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Traversal_10__setstate_cython__(struct __pyx_obj_9networkit_10_NetworKit_Traversal *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_Traversal, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Traversal__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
  __pyx_t_1 = __pyx_f_9networkit_10_NetworKit___pyx_unpickle_Traversal__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Traversal, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Traversal__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_AddTraceback("networkit._NetworKit.Traversal.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5234
 * 
 * 	@staticmethod
 * 	def maxDegree(Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the maximum out-degree of the graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_1maxDegree(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10GraphTools_maxDegree[] = "\n\t\tReturns the maximum out-degree of the graph.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe input graph.\n\n\t\tReturns\n\t\t-------\n\t\tcount\n\t\t\tThe maximum out-degree of the graph.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_10GraphTools_1maxDegree = {"maxDegree", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_1maxDegree, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_maxDegree};
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_1maxDegree(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("maxDegree (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "maxDegree") < 0)) __PYX_ERR(0, 5234, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("maxDegree", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5234, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.maxDegree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 5234, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphTools_maxDegree(__pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_maxDegree(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("maxDegree", 0);

  /* "networkit/_NetworKit.pyx":5248
 * 			The maximum out-degree of the graph.
 * 		"""
 * 		return maxDegree(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = NetworKit::GraphTools::maxDegree(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5248, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5248, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5234
 * 
 * 	@staticmethod
 * 	def maxDegree(Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the maximum out-degree of the graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.maxDegree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5251
 * 
 * 	@staticmethod
 * 	def maxInDegree(Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the maximum in-degree of the graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_3maxInDegree(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10GraphTools_2maxInDegree[] = "\n\t\tReturns the maximum in-degree of the graph.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe input graph.\n\n\t\tReturns\n\t\t-------\n\t\tcount\n\t\t\tThe maximum in-degree of the graph.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_10GraphTools_3maxInDegree = {"maxInDegree", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_3maxInDegree, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_2maxInDegree};
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_3maxInDegree(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("maxInDegree (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "maxInDegree") < 0)) __PYX_ERR(0, 5251, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("maxInDegree", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5251, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.maxInDegree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 5251, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphTools_2maxInDegree(__pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_2maxInDegree(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("maxInDegree", 0);

  /* "networkit/_NetworKit.pyx":5265
 * 			The maximum in-degree of the graph.
 * 		"""
 * 		return maxInDegree(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = NetworKit::GraphTools::maxInDegree(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5265, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5251
 * 
 * 	@staticmethod
 * 	def maxInDegree(Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the maximum in-degree of the graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.maxInDegree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5268
 * 
 * 	@staticmethod
 * 	def maxWeightedDegree(Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the maximum weighted out-degree of the graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_5maxWeightedDegree(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10GraphTools_4maxWeightedDegree[] = "\n\t\tReturns the maximum weighted out-degree of the graph.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe input graph.\n\n\t\tReturns\n\t\t-------\n\t\tedgeweight\n\t\t\tThe maximum weighted out-degree of the graph.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_10GraphTools_5maxWeightedDegree = {"maxWeightedDegree", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_5maxWeightedDegree, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_4maxWeightedDegree};
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_5maxWeightedDegree(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("maxWeightedDegree (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "maxWeightedDegree") < 0)) __PYX_ERR(0, 5268, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("maxWeightedDegree", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5268, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.maxWeightedDegree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 5268, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphTools_4maxWeightedDegree(__pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_4maxWeightedDegree(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("maxWeightedDegree", 0);

  /* "networkit/_NetworKit.pyx":5282
 * 			The maximum weighted out-degree of the graph.
 * 		"""
 * 		return maxWeightedDegree(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = NetworKit::GraphTools::maxWeightedDegree(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5282, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5268
 * 
 * 	@staticmethod
 * 	def maxWeightedDegree(Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the maximum weighted out-degree of the graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.maxWeightedDegree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5285
 * 
 * 	@staticmethod
 * 	def maxWeightedInDegree(Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the maximum weighted in-degree of the graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_7maxWeightedInDegree(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10GraphTools_6maxWeightedInDegree[] = "\n\t\tReturns the maximum weighted in-degree of the graph.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe input graph.\n\n\t\tReturns\n\t\t-------\n\t\tedgeweight\n\t\t\tThe maximum weighted in-degree of the graph.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_10GraphTools_7maxWeightedInDegree = {"maxWeightedInDegree", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_7maxWeightedInDegree, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_6maxWeightedInDegree};
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_7maxWeightedInDegree(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("maxWeightedInDegree (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "maxWeightedInDegree") < 0)) __PYX_ERR(0, 5285, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("maxWeightedInDegree", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5285, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.maxWeightedInDegree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 5285, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphTools_6maxWeightedInDegree(__pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_6maxWeightedInDegree(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("maxWeightedInDegree", 0);

  /* "networkit/_NetworKit.pyx":5299
 * 			The maximum weighted in-degree of the graph.
 * 		"""
 * 		return maxWeightedInDegree(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = NetworKit::GraphTools::maxWeightedInDegree(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5299, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5299, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5285
 * 
 * 	@staticmethod
 * 	def maxWeightedInDegree(Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the maximum weighted in-degree of the graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.maxWeightedInDegree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5302
 * 
 * 	@staticmethod
 * 	def randomNode(Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns a random node of the input graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_9randomNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10GraphTools_8randomNode[] = "\n\t\tReturns a random node of the input graph.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe input graph.\n\n\t\tReturns\n\t\t-------\n\t\tnode\n\t\t\tA random node.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_10GraphTools_9randomNode = {"randomNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_9randomNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_8randomNode};
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_9randomNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("randomNode (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "randomNode") < 0)) __PYX_ERR(0, 5302, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("randomNode", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5302, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.randomNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 5302, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphTools_8randomNode(__pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_8randomNode(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("randomNode", 0);

  /* "networkit/_NetworKit.pyx":5316
 * 			A random node.
 * 		"""
 * 		return randomNode(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = NetworKit::GraphTools::randomNode(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5316, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5302
 * 
 * 	@staticmethod
 * 	def randomNode(Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns a random node of the input graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.randomNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5319
 * 
 * 	@staticmethod
 * 	def randomNeighbor(Graph G, node u):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns a random neighbor of node `u`.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_11randomNeighbor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10GraphTools_10randomNeighbor[] = "\n\t\tReturns a random neighbor of node `u`.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe input graph.\n\t\tu : node\n\t\t\tA node in `G`.\n\n\t\tReturns\n\t\t-------\n\t\tnode\n\t\t\tA random neighbor of `u`.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_10GraphTools_11randomNeighbor = {"randomNeighbor", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_11randomNeighbor, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_10randomNeighbor};
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_11randomNeighbor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("randomNeighbor (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_u,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("randomNeighbor", 1, 2, 2, 1); __PYX_ERR(0, 5319, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "randomNeighbor") < 0)) __PYX_ERR(0, 5319, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 5319, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("randomNeighbor", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5319, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.randomNeighbor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 5319, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphTools_10randomNeighbor(__pyx_v_G, __pyx_v_u);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_10randomNeighbor(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("randomNeighbor", 0);

  /* "networkit/_NetworKit.pyx":5335
 * 			A random neighbor of `u`.
 * 		"""
 * 		return randomNeighbor(G._this, u)             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = NetworKit::GraphTools::randomNeighbor(__pyx_v_G->_this, __pyx_v_u);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5335, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5335, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5319
 * 
 * 	@staticmethod
 * 	def randomNeighbor(Graph G, node u):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns a random neighbor of node `u`.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.randomNeighbor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5338
 * 
 * 	@staticmethod
 * 	def randomEdge(Graph G, uniformDistribution = False):             # <<<<<<<<<<<<<<
 * 		""" Get a random edge of the graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_13randomEdge(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10GraphTools_12randomEdge[] = " Get a random edge of the graph.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe input graph.\n\t\tuniformDistribution : bool\n\t\t\tIf the distribution of the edge shall be uniform.\n\n\t\tReturns\n\t\t-------\n\t\tpair\n\t\t\tRandom edge.\n\n\t\tNotes\n\t\t-----\n\t\tFast, but not uniformly random if uniformDistribution is not set,\n\t\tslow and uniformly random otherwise.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_10GraphTools_13randomEdge = {"randomEdge", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_13randomEdge, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_12randomEdge};
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_13randomEdge(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_uniformDistribution = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("randomEdge (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_uniformDistribution,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_uniformDistribution);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "randomEdge") < 0)) __PYX_ERR(0, 5338, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_uniformDistribution = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("randomEdge", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5338, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.randomEdge", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 5338, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphTools_12randomEdge(__pyx_v_G, __pyx_v_uniformDistribution);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_12randomEdge(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_uniformDistribution) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("randomEdge", 0);

  /* "networkit/_NetworKit.pyx":5358
 * 		slow and uniformly random otherwise.
 * 		"""
 * 		return randomEdge(G._this, uniformDistribution)             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_uniformDistribution); if (unlikely((__pyx_t_1 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 5358, __pyx_L1_error)
  try {
    __pyx_t_2 = NetworKit::GraphTools::randomEdge(__pyx_v_G->_this, __pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5358, __pyx_L1_error)
  }
  __pyx_t_3 = __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_node(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5358, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5338
 * 
 * 	@staticmethod
 * 	def randomEdge(Graph G, uniformDistribution = False):             # <<<<<<<<<<<<<<
 * 		""" Get a random edge of the graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.randomEdge", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5361
 * 
 * 	@staticmethod
 * 	def randomEdges(Graph G, numEdges):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns a list with numEdges random edges. The edges are chosen uniformly at random.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_15randomEdges(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10GraphTools_14randomEdges[] = "\n\t\tReturns a list with numEdges random edges. The edges are chosen uniformly at random.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe input graph.\n\t\tnumEdges : count\n\t\t\tThe number of edges to choose.\n\n\t\tReturns\n\t\t-------\n\t\tlist of pairs\n\t\t\tList of with `numEdges` random edges.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_10GraphTools_15randomEdges = {"randomEdges", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_15randomEdges, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_14randomEdges};
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_15randomEdges(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_numEdges = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("randomEdges (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_numEdges,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numEdges)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("randomEdges", 1, 2, 2, 1); __PYX_ERR(0, 5361, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "randomEdges") < 0)) __PYX_ERR(0, 5361, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_numEdges = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("randomEdges", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5361, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.randomEdges", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 5361, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphTools_14randomEdges(__pyx_v_G, __pyx_v_numEdges);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_14randomEdges(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_numEdges) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> >  __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("randomEdges", 0);

  /* "networkit/_NetworKit.pyx":5377
 * 			List of with `numEdges` random edges.
 * 		"""
 * 		return randomEdges(G._this, numEdges)             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_numEdges); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 5377, __pyx_L1_error)
  try {
    __pyx_t_2 = NetworKit::GraphTools::randomEdges(__pyx_v_G->_this, __pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5377, __pyx_L1_error)
  }
  __pyx_t_3 = __pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5361
 * 
 * 	@staticmethod
 * 	def randomEdges(Graph G, numEdges):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns a list with numEdges random edges. The edges are chosen uniformly at random.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.randomEdges", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5380
 * 
 * 	@staticmethod
 * 	def append(Graph G, Graph G1):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Appends graph `G1` to graph `G` as a new subgraph. Performs node id remapping.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_17append(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10GraphTools_16append[] = "\n\t\tAppends graph `G1` to graph `G` as a new subgraph. Performs node id remapping.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tGraph where `G1` will be appended to.\n\t\tG1 : networkit.Graph\n\t\t\tGraph that will be appended to `G`.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_10GraphTools_17append = {"append", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_17append, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_16append};
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_17append(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G1 = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("append (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_G1,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G1)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("append", 1, 2, 2, 1); __PYX_ERR(0, 5380, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "append") < 0)) __PYX_ERR(0, 5380, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_G1 = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("append", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5380, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.append", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 5380, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G1), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G1", 0))) __PYX_ERR(0, 5380, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphTools_16append(__pyx_v_G, __pyx_v_G1);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_16append(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G1) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("append", 0);

  /* "networkit/_NetworKit.pyx":5391
 * 			Graph that will be appended to `G`.
 * 		"""
 * 		append(G._this, G1._this)             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  try {
    NetworKit::GraphTools::append(__pyx_v_G->_this, __pyx_v_G1->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5391, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":5380
 * 
 * 	@staticmethod
 * 	def append(Graph G, Graph G1):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Appends graph `G1` to graph `G` as a new subgraph. Performs node id remapping.
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.append", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5394
 * 
 * 	@staticmethod
 * 	def merge(Graph G, Graph G1):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Modifies graph `G` to be the union of it and graph `G1`.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_19merge(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10GraphTools_18merge[] = "\n\t\tModifies graph `G` to be the union of it and graph `G1`.\n\t\tNodes with the same ids are identified with each other.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tResult of the merge.\n\t\tG1 : networkit.Graph\n\t\t\tGraph that will be merged with `G`.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_10GraphTools_19merge = {"merge", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_19merge, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_18merge};
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_19merge(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G1 = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("merge (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_G1,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G1)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("merge", 1, 2, 2, 1); __PYX_ERR(0, 5394, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "merge") < 0)) __PYX_ERR(0, 5394, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_G1 = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("merge", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5394, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.merge", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 5394, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G1), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G1", 0))) __PYX_ERR(0, 5394, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphTools_18merge(__pyx_v_G, __pyx_v_G1);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_18merge(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G1) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("merge", 0);

  /* "networkit/_NetworKit.pyx":5406
 * 			Graph that will be merged with `G`.
 * 		"""
 * 		merge(G._this, G1._this)             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  try {
    NetworKit::GraphTools::merge(__pyx_v_G->_this, __pyx_v_G1->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5406, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":5394
 * 
 * 	@staticmethod
 * 	def merge(Graph G, Graph G1):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Modifies graph `G` to be the union of it and graph `G1`.
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.merge", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5409
 * 
 * 	@staticmethod
 * 	def removeEdgesFromIsolatedSet(Graph graph, nodes):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Efficiently removes all the edges adjacent to a set of nodes that is
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_21removeEdgesFromIsolatedSet(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10GraphTools_20removeEdgesFromIsolatedSet[] = "\n\t\tEfficiently removes all the edges adjacent to a set of nodes that is\n\t\tnot connected to the rest of the graph. This is meant to optimize the\n\t\tKadabra algorithm.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe input graph.\n\t\tnodes : list\n\t\t\tIsolates set of nodes from where the edges will be removed.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_10GraphTools_21removeEdgesFromIsolatedSet = {"removeEdgesFromIsolatedSet", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_21removeEdgesFromIsolatedSet, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_20removeEdgesFromIsolatedSet};
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_21removeEdgesFromIsolatedSet(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph = 0;
  PyObject *__pyx_v_nodes = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("removeEdgesFromIsolatedSet (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_nodes,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nodes)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("removeEdgesFromIsolatedSet", 1, 2, 2, 1); __PYX_ERR(0, 5409, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "removeEdgesFromIsolatedSet") < 0)) __PYX_ERR(0, 5409, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_graph = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_nodes = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("removeEdgesFromIsolatedSet", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5409, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.removeEdgesFromIsolatedSet", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_graph), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "graph", 0))) __PYX_ERR(0, 5409, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphTools_20removeEdgesFromIsolatedSet(__pyx_v_graph, __pyx_v_nodes);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_20removeEdgesFromIsolatedSet(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph, PyObject *__pyx_v_nodes) {
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_isolatedSet;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __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;
  __Pyx_RefNannySetupContext("removeEdgesFromIsolatedSet", 0);

  /* "networkit/_NetworKit.pyx":5424
 * 		cdef vector[node] isolatedSet
 * 
 * 		try:             # <<<<<<<<<<<<<<
 * 			isolatedSet = <vector[node]?>nodes
 * 		except TypeError:
 */
  {
    __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:*/ {

      /* "networkit/_NetworKit.pyx":5425
 * 
 * 		try:
 * 			isolatedSet = <vector[node]?>nodes             # <<<<<<<<<<<<<<
 * 		except TypeError:
 * 			raise RuntimeError("Error, nodes must be a list of nodes.")
 */
      __pyx_t_4 = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_node(__pyx_v_nodes); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 5425, __pyx_L3_error)
      __pyx_v_isolatedSet = ((std::vector<__pyx_t_9networkit_10_NetworKit_node> )__pyx_t_4);

      /* "networkit/_NetworKit.pyx":5424
 * 		cdef vector[node] isolatedSet
 * 
 * 		try:             # <<<<<<<<<<<<<<
 * 			isolatedSet = <vector[node]?>nodes
 * 		except TypeError:
 */
    }
    __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:;

    /* "networkit/_NetworKit.pyx":5426
 * 		try:
 * 			isolatedSet = <vector[node]?>nodes
 * 		except TypeError:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, nodes must be a list of nodes.")
 * 		removeEdgesFromIsolatedSet[vector[node].iterator](graph._this,
 */
    __pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_TypeError);
    if (__pyx_t_5) {
      __Pyx_AddTraceback("networkit._NetworKit.GraphTools.removeEdgesFromIsolatedSet", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0) __PYX_ERR(0, 5426, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_GOTREF(__pyx_t_8);

      /* "networkit/_NetworKit.pyx":5427
 * 			isolatedSet = <vector[node]?>nodes
 * 		except TypeError:
 * 			raise RuntimeError("Error, nodes must be a list of nodes.")             # <<<<<<<<<<<<<<
 * 		removeEdgesFromIsolatedSet[vector[node].iterator](graph._this,
 * 				isolatedSet.begin(), isolatedSet.end())
 */
      __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__170, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5427, __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(0, 5427, __pyx_L5_except_error)
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "networkit/_NetworKit.pyx":5424
 * 		cdef vector[node] isolatedSet
 * 
 * 		try:             # <<<<<<<<<<<<<<
 * 			isolatedSet = <vector[node]?>nodes
 * 		except TypeError:
 */
    __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:;
  }

  /* "networkit/_NetworKit.pyx":5428
 * 		except TypeError:
 * 			raise RuntimeError("Error, nodes must be a list of nodes.")
 * 		removeEdgesFromIsolatedSet[vector[node].iterator](graph._this,             # <<<<<<<<<<<<<<
 * 				isolatedSet.begin(), isolatedSet.end())
 * 
 */
  try {
    NetworKit::GraphTools::removeEdgesFromIsolatedSet<std::vector<__pyx_t_9networkit_10_NetworKit_node> ::iterator>(__pyx_v_graph->_this, __pyx_v_isolatedSet.begin(), __pyx_v_isolatedSet.end());
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5428, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":5409
 * 
 * 	@staticmethod
 * 	def removeEdgesFromIsolatedSet(Graph graph, nodes):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Efficiently removes all the edges adjacent to a set of nodes that is
 */

  /* 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("networkit._NetworKit.GraphTools.removeEdgesFromIsolatedSet", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5432
 * 
 * 	@staticmethod
 * 	def toUndirected(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns an undirected copy of the input graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_23toUndirected(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10GraphTools_22toUndirected[] = "\n\t\tReturns an undirected copy of the input graph.\n\n\t\tParameters\n\t\t----------\n\t\tgraph : networkit.Graph\n\t\t\tThe input graph.\n\n\t\tReturns\n\t\t-------\n\t\tgraph : networkit.Graph\n\t\t\tUndirected copy of the input graph.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_10GraphTools_23toUndirected = {"toUndirected", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_23toUndirected, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_22toUndirected};
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_23toUndirected(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("toUndirected (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "toUndirected") < 0)) __PYX_ERR(0, 5432, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_graph = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("toUndirected", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5432, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.toUndirected", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_graph), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "graph", 0))) __PYX_ERR(0, 5432, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphTools_22toUndirected(__pyx_v_graph);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_22toUndirected(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Graph __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("toUndirected", 0);

  /* "networkit/_NetworKit.pyx":5446
 * 			Undirected copy of the input graph.
 * 		"""
 * 		return Graph().setThis(toUndirected(graph._this))             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5446, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = NetworKit::GraphTools::toUndirected(__pyx_v_graph->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5446, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5446, __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;

  /* "networkit/_NetworKit.pyx":5432
 * 
 * 	@staticmethod
 * 	def toUndirected(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns an undirected copy of the input graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.toUndirected", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5449
 * 
 * 	@staticmethod
 * 	def toUnweighted(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns an unweighted copy of the input graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_25toUnweighted(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10GraphTools_24toUnweighted[] = "\n\t\tReturns an unweighted copy of the input graph.\n\n\t\tParameters\n\t\t----------\n\t\tgraph : networkit.Graph\n\t\t\tThe input graph.\n\n\t\tReturns\n\t\t-------\n\t\tgraph : networkit.Graph\n\t\t\tUnweighted copy of the input graph.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_10GraphTools_25toUnweighted = {"toUnweighted", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_25toUnweighted, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_24toUnweighted};
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_25toUnweighted(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("toUnweighted (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "toUnweighted") < 0)) __PYX_ERR(0, 5449, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_graph = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("toUnweighted", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5449, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.toUnweighted", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_graph), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "graph", 0))) __PYX_ERR(0, 5449, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphTools_24toUnweighted(__pyx_v_graph);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_24toUnweighted(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Graph __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("toUnweighted", 0);

  /* "networkit/_NetworKit.pyx":5463
 * 			Unweighted copy of the input graph.
 * 		"""
 * 		return Graph().setThis(toUnweighted(graph._this))             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = NetworKit::GraphTools::toUnweighted(__pyx_v_graph->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5463, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5463, __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;

  /* "networkit/_NetworKit.pyx":5449
 * 
 * 	@staticmethod
 * 	def toUnweighted(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns an unweighted copy of the input graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.toUnweighted", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5466
 * 
 * 	@staticmethod
 * 	def toWeighted(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns a weighted copy of the input graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_27toWeighted(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10GraphTools_26toWeighted[] = "\n\t\tReturns a weighted copy of the input graph.\n\n\t\tParameters\n\t\t----------\n\t\tgraph : networkit.Graph\n\t\t\tThe input graph.\n\n\t\tReturns\n\t\t-------\n\t\tgraph : networkit.Graph\n\t\t\tWeighted copy of the input graph.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_10GraphTools_27toWeighted = {"toWeighted", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_27toWeighted, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_26toWeighted};
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_27toWeighted(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("toWeighted (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "toWeighted") < 0)) __PYX_ERR(0, 5466, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_graph = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("toWeighted", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5466, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.toWeighted", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_graph), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "graph", 0))) __PYX_ERR(0, 5466, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphTools_26toWeighted(__pyx_v_graph);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_26toWeighted(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Graph __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("toWeighted", 0);

  /* "networkit/_NetworKit.pyx":5480
 * 			Weighted copy of the input graph.
 * 		"""
 * 		return Graph().setThis(toWeighted(graph._this))             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5480, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = NetworKit::GraphTools::toWeighted(__pyx_v_graph->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5480, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5480, __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;

  /* "networkit/_NetworKit.pyx":5466
 * 
 * 	@staticmethod
 * 	def toWeighted(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns a weighted copy of the input graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.toWeighted", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5483
 * 
 * 	@staticmethod
 * 	def size(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Return the size of the graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_29size(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10GraphTools_28size[] = "\n\t\tReturn the size of the graph.\n\n\t\tReturns\n\t\t-------\n\t\ttuple\n\t\t\ta pair (n, m) where n is the number of nodes and m is the number of edges.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_10GraphTools_29size = {"size", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_29size, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_28size};
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_29size(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("size (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "size") < 0)) __PYX_ERR(0, 5483, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_graph = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("size", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5483, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.size", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_graph), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "graph", 0))) __PYX_ERR(0, 5483, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphTools_28size(__pyx_v_graph);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_28size(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::pair<__pyx_t_9networkit_10_NetworKit_count,__pyx_t_9networkit_10_NetworKit_count>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("size", 0);

  /* "networkit/_NetworKit.pyx":5492
 * 			a pair (n, m) where n is the number of nodes and m is the number of edges.
 * 		"""
 * 		return size(graph._this)             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = NetworKit::GraphTools::size(__pyx_v_graph->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5492, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_count______pyx_t_9networkit_10_NetworKit_count(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5483
 * 
 * 	@staticmethod
 * 	def size(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Return the size of the graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.size", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5495
 * 
 * 	@staticmethod
 * 	def density(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get the density of the input graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_31density(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10GraphTools_30density[] = "\n\t\tGet the density of the input graph.\n\n\t\tParameters\n\t\t----------\n\t\tgraph : networkit.Graph\n\t\t\tThe input graph.\n\n\t\tReturns\n\t\t-------\n\t\tdouble\n\t\t\tThe density of the input graph.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_10GraphTools_31density = {"density", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_31density, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_30density};
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_31density(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("density (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "density") < 0)) __PYX_ERR(0, 5495, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_graph = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("density", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5495, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.density", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_graph), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "graph", 0))) __PYX_ERR(0, 5495, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphTools_30density(__pyx_v_graph);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_30density(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("density", 0);

  /* "networkit/_NetworKit.pyx":5509
 * 			The density of the input graph.
 * 		"""
 * 		return density(graph._this)             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = NetworKit::GraphTools::density(__pyx_v_graph->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5509, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5495
 * 
 * 	@staticmethod
 * 	def density(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get the density of the input graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.density", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5512
 * 
 * 	@staticmethod
 * 	def copyNodes(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Copies all nodes of the input graph to a new graph (edges are not copied).
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_33copyNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10GraphTools_32copyNodes[] = "\n\t\tCopies all nodes of the input graph to a new graph (edges are not copied).\n\n\t\tParameters\n\t\t----------\n\t\tgraph : networkit.Graph\n\t\t\tThe input graph.\n\n\t\tReturns\n\t\t-------\n\t\tgraph : networkit.Graph\n\t\t\tGraph with the same nodes as the input graph (and without any edge).\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_10GraphTools_33copyNodes = {"copyNodes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_33copyNodes, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_32copyNodes};
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_33copyNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("copyNodes (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "copyNodes") < 0)) __PYX_ERR(0, 5512, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_graph = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("copyNodes", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5512, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.copyNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_graph), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "graph", 0))) __PYX_ERR(0, 5512, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphTools_32copyNodes(__pyx_v_graph);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_32copyNodes(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Graph __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("copyNodes", 0);

  /* "networkit/_NetworKit.pyx":5526
 * 			Graph with the same nodes as the input graph (and without any edge).
 * 		"""
 * 		return Graph().setThis(copyNodes(graph._this))             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = NetworKit::GraphTools::copyNodes(__pyx_v_graph->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5526, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5526, __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;

  /* "networkit/_NetworKit.pyx":5512
 * 
 * 	@staticmethod
 * 	def copyNodes(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Copies all nodes of the input graph to a new graph (edges are not copied).
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.copyNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5529
 * 
 * 	@staticmethod
 * 	def subgraphFromNodes(Graph graph, nodes, includeOutNeighbors=False, includeInNeighbors=False):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns an induced subgraph of the input graph (including potential edge
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_35subgraphFromNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10GraphTools_34subgraphFromNodes[] = "\n\t\tReturns an induced subgraph of the input graph (including potential edge\n\t\tweights/directions).\n\n\t\tParameters\n\t\t----------\n\t\tgraph : networkit.Graph\n\t\t\tThe input graph.\n\t\tnodes : set\n\t\t\tNodes in the induced subgraph.\n\t\tincludeOutNeighbors : bool\n\t\t\tIf set to true, out-neighbors will also be included.\n\t\tincludeInNeighbors : bool\n\t\t\tIf set to true, in-neighbors will also be included.\n\n\t\tReturns\n\t\t-------\n\t\tgraph : networkit.Graph\n\t\t\tInduced subgraph.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_10GraphTools_35subgraphFromNodes = {"subgraphFromNodes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_35subgraphFromNodes, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_34subgraphFromNodes};
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_35subgraphFromNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph = 0;
  PyObject *__pyx_v_nodes = 0;
  PyObject *__pyx_v_includeOutNeighbors = 0;
  PyObject *__pyx_v_includeInNeighbors = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("subgraphFromNodes (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_nodes,&__pyx_n_s_includeOutNeighbors,&__pyx_n_s_includeInNeighbors,0};
    PyObject* values[4] = {0,0,0,0};
    values[2] = ((PyObject *)Py_False);
    values[3] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nodes)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("subgraphFromNodes", 0, 2, 4, 1); __PYX_ERR(0, 5529, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_includeOutNeighbors);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_includeInNeighbors);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "subgraphFromNodes") < 0)) __PYX_ERR(0, 5529, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_graph = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_nodes = values[1];
    __pyx_v_includeOutNeighbors = values[2];
    __pyx_v_includeInNeighbors = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("subgraphFromNodes", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5529, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.subgraphFromNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_graph), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "graph", 0))) __PYX_ERR(0, 5529, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphTools_34subgraphFromNodes(__pyx_v_graph, __pyx_v_nodes, __pyx_v_includeOutNeighbors, __pyx_v_includeInNeighbors);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_34subgraphFromNodes(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph, PyObject *__pyx_v_nodes, PyObject *__pyx_v_includeOutNeighbors, PyObject *__pyx_v_includeInNeighbors) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  std::unordered_set<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_2;
  bool __pyx_t_3;
  bool __pyx_t_4;
  NetworKit::Graph __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("subgraphFromNodes", 0);

  /* "networkit/_NetworKit.pyx":5550
 * 			Induced subgraph.
 * 		"""
 * 		return Graph().setThis(subgraphFromNodes(             # <<<<<<<<<<<<<<
 * 			graph._this, nodes, includeOutNeighbors, includeInNeighbors))
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "networkit/_NetworKit.pyx":5551
 * 		"""
 * 		return Graph().setThis(subgraphFromNodes(
 * 			graph._this, nodes, includeOutNeighbors, includeInNeighbors))             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __pyx_t_2 = __pyx_convert_unordered_set_from_py___pyx_t_9networkit_10_NetworKit_node(__pyx_v_nodes); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 5551, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_includeOutNeighbors); if (unlikely((__pyx_t_3 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 5551, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_includeInNeighbors); if (unlikely((__pyx_t_4 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 5551, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5550
 * 			Induced subgraph.
 * 		"""
 * 		return Graph().setThis(subgraphFromNodes(             # <<<<<<<<<<<<<<
 * 			graph._this, nodes, includeOutNeighbors, includeInNeighbors))
 * 
 */
  try {
    __pyx_t_5 = NetworKit::GraphTools::subgraphFromNodes(__pyx_v_graph->_this, __pyx_t_2, __pyx_t_3, __pyx_t_4);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5550, __pyx_L1_error)
  }
  __pyx_t_6 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5529
 * 
 * 	@staticmethod
 * 	def subgraphFromNodes(Graph graph, nodes, includeOutNeighbors=False, includeInNeighbors=False):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns an induced subgraph of the input graph (including potential edge
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.subgraphFromNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5554
 * 
 * 	@staticmethod
 * 	def transpose(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the transpose of the input graph. The graph must be directed.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_37transpose(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10GraphTools_36transpose[] = "\n\t\tReturns the transpose of the input graph. The graph must be directed.\n\n\t\tParameters\n\t\t----------\n\t\tgraph : networkit.Graph\n\t\t\tThe input graph.\n\n\t\tReturns\n\t\tgraph : networkit.Graph\n\t\t\tTranspose of the input graph.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_10GraphTools_37transpose = {"transpose", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_37transpose, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_36transpose};
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_37transpose(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("transpose (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "transpose") < 0)) __PYX_ERR(0, 5554, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_graph = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("transpose", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5554, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.transpose", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_graph), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "graph", 0))) __PYX_ERR(0, 5554, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphTools_36transpose(__pyx_v_graph);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_36transpose(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Graph __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("transpose", 0);

  /* "networkit/_NetworKit.pyx":5567
 * 			Transpose of the input graph.
 * 		"""
 * 		return Graph().setThis(transpose(graph._this))             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = NetworKit::GraphTools::transpose(__pyx_v_graph->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5567, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5567, __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;

  /* "networkit/_NetworKit.pyx":5554
 * 
 * 	@staticmethod
 * 	def transpose(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the transpose of the input graph. The graph must be directed.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.transpose", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5570
 * 
 * 	@staticmethod
 * 	def getCompactedGraph(Graph graph, nodeIdMap):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Computes a graph with the same structure but with continuous node ids.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_39getCompactedGraph(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10GraphTools_38getCompactedGraph[] = "\n\t\tComputes a graph with the same structure but with continuous node ids.\n\n\t\tParameters\n\t\t----------\n\t\tgraph : networkit.Graph\n\t\t\tThe graph to be compacted.\n\t\tnodeIdMap:\n\t\t\tThe map providing the information about the node ids.\n\n\t\tReturns\n\t\t-------\n\t\tnetworkit.Graph\n\t\t\tThe compacted graph\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_10GraphTools_39getCompactedGraph = {"getCompactedGraph", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_39getCompactedGraph, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_38getCompactedGraph};
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_39getCompactedGraph(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph = 0;
  PyObject *__pyx_v_nodeIdMap = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getCompactedGraph (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_nodeIdMap,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nodeIdMap)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("getCompactedGraph", 1, 2, 2, 1); __PYX_ERR(0, 5570, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getCompactedGraph") < 0)) __PYX_ERR(0, 5570, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_graph = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_nodeIdMap = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getCompactedGraph", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5570, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.getCompactedGraph", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_graph), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "graph", 0))) __PYX_ERR(0, 5570, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphTools_38getCompactedGraph(__pyx_v_graph, __pyx_v_nodeIdMap);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_38getCompactedGraph(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph, PyObject *__pyx_v_nodeIdMap) {
  std::unordered_map<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_cNodeIdMap;
  PyObject *__pyx_v_key = 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;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_5;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_6;
  NetworKit::Graph __pyx_t_7;
  __Pyx_RefNannySetupContext("getCompactedGraph", 0);

  /* "networkit/_NetworKit.pyx":5587
 * 		"""
 * 		cdef unordered_map[node,node] cNodeIdMap
 * 		for key in nodeIdMap:             # <<<<<<<<<<<<<<
 * 			cNodeIdMap[key] = nodeIdMap[key]
 * 		return Graph().setThis(getCompactedGraph(graph._this,cNodeIdMap))
 */
  if (likely(PyList_CheckExact(__pyx_v_nodeIdMap)) || PyTuple_CheckExact(__pyx_v_nodeIdMap)) {
    __pyx_t_1 = __pyx_v_nodeIdMap; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_nodeIdMap); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5587, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5587, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 5587, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5587, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 5587, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5587, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 5587, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "networkit/_NetworKit.pyx":5588
 * 		cdef unordered_map[node,node] cNodeIdMap
 * 		for key in nodeIdMap:
 * 			cNodeIdMap[key] = nodeIdMap[key]             # <<<<<<<<<<<<<<
 * 		return Graph().setThis(getCompactedGraph(graph._this,cNodeIdMap))
 * 
 */
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_nodeIdMap, __pyx_v_key); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5588, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyInt_As_uint64_t(__pyx_t_4); if (unlikely((__pyx_t_5 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 5588, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_6 = __Pyx_PyInt_As_uint64_t(__pyx_v_key); if (unlikely((__pyx_t_6 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 5588, __pyx_L1_error)
    (__pyx_v_cNodeIdMap[__pyx_t_6]) = __pyx_t_5;

    /* "networkit/_NetworKit.pyx":5587
 * 		"""
 * 		cdef unordered_map[node,node] cNodeIdMap
 * 		for key in nodeIdMap:             # <<<<<<<<<<<<<<
 * 			cNodeIdMap[key] = nodeIdMap[key]
 * 		return Graph().setThis(getCompactedGraph(graph._this,cNodeIdMap))
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":5589
 * 		for key in nodeIdMap:
 * 			cNodeIdMap[key] = nodeIdMap[key]
 * 		return Graph().setThis(getCompactedGraph(graph._this,cNodeIdMap))             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5589, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_7 = NetworKit::GraphTools::getCompactedGraph(__pyx_v_graph->_this, __pyx_v_cNodeIdMap);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5589, __pyx_L1_error)
  }
  __pyx_t_4 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5589, __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;

  /* "networkit/_NetworKit.pyx":5570
 * 
 * 	@staticmethod
 * 	def getCompactedGraph(Graph graph, nodeIdMap):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Computes a graph with the same structure but with continuous node ids.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.getCompactedGraph", __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;
}

/* "networkit/_NetworKit.pyx":5592
 * 
 * 	@staticmethod
 * 	def getContinuousNodeIds(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Computes a map of node ids to continuous node ids.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_41getContinuousNodeIds(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10GraphTools_40getContinuousNodeIds[] = "\n\t\tComputes a map of node ids to continuous node ids.\n\n\t\tParameters\n\t\t----------\n\t\tgraph : networkit.Graph\n\t\t\tThe graph of which the node id map is wanted.\n\t\tReturns\n\t\t-------\n\t\t\tReturns the node id map\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_10GraphTools_41getContinuousNodeIds = {"getContinuousNodeIds", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_41getContinuousNodeIds, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_40getContinuousNodeIds};
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_41getContinuousNodeIds(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getContinuousNodeIds (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getContinuousNodeIds") < 0)) __PYX_ERR(0, 5592, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_graph = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getContinuousNodeIds", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5592, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.getContinuousNodeIds", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_graph), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "graph", 0))) __PYX_ERR(0, 5592, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphTools_40getContinuousNodeIds(__pyx_v_graph);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_40getContinuousNodeIds(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph) {
  std::unordered_map<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_cResult;
  PyObject *__pyx_v_result = NULL;
  std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_elem;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::unordered_map<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  std::unordered_map<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ::iterator __pyx_t_3;
  std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("getContinuousNodeIds", 0);

  /* "networkit/_NetworKit.pyx":5605
 * 		"""
 * 		cdef unordered_map[node,node] cResult
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			cResult = getContinuousNodeIds(graph._this)
 * 		result = dict()
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":5606
 * 		cdef unordered_map[node,node] cResult
 * 		with nogil:
 * 			cResult = getContinuousNodeIds(graph._this)             # <<<<<<<<<<<<<<
 * 		result = dict()
 * 		for elem in cResult:
 */
        try {
          __pyx_t_1 = NetworKit::GraphTools::getContinuousNodeIds(__pyx_v_graph->_this);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 5606, __pyx_L4_error)
        }
        __pyx_v_cResult = __pyx_t_1;
      }

      /* "networkit/_NetworKit.pyx":5605
 * 		"""
 * 		cdef unordered_map[node,node] cResult
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			cResult = getContinuousNodeIds(graph._this)
 * 		result = dict()
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":5607
 * 		with nogil:
 * 			cResult = getContinuousNodeIds(graph._this)
 * 		result = dict()             # <<<<<<<<<<<<<<
 * 		for elem in cResult:
 * 			result[elem.first] = elem.second
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_result = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":5608
 * 			cResult = getContinuousNodeIds(graph._this)
 * 		result = dict()
 * 		for elem in cResult:             # <<<<<<<<<<<<<<
 * 			result[elem.first] = elem.second
 * 		return result
 */
  __pyx_t_3 = __pyx_v_cResult.begin();
  for (;;) {
    if (!(__pyx_t_3 != __pyx_v_cResult.end())) break;
    __pyx_t_4 = *__pyx_t_3;
    ++__pyx_t_3;
    __pyx_v_elem = __pyx_t_4;

    /* "networkit/_NetworKit.pyx":5609
 * 		result = dict()
 * 		for elem in cResult:
 * 			result[elem.first] = elem.second             # <<<<<<<<<<<<<<
 * 		return result
 * 
 */
    __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_v_elem.second); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5609, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = __Pyx_PyInt_From_uint64_t(__pyx_v_elem.first); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5609, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (unlikely(PyDict_SetItem(__pyx_v_result, __pyx_t_5, __pyx_t_2) < 0)) __PYX_ERR(0, 5609, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "networkit/_NetworKit.pyx":5608
 * 			cResult = getContinuousNodeIds(graph._this)
 * 		result = dict()
 * 		for elem in cResult:             # <<<<<<<<<<<<<<
 * 			result[elem.first] = elem.second
 * 		return result
 */
  }

  /* "networkit/_NetworKit.pyx":5610
 * 		for elem in cResult:
 * 			result[elem.first] = elem.second
 * 		return result             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_result);
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5592
 * 
 * 	@staticmethod
 * 	def getContinuousNodeIds(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Computes a map of node ids to continuous node ids.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.getContinuousNodeIds", __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;
}

/* "networkit/_NetworKit.pyx":5613
 * 
 * 	@staticmethod
 * 	def getRandomContinuousNodeIds(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Computes a map of node ids to continuous, randomly permutated node ids.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_43getRandomContinuousNodeIds(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10GraphTools_42getRandomContinuousNodeIds[] = "\n\t\tComputes a map of node ids to continuous, randomly permutated node ids.\n\n\t\tParameters\n\t\t----------\n\t\tgraph : networkit.Graph\n\t\t\tThe graph of which the node id map is wanted.\n\t\tReturns\n\t\t-------\n\t\t\tReturns the node id map\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_10GraphTools_43getRandomContinuousNodeIds = {"getRandomContinuousNodeIds", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_43getRandomContinuousNodeIds, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_42getRandomContinuousNodeIds};
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_43getRandomContinuousNodeIds(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getRandomContinuousNodeIds (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getRandomContinuousNodeIds") < 0)) __PYX_ERR(0, 5613, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_graph = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getRandomContinuousNodeIds", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5613, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.getRandomContinuousNodeIds", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_graph), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "graph", 0))) __PYX_ERR(0, 5613, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphTools_42getRandomContinuousNodeIds(__pyx_v_graph);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_42getRandomContinuousNodeIds(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph) {
  std::unordered_map<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_cResult;
  PyObject *__pyx_v_result = NULL;
  std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_elem;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::unordered_map<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  std::unordered_map<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ::iterator __pyx_t_3;
  std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("getRandomContinuousNodeIds", 0);

  /* "networkit/_NetworKit.pyx":5626
 * 		"""
 * 		cdef unordered_map[node,node] cResult
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			cResult = getRandomContinuousNodeIds(graph._this)
 * 		result = dict()
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":5627
 * 		cdef unordered_map[node,node] cResult
 * 		with nogil:
 * 			cResult = getRandomContinuousNodeIds(graph._this)             # <<<<<<<<<<<<<<
 * 		result = dict()
 * 		for elem in cResult:
 */
        try {
          __pyx_t_1 = NetworKit::GraphTools::getRandomContinuousNodeIds(__pyx_v_graph->_this);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 5627, __pyx_L4_error)
        }
        __pyx_v_cResult = __pyx_t_1;
      }

      /* "networkit/_NetworKit.pyx":5626
 * 		"""
 * 		cdef unordered_map[node,node] cResult
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			cResult = getRandomContinuousNodeIds(graph._this)
 * 		result = dict()
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":5628
 * 		with nogil:
 * 			cResult = getRandomContinuousNodeIds(graph._this)
 * 		result = dict()             # <<<<<<<<<<<<<<
 * 		for elem in cResult:
 * 			result[elem.first] = elem.second
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_result = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":5629
 * 			cResult = getRandomContinuousNodeIds(graph._this)
 * 		result = dict()
 * 		for elem in cResult:             # <<<<<<<<<<<<<<
 * 			result[elem.first] = elem.second
 * 		return result
 */
  __pyx_t_3 = __pyx_v_cResult.begin();
  for (;;) {
    if (!(__pyx_t_3 != __pyx_v_cResult.end())) break;
    __pyx_t_4 = *__pyx_t_3;
    ++__pyx_t_3;
    __pyx_v_elem = __pyx_t_4;

    /* "networkit/_NetworKit.pyx":5630
 * 		result = dict()
 * 		for elem in cResult:
 * 			result[elem.first] = elem.second             # <<<<<<<<<<<<<<
 * 		return result
 * 
 */
    __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_v_elem.second); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5630, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = __Pyx_PyInt_From_uint64_t(__pyx_v_elem.first); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5630, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (unlikely(PyDict_SetItem(__pyx_v_result, __pyx_t_5, __pyx_t_2) < 0)) __PYX_ERR(0, 5630, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "networkit/_NetworKit.pyx":5629
 * 			cResult = getRandomContinuousNodeIds(graph._this)
 * 		result = dict()
 * 		for elem in cResult:             # <<<<<<<<<<<<<<
 * 			result[elem.first] = elem.second
 * 		return result
 */
  }

  /* "networkit/_NetworKit.pyx":5631
 * 		for elem in cResult:
 * 			result[elem.first] = elem.second
 * 		return result             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_result);
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5613
 * 
 * 	@staticmethod
 * 	def getRandomContinuousNodeIds(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Computes a map of node ids to continuous, randomly permutated node ids.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("networkit._NetworKit.GraphTools.getRandomContinuousNodeIds", __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;
}

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

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_45__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_45__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphTools_44__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GraphTools *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_44__reduce_cython__(struct __pyx_obj_9networkit_10_NetworKit_GraphTools *__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;
  __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:
 */
  __Pyx_INCREF(__pyx_empty_tuple);
  __pyx_v_state = __pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_2 = (__pyx_v__dict != Py_None);
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (__pyx_t_3) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 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:
 *         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:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_GraphTools, (type(self), 0xd41d8cd, None), state
 */
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_GraphTools, (type(self), 0xd41d8cd, None), state
 *     else:
 */
  __pyx_t_3 = (__pyx_v_use_setstate != 0);
  if (__pyx_t_3) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_GraphTools, (type(self), 0xd41d8cd, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_GraphTools, (type(self), 0xd41d8cd, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_GraphTools); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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))));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_222419149);
    __Pyx_GIVEREF(__pyx_int_222419149);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state);
    __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_GraphTools, (type(self), 0xd41d8cd, None), state
 *     else:
 */
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_GraphTools, (type(self), 0xd41d8cd, None), state
 *     else:
 *         return __pyx_unpickle_GraphTools, (type(self), 0xd41d8cd, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_GraphTools__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle_GraphTools); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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))));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_222419149);
    __Pyx_GIVEREF(__pyx_int_222419149);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
    __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("networkit._NetworKit.GraphTools.__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_GraphTools, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_GraphTools__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_47__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphTools_47__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphTools_46__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GraphTools *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphTools_46__setstate_cython__(struct __pyx_obj_9networkit_10_NetworKit_GraphTools *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_GraphTools, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_GraphTools__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
  __pyx_t_1 = __pyx_f_9networkit_10_NetworKit___pyx_unpickle_GraphTools__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_GraphTools, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_GraphTools__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_AddTraceback("networkit._NetworKit.GraphTools.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5645
 * 	"""
 * 	cdef _PartitionIntersection _this
 * 	def calculate(self, Partition zeta, Partition eta):             # <<<<<<<<<<<<<<
 * 		"""  Calculate the intersection of two partitions `zeta` and `eta`
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_21PartitionIntersection_1calculate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_21PartitionIntersection_calculate[] = "  Calculate the intersection of two partitions `zeta` and `eta`\n\n\t\tParameters\n\t\t----------\n\t\tzeta: networkit.Partition\n\t\t\tThe first partition\n\t\teta: networkit.Partition\n\t\t\tThe second partition\n\n\t\tReturns\n\t\t-------\n\t\tnetworkit.Partition\n\t\t\tThe intersection of zeta and eta\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_21PartitionIntersection_1calculate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_eta = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("calculate (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_zeta,&__pyx_n_s_eta,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zeta)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_eta)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("calculate", 1, 2, 2, 1); __PYX_ERR(0, 5645, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "calculate") < 0)) __PYX_ERR(0, 5645, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_zeta = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[0]);
    __pyx_v_eta = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("calculate", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5645, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PartitionIntersection.calculate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_zeta), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "zeta", 0))) __PYX_ERR(0, 5645, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_eta), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "eta", 0))) __PYX_ERR(0, 5645, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21PartitionIntersection_calculate(((struct __pyx_obj_9networkit_10_NetworKit_PartitionIntersection *)__pyx_v_self), __pyx_v_zeta, __pyx_v_eta);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21PartitionIntersection_calculate(struct __pyx_obj_9networkit_10_NetworKit_PartitionIntersection *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_eta) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Partition __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("calculate", 0);

  /* "networkit/_NetworKit.pyx":5660
 * 			The intersection of zeta and eta
 * 		"""
 * 		return Partition().setThis(self._this.calculate(zeta._this, eta._this))             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/community/Coverage.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Partition)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5660, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = __pyx_v_self->_this.calculate(__pyx_v_zeta->_this, __pyx_v_eta->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5660, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Partition *)((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5660, __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;

  /* "networkit/_NetworKit.pyx":5645
 * 	"""
 * 	cdef _PartitionIntersection _this
 * 	def calculate(self, Partition zeta, Partition eta):             # <<<<<<<<<<<<<<
 * 		"""  Calculate the intersection of two partitions `zeta` and `eta`
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.PartitionIntersection.calculate", __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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_21PartitionIntersection_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21PartitionIntersection_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21PartitionIntersection_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PartitionIntersection *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21PartitionIntersection_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PartitionIntersection *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__171, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PartitionIntersection.__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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_21PartitionIntersection_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21PartitionIntersection_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21PartitionIntersection_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PartitionIntersection *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21PartitionIntersection_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PartitionIntersection *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__172, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PartitionIntersection.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5672
 * 	cdef _Coverage _this
 * 
 * 	def getQuality(self, Partition zeta, Graph G):             # <<<<<<<<<<<<<<
 * 		return self._this.getQuality(zeta._this, G._this)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Coverage_1getQuality(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Coverage_1getQuality(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getQuality (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_zeta,&__pyx_n_s_G,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zeta)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("getQuality", 1, 2, 2, 1); __PYX_ERR(0, 5672, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getQuality") < 0)) __PYX_ERR(0, 5672, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_zeta = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[0]);
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getQuality", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5672, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Coverage.getQuality", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_zeta), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "zeta", 0))) __PYX_ERR(0, 5672, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 5672, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8Coverage_getQuality(((struct __pyx_obj_9networkit_10_NetworKit_Coverage *)__pyx_v_self), __pyx_v_zeta, __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_8Coverage_getQuality(struct __pyx_obj_9networkit_10_NetworKit_Coverage *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getQuality", 0);

  /* "networkit/_NetworKit.pyx":5673
 * 
 * 	def getQuality(self, Partition zeta, Graph G):
 * 		return self._this.getQuality(zeta._this, G._this)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.getQuality(__pyx_v_zeta->_this, __pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5673, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5672
 * 	cdef _Coverage _this
 * 
 * 	def getQuality(self, Partition zeta, Graph G):             # <<<<<<<<<<<<<<
 * 		return self._this.getQuality(zeta._this, G._this)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Coverage.getQuality", __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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Coverage_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Coverage_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8Coverage_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Coverage *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_8Coverage_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Coverage *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__173, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Coverage.__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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Coverage_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Coverage_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8Coverage_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Coverage *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_8Coverage_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Coverage *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__174, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Coverage.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5686
 * 	cdef _EdgeCut _this
 * 
 * 	def getQuality(self, Partition zeta, Graph G):             # <<<<<<<<<<<<<<
 * 		return self._this.getQuality(zeta._this, G._this)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_7EdgeCut_1getQuality(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_7EdgeCut_1getQuality(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getQuality (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_zeta,&__pyx_n_s_G,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zeta)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("getQuality", 1, 2, 2, 1); __PYX_ERR(0, 5686, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getQuality") < 0)) __PYX_ERR(0, 5686, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_zeta = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[0]);
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getQuality", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5686, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EdgeCut.getQuality", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_zeta), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "zeta", 0))) __PYX_ERR(0, 5686, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 5686, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_7EdgeCut_getQuality(((struct __pyx_obj_9networkit_10_NetworKit_EdgeCut *)__pyx_v_self), __pyx_v_zeta, __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_7EdgeCut_getQuality(struct __pyx_obj_9networkit_10_NetworKit_EdgeCut *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getQuality", 0);

  /* "networkit/_NetworKit.pyx":5687
 * 
 * 	def getQuality(self, Partition zeta, Graph G):
 * 		return self._this.getQuality(zeta._this, G._this)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.getQuality(__pyx_v_zeta->_this, __pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5687, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5687, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5686
 * 	cdef _EdgeCut _this
 * 
 * 	def getQuality(self, Partition zeta, Graph G):             # <<<<<<<<<<<<<<
 * 		return self._this.getQuality(zeta._this, G._this)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeCut.getQuality", __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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_7EdgeCut_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_7EdgeCut_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_7EdgeCut_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeCut *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_7EdgeCut_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeCut *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__175, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeCut.__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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_7EdgeCut_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_7EdgeCut_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_7EdgeCut_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeCut *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_7EdgeCut_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeCut *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__176, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeCut.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5711
 * 	cdef _Modularity _this
 * 
 * 	def getQuality(self, Partition zeta, Graph G):             # <<<<<<<<<<<<<<
 * 		cdef double ret
 * 		with nogil:
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10Modularity_1getQuality(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_10Modularity_1getQuality(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getQuality (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_zeta,&__pyx_n_s_G,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zeta)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("getQuality", 1, 2, 2, 1); __PYX_ERR(0, 5711, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getQuality") < 0)) __PYX_ERR(0, 5711, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_zeta = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[0]);
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getQuality", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5711, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Modularity.getQuality", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_zeta), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "zeta", 0))) __PYX_ERR(0, 5711, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 5711, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10Modularity_getQuality(((struct __pyx_obj_9networkit_10_NetworKit_Modularity *)__pyx_v_self), __pyx_v_zeta, __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10Modularity_getQuality(struct __pyx_obj_9networkit_10_NetworKit_Modularity *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  double __pyx_v_ret;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getQuality", 0);

  /* "networkit/_NetworKit.pyx":5713
 * 	def getQuality(self, Partition zeta, Graph G):
 * 		cdef double ret
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			ret = self._this.getQuality(zeta._this, G._this)
 * 		return ret
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":5714
 * 		cdef double ret
 * 		with nogil:
 * 			ret = self._this.getQuality(zeta._this, G._this)             # <<<<<<<<<<<<<<
 * 		return ret
 * 
 */
        try {
          __pyx_t_1 = __pyx_v_self->_this.getQuality(__pyx_v_zeta->_this, __pyx_v_G->_this);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 5714, __pyx_L4_error)
        }
        __pyx_v_ret = __pyx_t_1;
      }

      /* "networkit/_NetworKit.pyx":5713
 * 	def getQuality(self, Partition zeta, Graph G):
 * 		cdef double ret
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			ret = self._this.getQuality(zeta._this, G._this)
 * 		return ret
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":5715
 * 		with nogil:
 * 			ret = self._this.getQuality(zeta._this, G._this)
 * 		return ret             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/community/HubDominance.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ret); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5715, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5711
 * 	cdef _Modularity _this
 * 
 * 	def getQuality(self, Partition zeta, Graph G):             # <<<<<<<<<<<<<<
 * 		cdef double ret
 * 		with nogil:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Modularity.getQuality", __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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10Modularity_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_10Modularity_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10Modularity_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Modularity *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_10Modularity_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Modularity *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__177, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Modularity.__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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10Modularity_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_10Modularity_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10Modularity_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Modularity *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_10Modularity_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Modularity *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__178, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Modularity.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5741
 * 	cdef _HubDominance _this
 * 
 * 	def getQuality(self, PartitionCover zeta, Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Calculates the dominance of hubs in the given Partition or Cover of the given
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12HubDominance_1getQuality(PyObject *__pyx_v_signatures, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_12HubDominance_getQuality[] = "\n\t\tCalculates the dominance of hubs in the given Partition or Cover of the given\n\t\tGraph.\n\n\t\tParameters\n\t\t----------\n\t\tzeta : networkit.Partition or networkit.Cover\n\t\t\tThe Partition or Cover for which the hub dominance shall be calculated\n\t\tG : networkit.Graph\n\t\t\tThe Graph to which zeta belongs\n\n\t\tReturns\n\t\t-------\n\t\tdouble\n\t\t\tThe average hub dominance in the given Partition or Cover\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_12HubDominance_1getQuality = {"getQuality", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_12HubDominance_1getQuality, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_12HubDominance_getQuality};
static PyObject *__pyx_pw_9networkit_10_NetworKit_12HubDominance_1getQuality(PyObject *__pyx_v_signatures, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_args = 0;
  PyObject *__pyx_v_kwargs = 0;
  CYTHON_UNUSED PyObject *__pyx_v_defaults = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_fused_cpdef (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_args,&__pyx_n_s_kwargs,&__pyx_n_s_defaults,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_args)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_fused_cpdef", 1, 3, 3, 1); __PYX_ERR(0, 5741, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_defaults)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_fused_cpdef", 1, 3, 3, 2); __PYX_ERR(0, 5741, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_fused_cpdef") < 0)) __PYX_ERR(0, 5741, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_args = values[0];
    __pyx_v_kwargs = values[1];
    __pyx_v_defaults = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_fused_cpdef", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5741, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.HubDominance.__pyx_fused_cpdef", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12HubDominance_getQuality(((struct __pyx_obj_9networkit_10_NetworKit_HubDominance *)__pyx_v_signatures), __pyx_v_args, __pyx_v_kwargs, __pyx_v_defaults);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_12HubDominance_getQuality(struct __pyx_obj_9networkit_10_NetworKit_HubDominance *__pyx_v_signatures, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs, CYTHON_UNUSED PyObject *__pyx_v_defaults) {
  PyObject *__pyx_v_dest_sig = NULL;
  Py_ssize_t __pyx_v_i;
  CYTHON_UNUSED PyTypeObject *__pyx_v_ndarray = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_v_itemsize;
  PyObject *__pyx_v_arg = NULL;
  PyObject *__pyx_v_candidates = NULL;
  PyObject *__pyx_v_sig = NULL;
  int __pyx_v_match_found;
  PyObject *__pyx_v_src_sig = NULL;
  PyObject *__pyx_v_dst_type = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __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;
  Py_ssize_t __pyx_t_13;
  Py_ssize_t __pyx_t_14;
  Py_ssize_t __pyx_t_15;
  int __pyx_t_16;
  __Pyx_RefNannySetupContext("getQuality", 0);
  __Pyx_INCREF(__pyx_v_kwargs);
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  PyList_SET_ITEM(__pyx_t_1, 0, Py_None);
  __pyx_v_dest_sig = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_3 = (__pyx_v_kwargs != Py_None);
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_kwargs); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 5741, __pyx_L1_error)
  __pyx_t_3 = ((!__pyx_t_4) != 0);
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {
    __Pyx_INCREF(Py_None);
    __Pyx_DECREF_SET(__pyx_v_kwargs, Py_None);
  }
  __pyx_t_1 = ((PyObject *)__Pyx_ImportNumPyArrayTypeIfAvailable()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_ndarray = ((PyTypeObject*)__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_v_itemsize = -1L;
  if (unlikely(__pyx_v_args == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(0, 5741, __pyx_L1_error)
  }
  __pyx_t_5 = PyTuple_GET_SIZE(((PyObject*)__pyx_v_args)); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 5741, __pyx_L1_error)
  __pyx_t_2 = ((1 < __pyx_t_5) != 0);
  if (__pyx_t_2) {
    if (unlikely(__pyx_v_args == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 5741, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_GetItemInt_Tuple(((PyObject*)__pyx_v_args), 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_arg = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L6;
  }
  __pyx_t_3 = (__pyx_v_kwargs != Py_None);
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L7_bool_binop_done;
  }
  if (unlikely(__pyx_v_kwargs == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(0, 5741, __pyx_L1_error)
  }
  __pyx_t_4 = (__Pyx_PyDict_ContainsTF(__pyx_n_s_zeta, ((PyObject*)__pyx_v_kwargs), Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 5741, __pyx_L1_error)
  __pyx_t_3 = (__pyx_t_4 != 0);
  __pyx_t_2 = __pyx_t_3;
  __pyx_L7_bool_binop_done:;
  if (__pyx_t_2) {
    if (unlikely(__pyx_v_kwargs == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 5741, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_PyDict_GetItem(((PyObject*)__pyx_v_kwargs), __pyx_n_s_zeta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_arg = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L6;
  }
  /*else*/ {
    if (unlikely(__pyx_v_args == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(0, 5741, __pyx_L1_error)
    }
    __pyx_t_5 = PyTuple_GET_SIZE(((PyObject*)__pyx_v_args)); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 5741, __pyx_L1_error)
    __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_INCREF(__pyx_int_3);
    __Pyx_GIVEREF(__pyx_int_3);
    PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_int_3);
    __Pyx_INCREF(__pyx_n_s_s);
    __Pyx_GIVEREF(__pyx_n_s_s);
    PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_n_s_s);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_1);
    __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_Expected_at_least_d_argument_s_g, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_6, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __PYX_ERR(0, 5741, __pyx_L1_error)
  }
  __pyx_L6:;
  while (1) {
    __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_INCREF(__pyx_kp_s__179);
    __Pyx_GIVEREF(__pyx_kp_s__179);
    PyList_SET_ITEM(__pyx_t_6, 0, __pyx_kp_s__179);
    __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_kp_u_networkit__NetworKit);
    __Pyx_GIVEREF(__pyx_kp_u_networkit__NetworKit);
    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_u_networkit__NetworKit);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_1, 1, Py_None);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
    __Pyx_GIVEREF(__pyx_t_6);
    PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin___import__, __pyx_t_1, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_Partition); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_2 = PyObject_IsInstance(__pyx_v_arg, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_3 = (__pyx_t_2 != 0);
    if (__pyx_t_3) {
      if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, __pyx_n_s_Partition, long, 1, __Pyx_PyInt_From_long, 1, 0, 1) < 0)) __PYX_ERR(0, 5741, __pyx_L1_error)
      goto __pyx_L10_break;
    }
    __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_kp_s__179);
    __Pyx_GIVEREF(__pyx_kp_s__179);
    PyList_SET_ITEM(__pyx_t_1, 0, __pyx_kp_s__179);
    __pyx_t_6 = PyTuple_New(4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_INCREF(__pyx_kp_u_networkit__NetworKit);
    __Pyx_GIVEREF(__pyx_kp_u_networkit__NetworKit);
    PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_kp_u_networkit__NetworKit);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_6, 1, Py_None);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_6, 2, Py_None);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_t_1);
    __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin___import__, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Cover); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_3 = PyObject_IsInstance(__pyx_v_arg, __pyx_t_6); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_2 = (__pyx_t_3 != 0);
    if (__pyx_t_2) {
      if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, __pyx_n_s_Cover, long, 1, __Pyx_PyInt_From_long, 1, 0, 1) < 0)) __PYX_ERR(0, 5741, __pyx_L1_error)
      goto __pyx_L10_break;
    }
    if (unlikely(__Pyx_SetItemInt(__pyx_v_dest_sig, 0, Py_None, long, 1, __Pyx_PyInt_From_long, 1, 0, 1) < 0)) __PYX_ERR(0, 5741, __pyx_L1_error)
    goto __pyx_L10_break;
  }
  __pyx_L10_break:;
  __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_candidates = ((PyObject*)__pyx_t_6);
  __pyx_t_6 = 0;
  __pyx_t_5 = 0;
  if (unlikely(((PyObject *)__pyx_v_signatures) == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(0, 5741, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_dict_iterator(((PyObject*)__pyx_v_signatures), 1, ((PyObject *)NULL), (&__pyx_t_7), (&__pyx_t_8)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __pyx_t_6 = __pyx_t_1;
  __pyx_t_1 = 0;
  while (1) {
    __pyx_t_9 = __Pyx_dict_iter_next(__pyx_t_6, __pyx_t_7, &__pyx_t_5, &__pyx_t_1, NULL, NULL, __pyx_t_8);
    if (unlikely(__pyx_t_9 == 0)) break;
    if (unlikely(__pyx_t_9 == -1)) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_sig, __pyx_t_1);
    __pyx_t_1 = 0;
    __pyx_v_match_found = 0;
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_sig, __pyx_n_s_strip); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_12 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) {
      __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_11);
      if (likely(__pyx_t_12)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
        __Pyx_INCREF(__pyx_t_12);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_11, function);
      }
    }
    __pyx_t_10 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_12, __pyx_kp_s__180) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_kp_s__180);
    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
    if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_split); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) {
      __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11);
      if (likely(__pyx_t_10)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
        __Pyx_INCREF(__pyx_t_10);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_11, function);
      }
    }
    __pyx_t_1 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_10, __pyx_kp_s__181) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_kp_s__181);
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_XDECREF_SET(__pyx_v_src_sig, __pyx_t_1);
    __pyx_t_1 = 0;
    __pyx_t_13 = PyList_GET_SIZE(__pyx_v_dest_sig); if (unlikely(__pyx_t_13 == ((Py_ssize_t)-1))) __PYX_ERR(0, 5741, __pyx_L1_error)
    __pyx_t_14 = __pyx_t_13;
    for (__pyx_t_15 = 0; __pyx_t_15 < __pyx_t_14; __pyx_t_15+=1) {
      __pyx_v_i = __pyx_t_15;
      __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_dest_sig, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5741, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_XDECREF_SET(__pyx_v_dst_type, __pyx_t_1);
      __pyx_t_1 = 0;
      __pyx_t_2 = (__pyx_v_dst_type != Py_None);
      __pyx_t_3 = (__pyx_t_2 != 0);
      if (__pyx_t_3) {
        __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_src_sig, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5741, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_t_11 = PyObject_RichCompare(__pyx_t_1, __pyx_v_dst_type, Py_EQ); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 5741, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5741, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        if (__pyx_t_3) {
          __pyx_v_match_found = 1;
          goto __pyx_L18;
        }
        /*else*/ {
          __pyx_v_match_found = 0;
          goto __pyx_L16_break;
        }
        __pyx_L18:;
      }
    }
    __pyx_L16_break:;
    __pyx_t_3 = (__pyx_v_match_found != 0);
    if (__pyx_t_3) {
      __pyx_t_16 = __Pyx_PyList_Append(__pyx_v_candidates, __pyx_v_sig); if (unlikely(__pyx_t_16 == ((int)-1))) __PYX_ERR(0, 5741, __pyx_L1_error)
    }
  }
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_3 = (PyList_GET_SIZE(__pyx_v_candidates) != 0);
  __pyx_t_2 = ((!__pyx_t_3) != 0);
  if (__pyx_t_2) {
    __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__182, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5741, __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(0, 5741, __pyx_L1_error)
  }
  __pyx_t_7 = PyList_GET_SIZE(__pyx_v_candidates); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 5741, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_7 > 1) != 0);
  if (__pyx_t_2) {
    __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__183, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5741, __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(0, 5741, __pyx_L1_error)
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    if (unlikely(((PyObject *)__pyx_v_signatures) == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 5741, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_GetItemInt_List(__pyx_v_candidates, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_11 = __Pyx_PyDict_GetItem(((PyObject*)__pyx_v_signatures), __pyx_t_6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 5741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_r = __pyx_t_11;
    __pyx_t_11 = 0;
    goto __pyx_L0;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("networkit._NetworKit.HubDominance.__pyx_fused_cpdef", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_dest_sig);
  __Pyx_XDECREF(__pyx_v_ndarray);
  __Pyx_XDECREF(__pyx_v_arg);
  __Pyx_XDECREF(__pyx_v_candidates);
  __Pyx_XDECREF(__pyx_v_sig);
  __Pyx_XDECREF(__pyx_v_src_sig);
  __Pyx_XDECREF(__pyx_v_dst_type);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_0__pyx_pw_9networkit_10_NetworKit_12HubDominance_3getQuality(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_0__pyx_mdef_9networkit_10_NetworKit_12HubDominance_3getQuality = {"__pyx_fuse_0getQuality", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_0__pyx_pw_9networkit_10_NetworKit_12HubDominance_3getQuality, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_12HubDominance_getQuality};
static PyObject *__pyx_fuse_0__pyx_pw_9networkit_10_NetworKit_12HubDominance_3getQuality(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getQuality (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_zeta,&__pyx_n_s_G,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zeta)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("getQuality", 1, 2, 2, 1); __PYX_ERR(0, 5741, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getQuality") < 0)) __PYX_ERR(0, 5741, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_zeta = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[0]);
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getQuality", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5741, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.HubDominance.getQuality", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_zeta), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "zeta", 0))) __PYX_ERR(0, 5741, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 5741, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12HubDominance_2getQuality(((struct __pyx_obj_9networkit_10_NetworKit_HubDominance *)__pyx_v_self), __pyx_v_zeta, __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12HubDominance_2getQuality(struct __pyx_obj_9networkit_10_NetworKit_HubDominance *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__pyx_fuse_0getQuality", 0);

  /* "networkit/_NetworKit.pyx":5758
 * 			The average hub dominance in the given Partition or Cover
 * 		"""
 * 		return self._this.getQuality(zeta._this, G._this)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.getQuality(__pyx_v_zeta->_this, __pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5758, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5758, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5741
 * 	cdef _HubDominance _this
 * 
 * 	def getQuality(self, PartitionCover zeta, Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Calculates the dominance of hubs in the given Partition or Cover of the given
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.HubDominance.getQuality", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_fuse_1__pyx_pw_9networkit_10_NetworKit_12HubDominance_5getQuality(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_fuse_1__pyx_mdef_9networkit_10_NetworKit_12HubDominance_5getQuality = {"__pyx_fuse_1getQuality", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_1__pyx_pw_9networkit_10_NetworKit_12HubDominance_5getQuality, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_12HubDominance_getQuality};
static PyObject *__pyx_fuse_1__pyx_pw_9networkit_10_NetworKit_12HubDominance_5getQuality(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_zeta = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getQuality (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_zeta,&__pyx_n_s_G,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zeta)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("getQuality", 1, 2, 2, 1); __PYX_ERR(0, 5741, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getQuality") < 0)) __PYX_ERR(0, 5741, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_zeta = ((struct __pyx_obj_9networkit_10_NetworKit_Cover *)values[0]);
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getQuality", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5741, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.HubDominance.getQuality", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_zeta), __pyx_ptype_9networkit_10_NetworKit_Cover, 1, "zeta", 0))) __PYX_ERR(0, 5741, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 5741, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12HubDominance_4getQuality(((struct __pyx_obj_9networkit_10_NetworKit_HubDominance *)__pyx_v_self), __pyx_v_zeta, __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12HubDominance_4getQuality(struct __pyx_obj_9networkit_10_NetworKit_HubDominance *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_zeta, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__pyx_fuse_1getQuality", 0);

  /* "networkit/_NetworKit.pyx":5758
 * 			The average hub dominance in the given Partition or Cover
 * 		"""
 * 		return self._this.getQuality(zeta._this, G._this)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.getQuality(__pyx_v_zeta->_this, __pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5758, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5758, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5741
 * 	cdef _HubDominance _this
 * 
 * 	def getQuality(self, PartitionCover zeta, Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Calculates the dominance of hubs in the given Partition or Cover of the given
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.HubDominance.getQuality", __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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12HubDominance_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12HubDominance_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12HubDominance_8__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_HubDominance *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_12HubDominance_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_HubDominance *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__184, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.HubDominance.__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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12HubDominance_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12HubDominance_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12HubDominance_10__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_HubDominance *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_12HubDominance_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_HubDominance *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__185, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.HubDominance.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5772
 * 	cdef Graph _G
 * 
 * 	def __init__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == CommunityDetector:
 * 			raise RuntimeError("Error, you may not use CommunityDetector directly, use a sub-class instead")
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_17CommunityDetector_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_17CommunityDetector_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_namedargs = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17CommunityDetector___init__(((struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector *)__pyx_v_self), __pyx_v_args, __pyx_v_namedargs);

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

static int __pyx_pf_9networkit_10_NetworKit_17CommunityDetector___init__(struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "networkit/_NetworKit.pyx":5773
 * 
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == CommunityDetector:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use CommunityDetector directly, use a sub-class instead")
 * 
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), ((PyObject *)__pyx_ptype_9networkit_10_NetworKit_CommunityDetector), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5773, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5773, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(__pyx_t_2)) {

    /* "networkit/_NetworKit.pyx":5774
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == CommunityDetector:
 * 			raise RuntimeError("Error, you may not use CommunityDetector directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def getPartition(self):
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__186, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5774, __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(0, 5774, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":5773
 * 
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == CommunityDetector:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use CommunityDetector directly, use a sub-class instead")
 * 
 */
  }

  /* "networkit/_NetworKit.pyx":5772
 * 	cdef Graph _G
 * 
 * 	def __init__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == CommunityDetector:
 * 			raise RuntimeError("Error, you may not use CommunityDetector directly, use a sub-class instead")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.CommunityDetector.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5776
 * 			raise RuntimeError("Error, you may not use CommunityDetector directly, use a sub-class instead")
 * 
 * 	def getPartition(self):             # <<<<<<<<<<<<<<
 * 		"""  Returns a partition of the clustering.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_17CommunityDetector_3getPartition(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_17CommunityDetector_2getPartition[] = "  Returns a partition of the clustering.\n\n\t\tReturns\n\t\t-------\n\t\tnetworkit.Partition:\n\t\t\tA Partition of the clustering.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_17CommunityDetector_3getPartition(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPartition (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17CommunityDetector_2getPartition(((struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17CommunityDetector_2getPartition(struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  NetworKit::Partition __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("getPartition", 0);

  /* "networkit/_NetworKit.pyx":5784
 * 			A Partition of the clustering.
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return Partition().setThis((<_CommunityDetectionAlgorithm*>(self._this)).getPartition())
 */
  __pyx_t_1 = ((__pyx_v_self->__pyx_base._this == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":5785
 * 		"""
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")             # <<<<<<<<<<<<<<
 * 		return Partition().setThis((<_CommunityDetectionAlgorithm*>(self._this)).getPartition())
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5785, __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(0, 5785, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":5784
 * 			A Partition of the clustering.
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return Partition().setThis((<_CommunityDetectionAlgorithm*>(self._this)).getPartition())
 */
  }

  /* "networkit/_NetworKit.pyx":5786
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return Partition().setThis((<_CommunityDetectionAlgorithm*>(self._this)).getPartition())             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/community/PLP.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Partition)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  try {
    __pyx_t_3 = ((NetworKit::CommunityDetectionAlgorithm *)__pyx_v_self->__pyx_base._this)->getPartition();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5786, __pyx_L1_error)
  }
  __pyx_t_4 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Partition *)((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_2)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_2), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5786, __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;

  /* "networkit/_NetworKit.pyx":5776
 * 			raise RuntimeError("Error, you may not use CommunityDetector directly, use a sub-class instead")
 * 
 * 	def getPartition(self):             # <<<<<<<<<<<<<<
 * 		"""  Returns a partition of the clustering.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("networkit._NetworKit.CommunityDetector.getPartition", __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_9networkit_10_NetworKit_17CommunityDetector_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17CommunityDetector_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17CommunityDetector_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17CommunityDetector_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__187, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.CommunityDetector.__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_9networkit_10_NetworKit_17CommunityDetector_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17CommunityDetector_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17CommunityDetector_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17CommunityDetector_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__188, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.CommunityDetector.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5820
 * 	"""
 * 
 * 	def __cinit__(self, Graph G not None, count updateThreshold=none, count maxIterations=none, Partition baseClustering=None,):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Constructor to the Parallel label propagation community detection algorithm.
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_3PLP_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_3PLP_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_updateThreshold;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_maxIterations;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_baseClustering = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_updateThreshold,&__pyx_n_s_maxIterations,&__pyx_n_s_baseClustering,0};
    PyObject* values[4] = {0,0,0,0};
    values[3] = (PyObject *)((struct __pyx_obj_9networkit_10_NetworKit_Partition *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_updateThreshold);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_maxIterations);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_baseClustering);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 5820, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    if (values[1]) {
      __pyx_v_updateThreshold = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_updateThreshold == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 5820, __pyx_L3_error)
    } else {
      __pyx_v_updateThreshold = __pyx_k__189;
    }
    if (values[2]) {
      __pyx_v_maxIterations = __Pyx_PyInt_As_uint64_t(values[2]); if (unlikely((__pyx_v_maxIterations == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 5820, __pyx_L3_error)
    } else {
      __pyx_v_maxIterations = __pyx_k__190;
    }
    __pyx_v_baseClustering = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[3]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5820, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PLP.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 5820, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_baseClustering), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "baseClustering", 0))) __PYX_ERR(0, 5820, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_3PLP___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_PLP *)__pyx_v_self), __pyx_v_G, __pyx_v_updateThreshold, __pyx_v_maxIterations, __pyx_v_baseClustering);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_3PLP___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PLP *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_updateThreshold, __pyx_t_9networkit_10_NetworKit_count __pyx_v_maxIterations, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_baseClustering) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  NetworKit::PLP *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":5825
 * 
 * 		"""
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":5828
 * 
 * 
 * 		if baseClustering is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _PLP(G._this, updateThreshold, maxIterations)
 * 		else:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_baseClustering) == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":5829
 * 
 * 		if baseClustering is None:
 * 			self._this = new _PLP(G._this, updateThreshold, maxIterations)             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._this = new _PLP(G._this, baseClustering._this, updateThreshold)
 */
    try {
      __pyx_t_3 = new NetworKit::PLP(__pyx_v_G->_this, __pyx_v_updateThreshold, __pyx_v_maxIterations);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 5829, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_3;

    /* "networkit/_NetworKit.pyx":5828
 * 
 * 
 * 		if baseClustering is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _PLP(G._this, updateThreshold, maxIterations)
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":5831
 * 			self._this = new _PLP(G._this, updateThreshold, maxIterations)
 * 		else:
 * 			self._this = new _PLP(G._this, baseClustering._this, updateThreshold)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*else*/ {
    try {
      __pyx_t_3 = new NetworKit::PLP(__pyx_v_G->_this, __pyx_v_baseClustering->_this, __pyx_v_updateThreshold);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 5831, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_3;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":5820
 * 	"""
 * 
 * 	def __cinit__(self, Graph G not None, count updateThreshold=none, count maxIterations=none, Partition baseClustering=None,):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Constructor to the Parallel label propagation community detection algorithm.
 */

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

/* "networkit/_NetworKit.pyx":5834
 * 
 * 
 * 	def numberOfIterations(self):             # <<<<<<<<<<<<<<
 * 		""" Get number of iterations in last run.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_3PLP_3numberOfIterations(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_3PLP_2numberOfIterations[] = " Get number of iterations in last run.\n\n\t\tReturns\n\t\t-------\n\t\tcount\n\t\t\tThe number of iterations.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_3PLP_3numberOfIterations(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("numberOfIterations (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_3PLP_2numberOfIterations(((struct __pyx_obj_9networkit_10_NetworKit_PLP *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_3PLP_2numberOfIterations(struct __pyx_obj_9networkit_10_NetworKit_PLP *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("numberOfIterations", 0);

  /* "networkit/_NetworKit.pyx":5842
 * 			The number of iterations.
 * 		"""
 * 		return (<_PLP*>(self._this)).numberOfIterations()             # <<<<<<<<<<<<<<
 * 
 * 	def getTiming(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::PLP *)__pyx_v_self->__pyx_base.__pyx_base._this)->numberOfIterations();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5842, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5834
 * 
 * 
 * 	def numberOfIterations(self):             # <<<<<<<<<<<<<<
 * 		""" Get number of iterations in last run.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.PLP.numberOfIterations", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5844
 * 		return (<_PLP*>(self._this)).numberOfIterations()
 * 
 * 	def getTiming(self):             # <<<<<<<<<<<<<<
 * 		""" Get list of running times for each iteration.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_3PLP_5getTiming(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_3PLP_4getTiming[] = " Get list of running times for each iteration.\n\n\t\tReturns\n\t\t-------\n\t\tcount\n\t\t\tThe list of running times in milliseconds.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_3PLP_5getTiming(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getTiming (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_3PLP_4getTiming(((struct __pyx_obj_9networkit_10_NetworKit_PLP *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_3PLP_4getTiming(struct __pyx_obj_9networkit_10_NetworKit_PLP *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getTiming", 0);

  /* "networkit/_NetworKit.pyx":5852
 * 			The list of running times in milliseconds.
 * 		"""
 * 		return (<_PLP*>(self._this)).getTiming()             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/community/LPDegreeOrdered.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::PLP *)__pyx_v_self->__pyx_base.__pyx_base._this)->getTiming();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5852, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_count(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5852, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5844
 * 		return (<_PLP*>(self._this)).numberOfIterations()
 * 
 * 	def getTiming(self):             # <<<<<<<<<<<<<<
 * 		""" Get list of running times for each iteration.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.PLP.getTiming", __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_9networkit_10_NetworKit_3PLP_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_3PLP_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_3PLP_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PLP *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_3PLP_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PLP *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__191, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PLP.__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_9networkit_10_NetworKit_3PLP_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_3PLP_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_3PLP_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PLP *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_3PLP_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PLP *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__192, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PLP.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5863
 * 	""" Label propagation-based community detection algorithm which processes nodes in increasing order of node degree.	"""
 * 
 * 	def __cinit__(self, Graph G not None):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _LPDegreeOrdered(G._this)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_15LPDegreeOrdered_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_15LPDegreeOrdered_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 5863, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5863, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LPDegreeOrdered.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 5863, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15LPDegreeOrdered___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_LPDegreeOrdered *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_15LPDegreeOrdered___cinit__(struct __pyx_obj_9networkit_10_NetworKit_LPDegreeOrdered *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::LPDegreeOrdered *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":5864
 * 
 * 	def __cinit__(self, Graph G not None):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _LPDegreeOrdered(G._this)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":5865
 * 	def __cinit__(self, Graph G not None):
 * 		self._G = G
 * 		self._this = new _LPDegreeOrdered(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def numberOfIterations(self):
 */
  try {
    __pyx_t_1 = new NetworKit::LPDegreeOrdered(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5865, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":5863
 * 	""" Label propagation-based community detection algorithm which processes nodes in increasing order of node degree.	"""
 * 
 * 	def __cinit__(self, Graph G not None):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _LPDegreeOrdered(G._this)
 */

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

/* "networkit/_NetworKit.pyx":5867
 * 		self._this = new _LPDegreeOrdered(G._this)
 * 
 * 	def numberOfIterations(self):             # <<<<<<<<<<<<<<
 * 		""" Get number of iterations in last run.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15LPDegreeOrdered_3numberOfIterations(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_15LPDegreeOrdered_2numberOfIterations[] = " Get number of iterations in last run.\n\n\t\tReturns\n\t\t-------\n\t\tcount\n\t\t\tNumber of iterations.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_15LPDegreeOrdered_3numberOfIterations(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("numberOfIterations (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15LPDegreeOrdered_2numberOfIterations(((struct __pyx_obj_9networkit_10_NetworKit_LPDegreeOrdered *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15LPDegreeOrdered_2numberOfIterations(struct __pyx_obj_9networkit_10_NetworKit_LPDegreeOrdered *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("numberOfIterations", 0);

  /* "networkit/_NetworKit.pyx":5875
 * 			Number of iterations.
 * 		"""
 * 		return (<_LPDegreeOrdered*>(self._this)).numberOfIterations()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_uint64_t(((NetworKit::LPDegreeOrdered *)__pyx_v_self->__pyx_base.__pyx_base._this)->numberOfIterations()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5867
 * 		self._this = new _LPDegreeOrdered(G._this)
 * 
 * 	def numberOfIterations(self):             # <<<<<<<<<<<<<<
 * 		""" Get number of iterations in last run.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LPDegreeOrdered.numberOfIterations", __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_9networkit_10_NetworKit_15LPDegreeOrdered_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15LPDegreeOrdered_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15LPDegreeOrdered_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LPDegreeOrdered *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15LPDegreeOrdered_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LPDegreeOrdered *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__193, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LPDegreeOrdered.__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_9networkit_10_NetworKit_15LPDegreeOrdered_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15LPDegreeOrdered_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15LPDegreeOrdered_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LPDegreeOrdered *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15LPDegreeOrdered_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LPDegreeOrdered *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__194, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LPDegreeOrdered.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5917
 * 	"""
 * 
 * 	def __cinit__(self, Graph G not None, refine=False, gamma=1.0, par="balanced", maxIter=32, turbo=True, recurse=True):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _PLM(G._this, refine, gamma, stdstring(par), maxIter, turbo, recurse)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_3PLM_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_3PLM_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_refine = 0;
  PyObject *__pyx_v_gamma = 0;
  PyObject *__pyx_v_par = 0;
  PyObject *__pyx_v_maxIter = 0;
  PyObject *__pyx_v_turbo = 0;
  PyObject *__pyx_v_recurse = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_refine,&__pyx_n_s_gamma,&__pyx_n_s_par,&__pyx_n_s_maxIter,&__pyx_n_s_turbo,&__pyx_n_s_recurse,0};
    PyObject* values[7] = {0,0,0,0,0,0,0};
    values[1] = ((PyObject *)Py_False);
    values[2] = ((PyObject *)__pyx_float_1_0);
    values[3] = ((PyObject *)__pyx_n_u_balanced);
    values[4] = ((PyObject *)__pyx_int_32);
    values[5] = ((PyObject *)Py_True);
    values[6] = ((PyObject *)Py_True);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_refine);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_gamma);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_par);
          if (value) { values[3] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_maxIter);
          if (value) { values[4] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_turbo);
          if (value) { values[5] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_recurse);
          if (value) { values[6] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 5917, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_refine = values[1];
    __pyx_v_gamma = values[2];
    __pyx_v_par = values[3];
    __pyx_v_maxIter = values[4];
    __pyx_v_turbo = values[5];
    __pyx_v_recurse = values[6];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5917, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PLM.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 5917, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_3PLM___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_PLM *)__pyx_v_self), __pyx_v_G, __pyx_v_refine, __pyx_v_gamma, __pyx_v_par, __pyx_v_maxIter, __pyx_v_turbo, __pyx_v_recurse);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_3PLM___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PLM *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_refine, PyObject *__pyx_v_gamma, PyObject *__pyx_v_par, PyObject *__pyx_v_maxIter, PyObject *__pyx_v_turbo, PyObject *__pyx_v_recurse) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  double __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  std::string __pyx_t_6;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_7;
  bool __pyx_t_8;
  bool __pyx_t_9;
  NetworKit::PLM *__pyx_t_10;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":5918
 * 
 * 	def __cinit__(self, Graph G not None, refine=False, gamma=1.0, par="balanced", maxIter=32, turbo=True, recurse=True):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _PLM(G._this, refine, gamma, stdstring(par), maxIter, turbo, recurse)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":5919
 * 	def __cinit__(self, Graph G not None, refine=False, gamma=1.0, par="balanced", maxIter=32, turbo=True, recurse=True):
 * 		self._G = G
 * 		self._this = new _PLM(G._this, refine, gamma, stdstring(par), maxIter, turbo, recurse)             # <<<<<<<<<<<<<<
 * 
 * 	def getTiming(self):
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_refine); if (unlikely((__pyx_t_1 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 5919, __pyx_L1_error)
  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_gamma); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 5919, __pyx_L1_error)
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5919, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_par) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_par);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5919, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6 = __pyx_convert_string_from_py_std__in_string(__pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 5919, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_7 = __Pyx_PyInt_As_uint64_t(__pyx_v_maxIter); if (unlikely((__pyx_t_7 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 5919, __pyx_L1_error)
  __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_turbo); if (unlikely((__pyx_t_8 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 5919, __pyx_L1_error)
  __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_recurse); if (unlikely((__pyx_t_9 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 5919, __pyx_L1_error)
  try {
    __pyx_t_10 = new NetworKit::PLM(__pyx_v_G->_this, __pyx_t_1, __pyx_t_2, __pyx_t_6, __pyx_t_7, __pyx_t_8, __pyx_t_9);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5919, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_10;

  /* "networkit/_NetworKit.pyx":5917
 * 	"""
 * 
 * 	def __cinit__(self, Graph G not None, refine=False, gamma=1.0, par="balanced", maxIter=32, turbo=True, recurse=True):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _PLM(G._this, refine, gamma, stdstring(par), maxIter, turbo, recurse)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("networkit._NetworKit.PLM.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5921
 * 		self._this = new _PLM(G._this, refine, gamma, stdstring(par), maxIter, turbo, recurse)
 * 
 * 	def getTiming(self):             # <<<<<<<<<<<<<<
 * 		"""  Get detailed time measurements.
 * 		"""
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_3PLM_3getTiming(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_3PLM_2getTiming[] = "  Get detailed time measurements.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_3PLM_3getTiming(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getTiming (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_3PLM_2getTiming(((struct __pyx_obj_9networkit_10_NetworKit_PLM *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_3PLM_2getTiming(struct __pyx_obj_9networkit_10_NetworKit_PLM *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::map<std::string,std::vector<__pyx_t_9networkit_10_NetworKit_count> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getTiming", 0);

  /* "networkit/_NetworKit.pyx":5924
 * 		"""  Get detailed time measurements.
 * 		"""
 * 		return (<_PLM*>(self._this)).getTiming()             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::PLM *)__pyx_v_self->__pyx_base.__pyx_base._this)->getTiming();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5924, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_map_to_py_std_3a__3a_string____std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_count_3e___(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5924, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5921
 * 		self._this = new _PLM(G._this, refine, gamma, stdstring(par), maxIter, turbo, recurse)
 * 
 * 	def getTiming(self):             # <<<<<<<<<<<<<<
 * 		"""  Get detailed time measurements.
 * 		"""
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.PLM.getTiming", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5927
 * 
 * 	@staticmethod
 * 	def coarsen(Graph G, Partition zeta, bool_t parallel = False):             # <<<<<<<<<<<<<<
 * 		cdef pair[_Graph, vector[node]] result = move(PLM_coarsen(G._this, zeta._this))
 * 		return (Graph().setThis(result.first), result.second)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_3PLM_5coarsen(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_3PLM_5coarsen = {"coarsen", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_3PLM_5coarsen, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9networkit_10_NetworKit_3PLM_5coarsen(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta = 0;
  CYTHON_UNUSED bool __pyx_v_parallel;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("coarsen (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_zeta,&__pyx_n_s_parallel,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zeta)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("coarsen", 0, 2, 3, 1); __PYX_ERR(0, 5927, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_parallel);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "coarsen") < 0)) __PYX_ERR(0, 5927, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_zeta = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[1]);
    if (values[2]) {
      __pyx_v_parallel = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_parallel == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 5927, __pyx_L3_error)
    } else {
      __pyx_v_parallel = ((bool)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("coarsen", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5927, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PLM.coarsen", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 5927, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_zeta), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "zeta", 0))) __PYX_ERR(0, 5927, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_3PLM_4coarsen(__pyx_v_G, __pyx_v_zeta, __pyx_v_parallel);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_3PLM_4coarsen(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta, CYTHON_UNUSED bool __pyx_v_parallel) {
  std::pair<NetworKit::Graph,std::vector<__pyx_t_9networkit_10_NetworKit_node> >  __pyx_v_result;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::pair<NetworKit::Graph,std::vector<__pyx_t_9networkit_10_NetworKit_node> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("coarsen", 0);

  /* "networkit/_NetworKit.pyx":5928
 * 	@staticmethod
 * 	def coarsen(Graph G, Partition zeta, bool_t parallel = False):
 * 		cdef pair[_Graph, vector[node]] result = move(PLM_coarsen(G._this, zeta._this))             # <<<<<<<<<<<<<<
 * 		return (Graph().setThis(result.first), result.second)
 * 
 */
  try {
    __pyx_t_1 = NetworKit::PLM::coarsen(__pyx_v_G->_this, __pyx_v_zeta->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5928, __pyx_L1_error)
  }
  __pyx_v_result = std::move(__pyx_t_1);

  /* "networkit/_NetworKit.pyx":5929
 * 	def coarsen(Graph G, Partition zeta, bool_t parallel = False):
 * 		cdef pair[_Graph, vector[node]] result = move(PLM_coarsen(G._this, zeta._this))
 * 		return (Graph().setThis(result.first), result.second)             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_2)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_2), __pyx_v_result.first); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_v_result.second); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_3 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5927
 * 
 * 	@staticmethod
 * 	def coarsen(Graph G, Partition zeta, bool_t parallel = False):             # <<<<<<<<<<<<<<
 * 		cdef pair[_Graph, vector[node]] result = move(PLM_coarsen(G._this, zeta._this))
 * 		return (Graph().setThis(result.first), result.second)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("networkit._NetworKit.PLM.coarsen", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5932
 * 
 * 	@staticmethod
 * 	def prolong(Graph Gcoarse, Partition zetaCoarse, Graph Gfine, vector[node] nodeToMetaNode):             # <<<<<<<<<<<<<<
 * 		return Partition().setThis(PLM_prolong(Gcoarse._this, zetaCoarse._this, Gfine._this, nodeToMetaNode))
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_3PLM_7prolong(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_3PLM_7prolong = {"prolong", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_3PLM_7prolong, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9networkit_10_NetworKit_3PLM_7prolong(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_Gcoarse = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zetaCoarse = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_Gfine = 0;
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_nodeToMetaNode;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("prolong (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_Gcoarse,&__pyx_n_s_zetaCoarse,&__pyx_n_s_Gfine,&__pyx_n_s_nodeToMetaNode,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Gcoarse)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zetaCoarse)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("prolong", 1, 4, 4, 1); __PYX_ERR(0, 5932, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_Gfine)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("prolong", 1, 4, 4, 2); __PYX_ERR(0, 5932, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nodeToMetaNode)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("prolong", 1, 4, 4, 3); __PYX_ERR(0, 5932, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "prolong") < 0)) __PYX_ERR(0, 5932, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_Gcoarse = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_zetaCoarse = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[1]);
    __pyx_v_Gfine = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[2]);
    __pyx_v_nodeToMetaNode = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_node(values[3]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 5932, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("prolong", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5932, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PLM.prolong", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_Gcoarse), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "Gcoarse", 0))) __PYX_ERR(0, 5932, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_zetaCoarse), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "zetaCoarse", 0))) __PYX_ERR(0, 5932, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_Gfine), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "Gfine", 0))) __PYX_ERR(0, 5932, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_3PLM_6prolong(__pyx_v_Gcoarse, __pyx_v_zetaCoarse, __pyx_v_Gfine, __pyx_v_nodeToMetaNode);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_3PLM_6prolong(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_Gcoarse, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zetaCoarse, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_Gfine, std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_nodeToMetaNode) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Partition __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("prolong", 0);

  /* "networkit/_NetworKit.pyx":5933
 * 	@staticmethod
 * 	def prolong(Graph Gcoarse, Partition zetaCoarse, Graph Gfine, vector[node] nodeToMetaNode):
 * 		return Partition().setThis(PLM_prolong(Gcoarse._this, zetaCoarse._this, Gfine._this, nodeToMetaNode))             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/community/CutClustering.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Partition)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = NetworKit::PLM::prolong(__pyx_v_Gcoarse->_this, __pyx_v_zetaCoarse->_this, __pyx_v_Gfine->_this, __pyx_v_nodeToMetaNode);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5933, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Partition *)((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5933, __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;

  /* "networkit/_NetworKit.pyx":5932
 * 
 * 	@staticmethod
 * 	def prolong(Graph Gcoarse, Partition zetaCoarse, Graph Gfine, vector[node] nodeToMetaNode):             # <<<<<<<<<<<<<<
 * 		return Partition().setThis(PLM_prolong(Gcoarse._this, zetaCoarse._this, Gfine._this, nodeToMetaNode))
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.PLM.prolong", __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_9networkit_10_NetworKit_3PLM_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_3PLM_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_3PLM_8__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PLM *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_3PLM_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PLM *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__195, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PLM.__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_9networkit_10_NetworKit_3PLM_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_3PLM_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_3PLM_10__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PLM *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_3PLM_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PLM *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__196, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PLM.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":5958
 * 		The parameter for the cut clustering algorithm
 * 	"""
 * 	def __cinit__(self, Graph G not None,  edgeweight alpha):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _CutClustering(G._this, alpha)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_13CutClustering_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_13CutClustering_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_v_alpha;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_alpha,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_alpha)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); __PYX_ERR(0, 5958, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 5958, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_alpha = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_alpha == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 5958, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5958, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.CutClustering.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 5958, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_13CutClustering___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_CutClustering *)__pyx_v_self), __pyx_v_G, __pyx_v_alpha);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_13CutClustering___cinit__(struct __pyx_obj_9networkit_10_NetworKit_CutClustering *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_v_alpha) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::CutClustering *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":5959
 * 	"""
 * 	def __cinit__(self, Graph G not None,  edgeweight alpha):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _CutClustering(G._this, alpha)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":5960
 * 	def __cinit__(self, Graph G not None,  edgeweight alpha):
 * 		self._G = G
 * 		self._this = new _CutClustering(G._this, alpha)             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  try {
    __pyx_t_1 = new NetworKit::CutClustering(__pyx_v_G->_this, __pyx_v_alpha);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 5960, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":5958
 * 		The parameter for the cut clustering algorithm
 * 	"""
 * 	def __cinit__(self, Graph G not None,  edgeweight alpha):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _CutClustering(G._this, alpha)
 */

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

/* "networkit/_NetworKit.pyx":5963
 * 
 * 	@staticmethod
 * 	def getClusterHierarchy(Graph G not None):             # <<<<<<<<<<<<<<
 * 		""" Get the complete hierarchy with all possible parameter values.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_13CutClustering_3getClusterHierarchy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_13CutClustering_2getClusterHierarchy[] = " Get the complete hierarchy with all possible parameter values.\n\n\t\tEach reported parameter value is the lower bound for the range in which the corresponding clustering is calculated by the cut clustering algorithm.\n\n\t\tWarning: all reported parameter values are slightly too high in order to avoid wrong clusterings because of numerical inaccuracies.\n\t\tFurthermore the completeness of the hierarchy cannot be guaranteed because of these inaccuracies.\n\t\tThis implementation hasn't been optimized for performance.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe graph.\n\n\t\tReturns\n\t\t-------\n\t\tdict\n\t\t\tA dictionary with the parameter values as keys and the corresponding Partition instances as values\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_13CutClustering_3getClusterHierarchy = {"getClusterHierarchy", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_13CutClustering_3getClusterHierarchy, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_13CutClustering_2getClusterHierarchy};
static PyObject *__pyx_pw_9networkit_10_NetworKit_13CutClustering_3getClusterHierarchy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getClusterHierarchy (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getClusterHierarchy") < 0)) __PYX_ERR(0, 5963, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getClusterHierarchy", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5963, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.CutClustering.getClusterHierarchy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 5963, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_13CutClustering_2getClusterHierarchy(__pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_13CutClustering_2getClusterHierarchy(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  std::map<double,NetworKit::Partition>  __pyx_v_result;
  PyObject *__pyx_v_pyResult = NULL;
  std::pair<double,NetworKit::Partition>  __pyx_v_res;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::map<double,NetworKit::Partition>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  std::map<double,NetworKit::Partition> ::iterator __pyx_t_3;
  std::pair<double,NetworKit::Partition>  __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("getClusterHierarchy", 0);

  /* "networkit/_NetworKit.pyx":5984
 * 		cdef map[double, _Partition] result
 * 		# FIXME: this probably copies the whole hierarchy because of exception handling, using move might fix this
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			result = CutClustering_getClusterHierarchy(G._this)
 * 		pyResult = {}
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":5985
 * 		# FIXME: this probably copies the whole hierarchy because of exception handling, using move might fix this
 * 		with nogil:
 * 			result = CutClustering_getClusterHierarchy(G._this)             # <<<<<<<<<<<<<<
 * 		pyResult = {}
 * 		# FIXME: this code copies the partitions a lot!
 */
        try {
          __pyx_t_1 = NetworKit::CutClustering::getClusterHierarchy(__pyx_v_G->_this);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 5985, __pyx_L4_error)
        }
        __pyx_v_result = __pyx_t_1;
      }

      /* "networkit/_NetworKit.pyx":5984
 * 		cdef map[double, _Partition] result
 * 		# FIXME: this probably copies the whole hierarchy because of exception handling, using move might fix this
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			result = CutClustering_getClusterHierarchy(G._this)
 * 		pyResult = {}
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":5986
 * 		with nogil:
 * 			result = CutClustering_getClusterHierarchy(G._this)
 * 		pyResult = {}             # <<<<<<<<<<<<<<
 * 		# FIXME: this code copies the partitions a lot!
 * 		for res in result:
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5986, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_pyResult = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":5988
 * 		pyResult = {}
 * 		# FIXME: this code copies the partitions a lot!
 * 		for res in result:             # <<<<<<<<<<<<<<
 * 			pyResult[res.first] = Partition().setThis(res.second)
 * 		return pyResult
 */
  __pyx_t_3 = __pyx_v_result.begin();
  for (;;) {
    if (!(__pyx_t_3 != __pyx_v_result.end())) break;
    __pyx_t_4 = *__pyx_t_3;
    ++__pyx_t_3;
    __pyx_v_res = __pyx_t_4;

    /* "networkit/_NetworKit.pyx":5989
 * 		# FIXME: this code copies the partitions a lot!
 * 		for res in result:
 * 			pyResult[res.first] = Partition().setThis(res.second)             # <<<<<<<<<<<<<<
 * 		return pyResult
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Partition)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5989, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Partition *)((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_2)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_2), __pyx_v_res.second); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5989, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyFloat_FromDouble(__pyx_v_res.first); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5989, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (unlikely(PyDict_SetItem(__pyx_v_pyResult, __pyx_t_2, __pyx_t_5) < 0)) __PYX_ERR(0, 5989, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "networkit/_NetworKit.pyx":5988
 * 		pyResult = {}
 * 		# FIXME: this code copies the partitions a lot!
 * 		for res in result:             # <<<<<<<<<<<<<<
 * 			pyResult[res.first] = Partition().setThis(res.second)
 * 		return pyResult
 */
  }

  /* "networkit/_NetworKit.pyx":5990
 * 		for res in result:
 * 			pyResult[res.first] = Partition().setThis(res.second)
 * 		return pyResult             # <<<<<<<<<<<<<<
 * 
 * cdef class DissimilarityMeasure:
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_pyResult);
  __pyx_r = __pyx_v_pyResult;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":5963
 * 
 * 	@staticmethod
 * 	def getClusterHierarchy(Graph G not None):             # <<<<<<<<<<<<<<
 * 		""" Get the complete hierarchy with all possible parameter values.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("networkit._NetworKit.CutClustering.getClusterHierarchy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pyResult);
  __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_9networkit_10_NetworKit_13CutClustering_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_13CutClustering_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_13CutClustering_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_CutClustering *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_13CutClustering_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CutClustering *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__197, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.CutClustering.__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_9networkit_10_NetworKit_13CutClustering_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_13CutClustering_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_13CutClustering_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_CutClustering *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_13CutClustering_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CutClustering *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__198, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.CutClustering.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __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_9networkit_10_NetworKit_20DissimilarityMeasure_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20DissimilarityMeasure_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20DissimilarityMeasure___reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DissimilarityMeasure *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20DissimilarityMeasure___reduce_cython__(struct __pyx_obj_9networkit_10_NetworKit_DissimilarityMeasure *__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;
  __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:
 */
  __Pyx_INCREF(__pyx_empty_tuple);
  __pyx_v_state = __pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_2 = (__pyx_v__dict != Py_None);
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (__pyx_t_3) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 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:
 *         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:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_DissimilarityMeasure, (type(self), 0xd41d8cd, None), state
 */
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_DissimilarityMeasure, (type(self), 0xd41d8cd, None), state
 *     else:
 */
  __pyx_t_3 = (__pyx_v_use_setstate != 0);
  if (__pyx_t_3) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_DissimilarityMeasure, (type(self), 0xd41d8cd, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_DissimilarityMeasure, (type(self), 0xd41d8cd, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_DissimilarityMeas); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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))));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_222419149);
    __Pyx_GIVEREF(__pyx_int_222419149);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state);
    __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_DissimilarityMeasure, (type(self), 0xd41d8cd, None), state
 *     else:
 */
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_DissimilarityMeasure, (type(self), 0xd41d8cd, None), state
 *     else:
 *         return __pyx_unpickle_DissimilarityMeasure, (type(self), 0xd41d8cd, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_DissimilarityMeasure__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle_DissimilarityMeas); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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))));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_222419149);
    __Pyx_GIVEREF(__pyx_int_222419149);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
    __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("networkit._NetworKit.DissimilarityMeasure.__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_DissimilarityMeasure, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_DissimilarityMeasure__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20DissimilarityMeasure_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20DissimilarityMeasure_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20DissimilarityMeasure_2__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DissimilarityMeasure *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20DissimilarityMeasure_2__setstate_cython__(struct __pyx_obj_9networkit_10_NetworKit_DissimilarityMeasure *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_DissimilarityMeasure, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_DissimilarityMeasure__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
  __pyx_t_1 = __pyx_f_9networkit_10_NetworKit___pyx_unpickle_DissimilarityMeasure__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_DissimilarityMeasure, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_DissimilarityMeasure__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_AddTraceback("networkit._NetworKit.DissimilarityMeasure.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6010
 * 	cdef _NodeStructuralRandMeasure _this
 * 
 * 	def getDissimilarity(self, Graph G, Partition first, Partition second):             # <<<<<<<<<<<<<<
 * 		cdef double ret
 * 		with nogil:
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_25NodeStructuralRandMeasure_1getDissimilarity(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_25NodeStructuralRandMeasure_1getDissimilarity(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_first = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_second = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDissimilarity (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_first,&__pyx_n_s_second,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_first)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("getDissimilarity", 1, 3, 3, 1); __PYX_ERR(0, 6010, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_second)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("getDissimilarity", 1, 3, 3, 2); __PYX_ERR(0, 6010, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getDissimilarity") < 0)) __PYX_ERR(0, 6010, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_first = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[1]);
    __pyx_v_second = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[2]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getDissimilarity", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6010, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.NodeStructuralRandMeasure.getDissimilarity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 6010, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_first), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "first", 0))) __PYX_ERR(0, 6010, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_second), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "second", 0))) __PYX_ERR(0, 6010, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_25NodeStructuralRandMeasure_getDissimilarity(((struct __pyx_obj_9networkit_10_NetworKit_NodeStructuralRandMeasure *)__pyx_v_self), __pyx_v_G, __pyx_v_first, __pyx_v_second);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_25NodeStructuralRandMeasure_getDissimilarity(struct __pyx_obj_9networkit_10_NetworKit_NodeStructuralRandMeasure *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_first, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_second) {
  double __pyx_v_ret;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getDissimilarity", 0);

  /* "networkit/_NetworKit.pyx":6012
 * 	def getDissimilarity(self, Graph G, Partition first, Partition second):
 * 		cdef double ret
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			ret = self._this.getDissimilarity(G._this, first._this, second._this)
 * 		return ret
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":6013
 * 		cdef double ret
 * 		with nogil:
 * 			ret = self._this.getDissimilarity(G._this, first._this, second._this)             # <<<<<<<<<<<<<<
 * 		return ret
 * 
 */
        try {
          __pyx_t_1 = __pyx_v_self->_this.getDissimilarity(__pyx_v_G->_this, __pyx_v_first->_this, __pyx_v_second->_this);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 6013, __pyx_L4_error)
        }
        __pyx_v_ret = __pyx_t_1;
      }

      /* "networkit/_NetworKit.pyx":6012
 * 	def getDissimilarity(self, Graph G, Partition first, Partition second):
 * 		cdef double ret
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			ret = self._this.getDissimilarity(G._this, first._this, second._this)
 * 		return ret
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":6014
 * 		with nogil:
 * 			ret = self._this.getDissimilarity(G._this, first._this, second._this)
 * 		return ret             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ret); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6010
 * 	cdef _NodeStructuralRandMeasure _this
 * 
 * 	def getDissimilarity(self, Graph G, Partition first, Partition second):             # <<<<<<<<<<<<<<
 * 		cdef double ret
 * 		with nogil:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.NodeStructuralRandMeasure.getDissimilarity", __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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_25NodeStructuralRandMeasure_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_25NodeStructuralRandMeasure_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_25NodeStructuralRandMeasure_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_NodeStructuralRandMeasure *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_25NodeStructuralRandMeasure_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NodeStructuralRandMeasure *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__199, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.NodeStructuralRandMeasure.__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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_25NodeStructuralRandMeasure_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_25NodeStructuralRandMeasure_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_25NodeStructuralRandMeasure_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_NodeStructuralRandMeasure *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_25NodeStructuralRandMeasure_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NodeStructuralRandMeasure *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__200, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.NodeStructuralRandMeasure.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6029
 * 	cdef _GraphStructuralRandMeasure _this
 * 
 * 	def getDissimilarity(self, Graph G, Partition first, Partition second):             # <<<<<<<<<<<<<<
 * 		cdef double ret
 * 		with nogil:
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_26GraphStructuralRandMeasure_1getDissimilarity(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_26GraphStructuralRandMeasure_1getDissimilarity(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_first = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_second = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDissimilarity (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_first,&__pyx_n_s_second,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_first)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("getDissimilarity", 1, 3, 3, 1); __PYX_ERR(0, 6029, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_second)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("getDissimilarity", 1, 3, 3, 2); __PYX_ERR(0, 6029, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getDissimilarity") < 0)) __PYX_ERR(0, 6029, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_first = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[1]);
    __pyx_v_second = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[2]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getDissimilarity", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6029, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphStructuralRandMeasure.getDissimilarity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 6029, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_first), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "first", 0))) __PYX_ERR(0, 6029, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_second), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "second", 0))) __PYX_ERR(0, 6029, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26GraphStructuralRandMeasure_getDissimilarity(((struct __pyx_obj_9networkit_10_NetworKit_GraphStructuralRandMeasure *)__pyx_v_self), __pyx_v_G, __pyx_v_first, __pyx_v_second);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_26GraphStructuralRandMeasure_getDissimilarity(struct __pyx_obj_9networkit_10_NetworKit_GraphStructuralRandMeasure *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_first, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_second) {
  double __pyx_v_ret;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getDissimilarity", 0);

  /* "networkit/_NetworKit.pyx":6031
 * 	def getDissimilarity(self, Graph G, Partition first, Partition second):
 * 		cdef double ret
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			ret = self._this.getDissimilarity(G._this, first._this, second._this)
 * 		return ret
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":6032
 * 		cdef double ret
 * 		with nogil:
 * 			ret = self._this.getDissimilarity(G._this, first._this, second._this)             # <<<<<<<<<<<<<<
 * 		return ret
 * 
 */
        try {
          __pyx_t_1 = __pyx_v_self->_this.getDissimilarity(__pyx_v_G->_this, __pyx_v_first->_this, __pyx_v_second->_this);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 6032, __pyx_L4_error)
        }
        __pyx_v_ret = __pyx_t_1;
      }

      /* "networkit/_NetworKit.pyx":6031
 * 	def getDissimilarity(self, Graph G, Partition first, Partition second):
 * 		cdef double ret
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			ret = self._this.getDissimilarity(G._this, first._this, second._this)
 * 		return ret
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":6033
 * 		with nogil:
 * 			ret = self._this.getDissimilarity(G._this, first._this, second._this)
 * 		return ret             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ret); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6033, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6029
 * 	cdef _GraphStructuralRandMeasure _this
 * 
 * 	def getDissimilarity(self, Graph G, Partition first, Partition second):             # <<<<<<<<<<<<<<
 * 		cdef double ret
 * 		with nogil:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GraphStructuralRandMeasure.getDissimilarity", __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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_26GraphStructuralRandMeasure_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_26GraphStructuralRandMeasure_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26GraphStructuralRandMeasure_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GraphStructuralRandMeasure *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_26GraphStructuralRandMeasure_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphStructuralRandMeasure *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__201, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphStructuralRandMeasure.__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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_26GraphStructuralRandMeasure_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_26GraphStructuralRandMeasure_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26GraphStructuralRandMeasure_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GraphStructuralRandMeasure *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_26GraphStructuralRandMeasure_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphStructuralRandMeasure *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__202, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphStructuralRandMeasure.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6047
 * 	cdef _JaccardMeasure _this
 * 
 * 	def getDissimilarity(self, Graph G, Partition first, Partition second):             # <<<<<<<<<<<<<<
 * 		cdef double ret
 * 		with nogil:
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_14JaccardMeasure_1getDissimilarity(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14JaccardMeasure_1getDissimilarity(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_first = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_second = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDissimilarity (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_first,&__pyx_n_s_second,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_first)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("getDissimilarity", 1, 3, 3, 1); __PYX_ERR(0, 6047, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_second)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("getDissimilarity", 1, 3, 3, 2); __PYX_ERR(0, 6047, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getDissimilarity") < 0)) __PYX_ERR(0, 6047, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_first = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[1]);
    __pyx_v_second = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[2]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getDissimilarity", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6047, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.JaccardMeasure.getDissimilarity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 6047, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_first), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "first", 0))) __PYX_ERR(0, 6047, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_second), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "second", 0))) __PYX_ERR(0, 6047, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14JaccardMeasure_getDissimilarity(((struct __pyx_obj_9networkit_10_NetworKit_JaccardMeasure *)__pyx_v_self), __pyx_v_G, __pyx_v_first, __pyx_v_second);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_14JaccardMeasure_getDissimilarity(struct __pyx_obj_9networkit_10_NetworKit_JaccardMeasure *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_first, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_second) {
  double __pyx_v_ret;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getDissimilarity", 0);

  /* "networkit/_NetworKit.pyx":6049
 * 	def getDissimilarity(self, Graph G, Partition first, Partition second):
 * 		cdef double ret
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			ret = self._this.getDissimilarity(G._this, first._this, second._this)
 * 		return ret
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":6050
 * 		cdef double ret
 * 		with nogil:
 * 			ret = self._this.getDissimilarity(G._this, first._this, second._this)             # <<<<<<<<<<<<<<
 * 		return ret
 * 
 */
        try {
          __pyx_t_1 = __pyx_v_self->_this.getDissimilarity(__pyx_v_G->_this, __pyx_v_first->_this, __pyx_v_second->_this);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 6050, __pyx_L4_error)
        }
        __pyx_v_ret = __pyx_t_1;
      }

      /* "networkit/_NetworKit.pyx":6049
 * 	def getDissimilarity(self, Graph G, Partition first, Partition second):
 * 		cdef double ret
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			ret = self._this.getDissimilarity(G._this, first._this, second._this)
 * 		return ret
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":6051
 * 		with nogil:
 * 			ret = self._this.getDissimilarity(G._this, first._this, second._this)
 * 		return ret             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/community/NMIDistance.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ret); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6051, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6047
 * 	cdef _JaccardMeasure _this
 * 
 * 	def getDissimilarity(self, Graph G, Partition first, Partition second):             # <<<<<<<<<<<<<<
 * 		cdef double ret
 * 		with nogil:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.JaccardMeasure.getDissimilarity", __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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_14JaccardMeasure_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14JaccardMeasure_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14JaccardMeasure_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_JaccardMeasure *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14JaccardMeasure_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_JaccardMeasure *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__203, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.JaccardMeasure.__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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_14JaccardMeasure_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14JaccardMeasure_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14JaccardMeasure_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_JaccardMeasure *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14JaccardMeasure_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_JaccardMeasure *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__204, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.JaccardMeasure.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6065
 * 	cdef _NMIDistance _this
 * 
 * 	def getDissimilarity(self, Graph G, Partition first, Partition second):             # <<<<<<<<<<<<<<
 * 		cdef double ret
 * 		with nogil:
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_11NMIDistance_1getDissimilarity(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_11NMIDistance_1getDissimilarity(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_first = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_second = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDissimilarity (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_first,&__pyx_n_s_second,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_first)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("getDissimilarity", 1, 3, 3, 1); __PYX_ERR(0, 6065, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_second)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("getDissimilarity", 1, 3, 3, 2); __PYX_ERR(0, 6065, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getDissimilarity") < 0)) __PYX_ERR(0, 6065, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_first = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[1]);
    __pyx_v_second = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[2]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getDissimilarity", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6065, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.NMIDistance.getDissimilarity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 6065, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_first), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "first", 0))) __PYX_ERR(0, 6065, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_second), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "second", 0))) __PYX_ERR(0, 6065, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11NMIDistance_getDissimilarity(((struct __pyx_obj_9networkit_10_NetworKit_NMIDistance *)__pyx_v_self), __pyx_v_G, __pyx_v_first, __pyx_v_second);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_11NMIDistance_getDissimilarity(struct __pyx_obj_9networkit_10_NetworKit_NMIDistance *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_first, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_second) {
  double __pyx_v_ret;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getDissimilarity", 0);

  /* "networkit/_NetworKit.pyx":6067
 * 	def getDissimilarity(self, Graph G, Partition first, Partition second):
 * 		cdef double ret
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			ret = self._this.getDissimilarity(G._this, first._this, second._this)
 * 		return ret
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":6068
 * 		cdef double ret
 * 		with nogil:
 * 			ret = self._this.getDissimilarity(G._this, first._this, second._this)             # <<<<<<<<<<<<<<
 * 		return ret
 * 
 */
        try {
          __pyx_t_1 = __pyx_v_self->_this.getDissimilarity(__pyx_v_G->_this, __pyx_v_first->_this, __pyx_v_second->_this);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 6068, __pyx_L4_error)
        }
        __pyx_v_ret = __pyx_t_1;
      }

      /* "networkit/_NetworKit.pyx":6067
 * 	def getDissimilarity(self, Graph G, Partition first, Partition second):
 * 		cdef double ret
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			ret = self._this.getDissimilarity(G._this, first._this, second._this)
 * 		return ret
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":6069
 * 		with nogil:
 * 			ret = self._this.getDissimilarity(G._this, first._this, second._this)
 * 		return ret             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/community/AdjustedRandMeasure.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ret); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6065
 * 	cdef _NMIDistance _this
 * 
 * 	def getDissimilarity(self, Graph G, Partition first, Partition second):             # <<<<<<<<<<<<<<
 * 		cdef double ret
 * 		with nogil:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.NMIDistance.getDissimilarity", __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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_11NMIDistance_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_11NMIDistance_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11NMIDistance_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_NMIDistance *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11NMIDistance_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NMIDistance *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__205, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.NMIDistance.__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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_11NMIDistance_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_11NMIDistance_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11NMIDistance_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_NMIDistance *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11NMIDistance_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NMIDistance *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__206, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.NMIDistance.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6082
 * 	cdef _AdjustedRandMeasure _this
 * 
 * 	def getDissimilarity(self, Graph G not None, Partition first not None, Partition second not None):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get the adjust rand dissimilarity. Runs in O(n log(n)).
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19AdjustedRandMeasure_1getDissimilarity(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_19AdjustedRandMeasure_getDissimilarity[] = "\n\t\tGet the adjust rand dissimilarity. Runs in O(n log(n)).\n\n\t\tNote that the dissimilarity can be larger than 1 if the partitions are more different than expected in the random model.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe graph on which the partitions shall be compared\n\t\tzeta : networkit.Partition\n\t\t\tThe first partiton\n\t\teta : networkit.Partition\n\t\t\tThe second partition\n\n\t\tReturns\n\t\t-------\n\t\tdouble\n\t\t\tThe adjusted rand dissimilarity\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_19AdjustedRandMeasure_1getDissimilarity(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_first = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_second = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDissimilarity (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_first,&__pyx_n_s_second,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_first)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("getDissimilarity", 1, 3, 3, 1); __PYX_ERR(0, 6082, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_second)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("getDissimilarity", 1, 3, 3, 2); __PYX_ERR(0, 6082, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getDissimilarity") < 0)) __PYX_ERR(0, 6082, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_first = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[1]);
    __pyx_v_second = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[2]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getDissimilarity", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6082, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.AdjustedRandMeasure.getDissimilarity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 6082, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_first), __pyx_ptype_9networkit_10_NetworKit_Partition, 0, "first", 0))) __PYX_ERR(0, 6082, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_second), __pyx_ptype_9networkit_10_NetworKit_Partition, 0, "second", 0))) __PYX_ERR(0, 6082, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19AdjustedRandMeasure_getDissimilarity(((struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandMeasure *)__pyx_v_self), __pyx_v_G, __pyx_v_first, __pyx_v_second);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19AdjustedRandMeasure_getDissimilarity(struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandMeasure *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_first, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_second) {
  double __pyx_v_ret;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getDissimilarity", 0);

  /* "networkit/_NetworKit.pyx":6103
 * 		"""
 * 		cdef double ret
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			ret = self._this.getDissimilarity(G._this, first._this, second._this)
 * 		return ret
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":6104
 * 		cdef double ret
 * 		with nogil:
 * 			ret = self._this.getDissimilarity(G._this, first._this, second._this)             # <<<<<<<<<<<<<<
 * 		return ret
 * 
 */
        try {
          __pyx_t_1 = __pyx_v_self->_this.getDissimilarity(__pyx_v_G->_this, __pyx_v_first->_this, __pyx_v_second->_this);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 6104, __pyx_L4_error)
        }
        __pyx_v_ret = __pyx_t_1;
      }

      /* "networkit/_NetworKit.pyx":6103
 * 		"""
 * 		cdef double ret
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			ret = self._this.getDissimilarity(G._this, first._this, second._this)
 * 		return ret
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":6105
 * 		with nogil:
 * 			ret = self._this.getDissimilarity(G._this, first._this, second._this)
 * 		return ret             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/community/LocalCommunityEvaluation.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ret); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6082
 * 	cdef _AdjustedRandMeasure _this
 * 
 * 	def getDissimilarity(self, Graph G not None, Partition first not None, Partition second not None):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get the adjust rand dissimilarity. Runs in O(n log(n)).
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.AdjustedRandMeasure.getDissimilarity", __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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19AdjustedRandMeasure_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19AdjustedRandMeasure_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19AdjustedRandMeasure_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandMeasure *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_19AdjustedRandMeasure_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandMeasure *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__207, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.AdjustedRandMeasure.__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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19AdjustedRandMeasure_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19AdjustedRandMeasure_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19AdjustedRandMeasure_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandMeasure *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_19AdjustedRandMeasure_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandMeasure *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__208, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.AdjustedRandMeasure.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6123
 * 	This is the base class both for Partitions as well as for Covers.
 * 	"""
 * 	def __init__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == LocalCommunityEvaluation:
 * 			raise RuntimeError("Error, you may not use LocalCommunityEvaluation directly, use a sub-class instead")
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_namedargs = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation___init__(((struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *)__pyx_v_self), __pyx_v_args, __pyx_v_namedargs);

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

static int __pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation___init__(struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "networkit/_NetworKit.pyx":6124
 * 	"""
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == LocalCommunityEvaluation:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use LocalCommunityEvaluation directly, use a sub-class instead")
 * 
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), ((PyObject *)__pyx_ptype_9networkit_10_NetworKit_LocalCommunityEvaluation), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6124, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 6124, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(__pyx_t_2)) {

    /* "networkit/_NetworKit.pyx":6125
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == LocalCommunityEvaluation:
 * 			raise RuntimeError("Error, you may not use LocalCommunityEvaluation directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def getWeightedAverage(self):
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__209, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6125, __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(0, 6125, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":6124
 * 	"""
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == LocalCommunityEvaluation:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use LocalCommunityEvaluation directly, use a sub-class instead")
 * 
 */
  }

  /* "networkit/_NetworKit.pyx":6123
 * 	This is the base class both for Partitions as well as for Covers.
 * 	"""
 * 	def __init__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == LocalCommunityEvaluation:
 * 			raise RuntimeError("Error, you may not use LocalCommunityEvaluation directly, use a sub-class instead")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LocalCommunityEvaluation.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6127
 * 			raise RuntimeError("Error, you may not use LocalCommunityEvaluation directly, use a sub-class instead")
 * 
 * 	def getWeightedAverage(self):             # <<<<<<<<<<<<<<
 * 		""" Get the average value weighted by cluster size.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_3getWeightedAverage(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_24LocalCommunityEvaluation_2getWeightedAverage[] = " Get the average value weighted by cluster size.\n\n\t\tReturns\n\t\t-------\n\t\tdouble:\n\t\t\tThe weighted average value.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_3getWeightedAverage(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getWeightedAverage (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_2getWeightedAverage(((struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_2getWeightedAverage(struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  double __pyx_t_3;
  __Pyx_RefNannySetupContext("getWeightedAverage", 0);

  /* "networkit/_NetworKit.pyx":6135
 * 			The weighted average value.
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getWeightedAverage()
 */
  __pyx_t_1 = ((__pyx_v_self->__pyx_base._this == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":6136
 * 		"""
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")             # <<<<<<<<<<<<<<
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getWeightedAverage()
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6136, __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(0, 6136, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":6135
 * 			The weighted average value.
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getWeightedAverage()
 */
  }

  /* "networkit/_NetworKit.pyx":6137
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getWeightedAverage()             # <<<<<<<<<<<<<<
 * 
 * 	def getUnweightedAverage(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_3 = ((NetworKit::LocalCommunityEvaluation *)__pyx_v_self->__pyx_base._this)->getWeightedAverage();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6137, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6127
 * 			raise RuntimeError("Error, you may not use LocalCommunityEvaluation directly, use a sub-class instead")
 * 
 * 	def getWeightedAverage(self):             # <<<<<<<<<<<<<<
 * 		""" Get the average value weighted by cluster size.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.LocalCommunityEvaluation.getWeightedAverage", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6139
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getWeightedAverage()
 * 
 * 	def getUnweightedAverage(self):             # <<<<<<<<<<<<<<
 * 		""" Get the (unweighted) average value of all clusters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_5getUnweightedAverage(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_24LocalCommunityEvaluation_4getUnweightedAverage[] = " Get the (unweighted) average value of all clusters.\n\n\t\tReturns\n\t\t-------\n\t\tdouble:\n\t\t\tThe unweighted average value.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_5getUnweightedAverage(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getUnweightedAverage (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_4getUnweightedAverage(((struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_4getUnweightedAverage(struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  double __pyx_t_3;
  __Pyx_RefNannySetupContext("getUnweightedAverage", 0);

  /* "networkit/_NetworKit.pyx":6147
 * 			The unweighted average value.
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getUnweightedAverage()
 */
  __pyx_t_1 = ((__pyx_v_self->__pyx_base._this == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":6148
 * 		"""
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")             # <<<<<<<<<<<<<<
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getUnweightedAverage()
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6148, __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(0, 6148, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":6147
 * 			The unweighted average value.
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getUnweightedAverage()
 */
  }

  /* "networkit/_NetworKit.pyx":6149
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getUnweightedAverage()             # <<<<<<<<<<<<<<
 * 
 * 	def getMaximumValue(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_3 = ((NetworKit::LocalCommunityEvaluation *)__pyx_v_self->__pyx_base._this)->getUnweightedAverage();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6149, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6139
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getWeightedAverage()
 * 
 * 	def getUnweightedAverage(self):             # <<<<<<<<<<<<<<
 * 		""" Get the (unweighted) average value of all clusters.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.LocalCommunityEvaluation.getUnweightedAverage", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6151
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getUnweightedAverage()
 * 
 * 	def getMaximumValue(self):             # <<<<<<<<<<<<<<
 * 		""" Get the maximum value of all clusters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_7getMaximumValue(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_24LocalCommunityEvaluation_6getMaximumValue[] = " Get the maximum value of all clusters.\n\n\t\tReturns\n\t\t-------\n\t\tdouble:\n\t\t\tThe maximum value.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_7getMaximumValue(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getMaximumValue (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_6getMaximumValue(((struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_6getMaximumValue(struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  double __pyx_t_3;
  __Pyx_RefNannySetupContext("getMaximumValue", 0);

  /* "networkit/_NetworKit.pyx":6159
 * 			The maximum value.
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getMaximumValue()
 */
  __pyx_t_1 = ((__pyx_v_self->__pyx_base._this == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":6160
 * 		"""
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")             # <<<<<<<<<<<<<<
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getMaximumValue()
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6160, __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(0, 6160, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":6159
 * 			The maximum value.
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getMaximumValue()
 */
  }

  /* "networkit/_NetworKit.pyx":6161
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getMaximumValue()             # <<<<<<<<<<<<<<
 * 
 * 	def getMinimumValue(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_3 = ((NetworKit::LocalCommunityEvaluation *)__pyx_v_self->__pyx_base._this)->getMaximumValue();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6161, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6151
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getUnweightedAverage()
 * 
 * 	def getMaximumValue(self):             # <<<<<<<<<<<<<<
 * 		""" Get the maximum value of all clusters.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.LocalCommunityEvaluation.getMaximumValue", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6163
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getMaximumValue()
 * 
 * 	def getMinimumValue(self):             # <<<<<<<<<<<<<<
 * 		""" Get the minimum value of all clusters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_9getMinimumValue(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_24LocalCommunityEvaluation_8getMinimumValue[] = " Get the minimum value of all clusters.\n\n\t\tReturns\n\t\t-------\n\t\tdouble:\n\t\t\tThe minimum value.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_9getMinimumValue(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getMinimumValue (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_8getMinimumValue(((struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_8getMinimumValue(struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  double __pyx_t_3;
  __Pyx_RefNannySetupContext("getMinimumValue", 0);

  /* "networkit/_NetworKit.pyx":6171
 * 			The minimum value.
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getMinimumValue()
 */
  __pyx_t_1 = ((__pyx_v_self->__pyx_base._this == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":6172
 * 		"""
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")             # <<<<<<<<<<<<<<
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getMinimumValue()
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6172, __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(0, 6172, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":6171
 * 			The minimum value.
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getMinimumValue()
 */
  }

  /* "networkit/_NetworKit.pyx":6173
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getMinimumValue()             # <<<<<<<<<<<<<<
 * 
 * 	def getValue(self, index i):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_3 = ((NetworKit::LocalCommunityEvaluation *)__pyx_v_self->__pyx_base._this)->getMinimumValue();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6173, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6163
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getMaximumValue()
 * 
 * 	def getMinimumValue(self):             # <<<<<<<<<<<<<<
 * 		""" Get the minimum value of all clusters.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.LocalCommunityEvaluation.getMinimumValue", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6175
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getMinimumValue()
 * 
 * 	def getValue(self, index i):             # <<<<<<<<<<<<<<
 * 		""" Get the value of the specified cluster.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_11getValue(PyObject *__pyx_v_self, PyObject *__pyx_arg_i); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_24LocalCommunityEvaluation_10getValue[] = " Get the value of the specified cluster.\n\n\t\tParameters\n\t\t----------\n\t\ti : index\n\t\t\tThe cluster to get the value for.\n\n\t\tReturns\n\t\t-------\n\t\tdouble:\n\t\t\tThe value of cluster i.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_11getValue(PyObject *__pyx_v_self, PyObject *__pyx_arg_i) {
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_i;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getValue (wrapper)", 0);
  assert(__pyx_arg_i); {
    __pyx_v_i = __Pyx_PyInt_As_uint64_t(__pyx_arg_i); if (unlikely((__pyx_v_i == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 6175, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LocalCommunityEvaluation.getValue", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_10getValue(((struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *)__pyx_v_self), ((__pyx_t_9networkit_10_NetworKit_index)__pyx_v_i));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_10getValue(struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_i) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  double __pyx_t_3;
  __Pyx_RefNannySetupContext("getValue", 0);

  /* "networkit/_NetworKit.pyx":6188
 * 			The value of cluster i.
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getValue(i)
 */
  __pyx_t_1 = ((__pyx_v_self->__pyx_base._this == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":6189
 * 		"""
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")             # <<<<<<<<<<<<<<
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getValue(i)
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6189, __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(0, 6189, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":6188
 * 			The value of cluster i.
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getValue(i)
 */
  }

  /* "networkit/_NetworKit.pyx":6190
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getValue(i)             # <<<<<<<<<<<<<<
 * 
 * 	def getValues(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_3 = ((NetworKit::LocalCommunityEvaluation *)__pyx_v_self->__pyx_base._this)->getValue(__pyx_v_i);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6190, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6175
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getMinimumValue()
 * 
 * 	def getValue(self, index i):             # <<<<<<<<<<<<<<
 * 		""" Get the value of the specified cluster.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.LocalCommunityEvaluation.getValue", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6192
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getValue(i)
 * 
 * 	def getValues(self):             # <<<<<<<<<<<<<<
 * 		""" Get the values of all clusters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_13getValues(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_24LocalCommunityEvaluation_12getValues[] = " Get the values of all clusters.\n\n\t\tReturns\n\t\t-------\n\t\tlist[double]:\n\t\t\tThe values of all clusters.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_13getValues(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getValues (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_12getValues(((struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_12getValues(struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  std::vector<double>  __pyx_t_3;
  __Pyx_RefNannySetupContext("getValues", 0);

  /* "networkit/_NetworKit.pyx":6200
 * 			The values of all clusters.
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getValues()
 */
  __pyx_t_1 = ((__pyx_v_self->__pyx_base._this == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":6201
 * 		"""
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")             # <<<<<<<<<<<<<<
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getValues()
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6201, __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(0, 6201, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":6200
 * 			The values of all clusters.
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getValues()
 */
  }

  /* "networkit/_NetworKit.pyx":6202
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getValues()             # <<<<<<<<<<<<<<
 * 
 * 	def isSmallBetter(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_3 = ((NetworKit::LocalCommunityEvaluation *)__pyx_v_self->__pyx_base._this)->getValues();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6202, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_double(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6202, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6192
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getValue(i)
 * 
 * 	def getValues(self):             # <<<<<<<<<<<<<<
 * 		""" Get the values of all clusters.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.LocalCommunityEvaluation.getValues", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6204
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getValues()
 * 
 * 	def isSmallBetter(self):             # <<<<<<<<<<<<<<
 * 		""" If small values are better (otherwise large values are better).
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_15isSmallBetter(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_24LocalCommunityEvaluation_14isSmallBetter[] = " If small values are better (otherwise large values are better).\n\n\t\tReturns\n\t\t-------\n\t\tbool:\n\t\t\tIf small values are better.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_15isSmallBetter(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isSmallBetter (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_14isSmallBetter(((struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_14isSmallBetter(struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  bool __pyx_t_3;
  __Pyx_RefNannySetupContext("isSmallBetter", 0);

  /* "networkit/_NetworKit.pyx":6212
 * 			If small values are better.
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_LocalCommunityEvaluation*>(self._this)).isSmallBetter()
 */
  __pyx_t_1 = ((__pyx_v_self->__pyx_base._this == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":6213
 * 		"""
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")             # <<<<<<<<<<<<<<
 * 		return (<_LocalCommunityEvaluation*>(self._this)).isSmallBetter()
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6213, __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(0, 6213, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":6212
 * 			If small values are better.
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_LocalCommunityEvaluation*>(self._this)).isSmallBetter()
 */
  }

  /* "networkit/_NetworKit.pyx":6214
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_LocalCommunityEvaluation*>(self._this)).isSmallBetter()             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/community/LocalPartitionEvaluation.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_3 = ((NetworKit::LocalCommunityEvaluation *)__pyx_v_self->__pyx_base._this)->isSmallBetter();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6214, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6204
 * 		return (<_LocalCommunityEvaluation*>(self._this)).getValues()
 * 
 * 	def isSmallBetter(self):             # <<<<<<<<<<<<<<
 * 		""" If small values are better (otherwise large values are better).
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.LocalCommunityEvaluation.isSmallBetter", __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_9networkit_10_NetworKit_24LocalCommunityEvaluation_17__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_17__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_16__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__210, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LocalCommunityEvaluation.__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_9networkit_10_NetworKit_24LocalCommunityEvaluation_19__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_19__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_18__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_24LocalCommunityEvaluation_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__211, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LocalCommunityEvaluation.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6229
 * 	cdef Partition _P
 * 
 * 	def __init__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == LocalPartitionEvaluation:
 * 			raise RuntimeError("Error, you may not use LocalPartitionEvaluation directly, use a sub-class instead")
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_24LocalPartitionEvaluation_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_24LocalPartitionEvaluation_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_namedargs = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_24LocalPartitionEvaluation___init__(((struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation *)__pyx_v_self), __pyx_v_args, __pyx_v_namedargs);

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

static int __pyx_pf_9networkit_10_NetworKit_24LocalPartitionEvaluation___init__(struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "networkit/_NetworKit.pyx":6230
 * 
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == LocalPartitionEvaluation:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use LocalPartitionEvaluation directly, use a sub-class instead")
 * 
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), ((PyObject *)__pyx_ptype_9networkit_10_NetworKit_LocalPartitionEvaluation), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6230, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 6230, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(__pyx_t_2)) {

    /* "networkit/_NetworKit.pyx":6231
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == LocalPartitionEvaluation:
 * 			raise RuntimeError("Error, you may not use LocalPartitionEvaluation directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def __cinit__(self, Graph G not None, Partition P not None, *args, **namedargs):
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__212, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6231, __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(0, 6231, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":6230
 * 
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == LocalPartitionEvaluation:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use LocalPartitionEvaluation directly, use a sub-class instead")
 * 
 */
  }

  /* "networkit/_NetworKit.pyx":6229
 * 	cdef Partition _P
 * 
 * 	def __init__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == LocalPartitionEvaluation:
 * 			raise RuntimeError("Error, you may not use LocalPartitionEvaluation directly, use a sub-class instead")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LocalPartitionEvaluation.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6233
 * 			raise RuntimeError("Error, you may not use LocalPartitionEvaluation directly, use a sub-class instead")
 * 
 * 	def __cinit__(self, Graph G not None, Partition P not None, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._P = P
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_24LocalPartitionEvaluation_3__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_24LocalPartitionEvaluation_3__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_P = 0;
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_namedargs = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  __pyx_v_namedargs = PyDict_New(); if (unlikely(!__pyx_v_namedargs)) return -1;
  __Pyx_GOTREF(__pyx_v_namedargs);
  if (PyTuple_GET_SIZE(__pyx_args) > 2) {
    __pyx_v_args = PyTuple_GetSlice(__pyx_args, 2, PyTuple_GET_SIZE(__pyx_args));
    if (unlikely(!__pyx_v_args)) {
      __Pyx_DECREF(__pyx_v_namedargs); __pyx_v_namedargs = 0;
      __Pyx_RefNannyFinishContext();
      return -1;
    }
    __Pyx_GOTREF(__pyx_v_args);
  } else {
    __pyx_v_args = __pyx_empty_tuple; __Pyx_INCREF(__pyx_empty_tuple);
  }
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_P,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        default:
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_P)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 2, 1); __PYX_ERR(0, 6233, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t used_pos_args = (pos_args < 2) ? pos_args : 2;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_namedargs, values, used_pos_args, "__cinit__") < 0)) __PYX_ERR(0, 6233, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) < 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_P = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6233, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
  __Pyx_DECREF(__pyx_v_namedargs); __pyx_v_namedargs = 0;
  __Pyx_AddTraceback("networkit._NetworKit.LocalPartitionEvaluation.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 6233, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_P), __pyx_ptype_9networkit_10_NetworKit_Partition, 0, "P", 0))) __PYX_ERR(0, 6233, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_24LocalPartitionEvaluation_2__cinit__(((struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation *)__pyx_v_self), __pyx_v_G, __pyx_v_P, __pyx_v_args, __pyx_v_namedargs);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_namedargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_24LocalPartitionEvaluation_2__cinit__(struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_P, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":6234
 * 
 * 	def __cinit__(self, Graph G not None, Partition P not None, *args, **namedargs):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._P = P
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":6235
 * 	def __cinit__(self, Graph G not None, Partition P not None, *args, **namedargs):
 * 		self._G = G
 * 		self._P = P             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_P));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_P));
  __Pyx_GOTREF(__pyx_v_self->_P);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_P));
  __pyx_v_self->_P = __pyx_v_P;

  /* "networkit/_NetworKit.pyx":6233
 * 			raise RuntimeError("Error, you may not use LocalPartitionEvaluation directly, use a sub-class instead")
 * 
 * 	def __cinit__(self, Graph G not None, Partition P not None, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._P = P
 */

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

/* "networkit/_NetworKit.pyx":6237
 * 		self._P = P
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		# Just to be sure that everything is properly deleted
 * 		self._G = None
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_24LocalPartitionEvaluation_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_24LocalPartitionEvaluation_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_24LocalPartitionEvaluation_4__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation *)__pyx_v_self));

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

static void __pyx_pf_9networkit_10_NetworKit_24LocalPartitionEvaluation_4__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":6239
 * 	def __dealloc__(self):
 * 		# Just to be sure that everything is properly deleted
 * 		self._G = None             # <<<<<<<<<<<<<<
 * 		self._P = None
 * 
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None);

  /* "networkit/_NetworKit.pyx":6240
 * 		# Just to be sure that everything is properly deleted
 * 		self._G = None
 * 		self._P = None             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->_P);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_P));
  __pyx_v_self->_P = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)Py_None);

  /* "networkit/_NetworKit.pyx":6237
 * 		self._P = P
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		# Just to be sure that everything is properly deleted
 * 		self._G = None
 */

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

/* "(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_9networkit_10_NetworKit_24LocalPartitionEvaluation_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_24LocalPartitionEvaluation_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_24LocalPartitionEvaluation_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_24LocalPartitionEvaluation_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__213, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LocalPartitionEvaluation.__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_9networkit_10_NetworKit_24LocalPartitionEvaluation_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_24LocalPartitionEvaluation_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_24LocalPartitionEvaluation_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_24LocalPartitionEvaluation_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__214, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LocalPartitionEvaluation.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6257
 * 	cdef Cover _C
 * 
 * 	def __init__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == LocalCoverEvaluation:
 * 			raise RuntimeError("Error, you may not use LocalCoverEvaluation directly, use a sub-class instead")
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_20LocalCoverEvaluation_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_20LocalCoverEvaluation_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_namedargs = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20LocalCoverEvaluation___init__(((struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation *)__pyx_v_self), __pyx_v_args, __pyx_v_namedargs);

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

static int __pyx_pf_9networkit_10_NetworKit_20LocalCoverEvaluation___init__(struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "networkit/_NetworKit.pyx":6258
 * 
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == LocalCoverEvaluation:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use LocalCoverEvaluation directly, use a sub-class instead")
 * 
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), ((PyObject *)__pyx_ptype_9networkit_10_NetworKit_LocalCoverEvaluation), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6258, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 6258, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(__pyx_t_2)) {

    /* "networkit/_NetworKit.pyx":6259
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == LocalCoverEvaluation:
 * 			raise RuntimeError("Error, you may not use LocalCoverEvaluation directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def __cinit__(self, Graph G not None, Cover C not None, *args, **namedargs):
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__215, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6259, __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(0, 6259, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":6258
 * 
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == LocalCoverEvaluation:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use LocalCoverEvaluation directly, use a sub-class instead")
 * 
 */
  }

  /* "networkit/_NetworKit.pyx":6257
 * 	cdef Cover _C
 * 
 * 	def __init__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == LocalCoverEvaluation:
 * 			raise RuntimeError("Error, you may not use LocalCoverEvaluation directly, use a sub-class instead")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LocalCoverEvaluation.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6261
 * 			raise RuntimeError("Error, you may not use LocalCoverEvaluation directly, use a sub-class instead")
 * 
 * 	def __cinit__(self, Graph G not None, Cover C not None, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._C = C
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_20LocalCoverEvaluation_3__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_20LocalCoverEvaluation_3__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_C = 0;
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_namedargs = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  __pyx_v_namedargs = PyDict_New(); if (unlikely(!__pyx_v_namedargs)) return -1;
  __Pyx_GOTREF(__pyx_v_namedargs);
  if (PyTuple_GET_SIZE(__pyx_args) > 2) {
    __pyx_v_args = PyTuple_GetSlice(__pyx_args, 2, PyTuple_GET_SIZE(__pyx_args));
    if (unlikely(!__pyx_v_args)) {
      __Pyx_DECREF(__pyx_v_namedargs); __pyx_v_namedargs = 0;
      __Pyx_RefNannyFinishContext();
      return -1;
    }
    __Pyx_GOTREF(__pyx_v_args);
  } else {
    __pyx_v_args = __pyx_empty_tuple; __Pyx_INCREF(__pyx_empty_tuple);
  }
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_C,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        default:
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_C)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 2, 1); __PYX_ERR(0, 6261, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t used_pos_args = (pos_args < 2) ? pos_args : 2;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_namedargs, values, used_pos_args, "__cinit__") < 0)) __PYX_ERR(0, 6261, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) < 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_C = ((struct __pyx_obj_9networkit_10_NetworKit_Cover *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6261, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
  __Pyx_DECREF(__pyx_v_namedargs); __pyx_v_namedargs = 0;
  __Pyx_AddTraceback("networkit._NetworKit.LocalCoverEvaluation.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 6261, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_C), __pyx_ptype_9networkit_10_NetworKit_Cover, 0, "C", 0))) __PYX_ERR(0, 6261, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20LocalCoverEvaluation_2__cinit__(((struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation *)__pyx_v_self), __pyx_v_G, __pyx_v_C, __pyx_v_args, __pyx_v_namedargs);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_namedargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_20LocalCoverEvaluation_2__cinit__(struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_C, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":6262
 * 
 * 	def __cinit__(self, Graph G not None, Cover C not None, *args, **namedargs):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._C = C
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":6263
 * 	def __cinit__(self, Graph G not None, Cover C not None, *args, **namedargs):
 * 		self._G = G
 * 		self._C = C             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_C));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_C));
  __Pyx_GOTREF(__pyx_v_self->_C);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_C));
  __pyx_v_self->_C = __pyx_v_C;

  /* "networkit/_NetworKit.pyx":6261
 * 			raise RuntimeError("Error, you may not use LocalCoverEvaluation directly, use a sub-class instead")
 * 
 * 	def __cinit__(self, Graph G not None, Cover C not None, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._C = C
 */

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

/* "networkit/_NetworKit.pyx":6265
 * 		self._C = C
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		# Just to be sure that everything is properly deleted
 * 		self._G = None
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_20LocalCoverEvaluation_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_20LocalCoverEvaluation_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_20LocalCoverEvaluation_4__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation *)__pyx_v_self));

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

static void __pyx_pf_9networkit_10_NetworKit_20LocalCoverEvaluation_4__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":6267
 * 	def __dealloc__(self):
 * 		# Just to be sure that everything is properly deleted
 * 		self._G = None             # <<<<<<<<<<<<<<
 * 		self._C = None
 * 
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None);

  /* "networkit/_NetworKit.pyx":6268
 * 		# Just to be sure that everything is properly deleted
 * 		self._G = None
 * 		self._C = None             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/community/IntrapartitionDensity.hpp>":
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->_C);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_C));
  __pyx_v_self->_C = ((struct __pyx_obj_9networkit_10_NetworKit_Cover *)Py_None);

  /* "networkit/_NetworKit.pyx":6265
 * 		self._C = C
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		# Just to be sure that everything is properly deleted
 * 		self._G = None
 */

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

/* "(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_9networkit_10_NetworKit_20LocalCoverEvaluation_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20LocalCoverEvaluation_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20LocalCoverEvaluation_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20LocalCoverEvaluation_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__216, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LocalCoverEvaluation.__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_9networkit_10_NetworKit_20LocalCoverEvaluation_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20LocalCoverEvaluation_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20LocalCoverEvaluation_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20LocalCoverEvaluation_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__217, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LocalCoverEvaluation.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6288
 * 		The partition that shall be evaluated
 * 	"""
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _IntrapartitionDensity(self._G._this, self._P._this)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_21IntrapartitionDensity_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_21IntrapartitionDensity_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21IntrapartitionDensity___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_IntrapartitionDensity *)__pyx_v_self));

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

static int __pyx_pf_9networkit_10_NetworKit_21IntrapartitionDensity___cinit__(struct __pyx_obj_9networkit_10_NetworKit_IntrapartitionDensity *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::IntrapartitionDensity *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":6289
 * 	"""
 * 	def __cinit__(self):
 * 		self._this = new _IntrapartitionDensity(self._G._this, self._P._this)             # <<<<<<<<<<<<<<
 * 
 * 	def getGlobal(self):
 */
  try {
    __pyx_t_1 = new NetworKit::IntrapartitionDensity(__pyx_v_self->__pyx_base._G->_this, __pyx_v_self->__pyx_base._P->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6289, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":6288
 * 		The partition that shall be evaluated
 * 	"""
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _IntrapartitionDensity(self._G._this, self._P._this)
 * 
 */

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

/* "networkit/_NetworKit.pyx":6291
 * 		self._this = new _IntrapartitionDensity(self._G._this, self._P._this)
 * 
 * 	def getGlobal(self):             # <<<<<<<<<<<<<<
 * 		""" Get the global intra-cluster density.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_21IntrapartitionDensity_3getGlobal(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_21IntrapartitionDensity_2getGlobal[] = " Get the global intra-cluster density.\n\n\t\tReturns\n\t\t-------\n\t\tdouble:\n\t\t\tThe global intra-cluster density.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_21IntrapartitionDensity_3getGlobal(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getGlobal (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21IntrapartitionDensity_2getGlobal(((struct __pyx_obj_9networkit_10_NetworKit_IntrapartitionDensity *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21IntrapartitionDensity_2getGlobal(struct __pyx_obj_9networkit_10_NetworKit_IntrapartitionDensity *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  double __pyx_t_3;
  __Pyx_RefNannySetupContext("getGlobal", 0);

  /* "networkit/_NetworKit.pyx":6299
 * 			The global intra-cluster density.
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_IntrapartitionDensity*>(self._this)).getGlobal()
 */
  __pyx_t_1 = ((__pyx_v_self->__pyx_base.__pyx_base.__pyx_base._this == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":6300
 * 		"""
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")             # <<<<<<<<<<<<<<
 * 		return (<_IntrapartitionDensity*>(self._this)).getGlobal()
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6300, __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(0, 6300, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":6299
 * 			The global intra-cluster density.
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_IntrapartitionDensity*>(self._this)).getGlobal()
 */
  }

  /* "networkit/_NetworKit.pyx":6301
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_IntrapartitionDensity*>(self._this)).getGlobal()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_3 = ((NetworKit::IntrapartitionDensity *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base._this)->getGlobal();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6301, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6291
 * 		self._this = new _IntrapartitionDensity(self._G._this, self._P._this)
 * 
 * 	def getGlobal(self):             # <<<<<<<<<<<<<<
 * 		""" Get the global intra-cluster density.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.IntrapartitionDensity.getGlobal", __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_9networkit_10_NetworKit_21IntrapartitionDensity_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21IntrapartitionDensity_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21IntrapartitionDensity_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_IntrapartitionDensity *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21IntrapartitionDensity_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_IntrapartitionDensity *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__218, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.IntrapartitionDensity.__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_9networkit_10_NetworKit_21IntrapartitionDensity_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21IntrapartitionDensity_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21IntrapartitionDensity_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_IntrapartitionDensity *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21IntrapartitionDensity_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_IntrapartitionDensity *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__219, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.IntrapartitionDensity.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6332
 * 		The partition that shall be evaluated
 * 	"""
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _IsolatedInterpartitionConductance(self._G._this, self._P._this)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_33IsolatedInterpartitionConductance_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_33IsolatedInterpartitionConductance_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_33IsolatedInterpartitionConductance___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_IsolatedInterpartitionConductance *)__pyx_v_self));

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

static int __pyx_pf_9networkit_10_NetworKit_33IsolatedInterpartitionConductance___cinit__(struct __pyx_obj_9networkit_10_NetworKit_IsolatedInterpartitionConductance *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::IsolatedInterpartitionConductance *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":6333
 * 	"""
 * 	def __cinit__(self):
 * 		self._this = new _IsolatedInterpartitionConductance(self._G._this, self._P._this)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/community/IsolatedInterpartitionExpansion.hpp>":
 */
  try {
    __pyx_t_1 = new NetworKit::IsolatedInterpartitionConductance(__pyx_v_self->__pyx_base._G->_this, __pyx_v_self->__pyx_base._P->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6333, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":6332
 * 		The partition that shall be evaluated
 * 	"""
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _IsolatedInterpartitionConductance(self._G._this, self._P._this)
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.IsolatedInterpartitionConductance.__cinit__", __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_9networkit_10_NetworKit_33IsolatedInterpartitionConductance_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_33IsolatedInterpartitionConductance_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_33IsolatedInterpartitionConductance_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_IsolatedInterpartitionConductance *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_33IsolatedInterpartitionConductance_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_IsolatedInterpartitionConductance *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__220, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.IsolatedInterpartitionConductance.__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_9networkit_10_NetworKit_33IsolatedInterpartitionConductance_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_33IsolatedInterpartitionConductance_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_33IsolatedInterpartitionConductance_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_IsolatedInterpartitionConductance *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_33IsolatedInterpartitionConductance_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_IsolatedInterpartitionConductance *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__221, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.IsolatedInterpartitionConductance.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6363
 * 		The partition that shall be evaluated
 * 	"""
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _IsolatedInterpartitionExpansion(self._G._this, self._P._this)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_31IsolatedInterpartitionExpansion_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_31IsolatedInterpartitionExpansion_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_31IsolatedInterpartitionExpansion___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_IsolatedInterpartitionExpansion *)__pyx_v_self));

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

static int __pyx_pf_9networkit_10_NetworKit_31IsolatedInterpartitionExpansion___cinit__(struct __pyx_obj_9networkit_10_NetworKit_IsolatedInterpartitionExpansion *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::IsolatedInterpartitionExpansion *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":6364
 * 	"""
 * 	def __cinit__(self):
 * 		self._this = new _IsolatedInterpartitionExpansion(self._G._this, self._P._this)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/community/CoverHubDominance.hpp>":
 */
  try {
    __pyx_t_1 = new NetworKit::IsolatedInterpartitionExpansion(__pyx_v_self->__pyx_base._G->_this, __pyx_v_self->__pyx_base._P->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6364, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":6363
 * 		The partition that shall be evaluated
 * 	"""
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _IsolatedInterpartitionExpansion(self._G._this, self._P._this)
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.IsolatedInterpartitionExpansion.__cinit__", __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_9networkit_10_NetworKit_31IsolatedInterpartitionExpansion_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_31IsolatedInterpartitionExpansion_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_31IsolatedInterpartitionExpansion_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_IsolatedInterpartitionExpansion *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_31IsolatedInterpartitionExpansion_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_IsolatedInterpartitionExpansion *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__222, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.IsolatedInterpartitionExpansion.__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_9networkit_10_NetworKit_31IsolatedInterpartitionExpansion_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_31IsolatedInterpartitionExpansion_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_31IsolatedInterpartitionExpansion_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_IsolatedInterpartitionExpansion *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_31IsolatedInterpartitionExpansion_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_IsolatedInterpartitionExpansion *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__223, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.IsolatedInterpartitionExpansion.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6392
 * 		The cover that shall be evaluated
 * 	"""
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _CoverHubDominance(self._G._this, self._C._this)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_17CoverHubDominance_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_17CoverHubDominance_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17CoverHubDominance___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_CoverHubDominance *)__pyx_v_self));

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

static int __pyx_pf_9networkit_10_NetworKit_17CoverHubDominance___cinit__(struct __pyx_obj_9networkit_10_NetworKit_CoverHubDominance *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::CoverHubDominance *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":6393
 * 	"""
 * 	def __cinit__(self):
 * 		self._this = new _CoverHubDominance(self._G._this, self._C._this)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/community/PartitionHubDominance.hpp>":
 */
  try {
    __pyx_t_1 = new NetworKit::CoverHubDominance(__pyx_v_self->__pyx_base._G->_this, __pyx_v_self->__pyx_base._C->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6393, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":6392
 * 		The cover that shall be evaluated
 * 	"""
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _CoverHubDominance(self._G._this, self._C._this)
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.CoverHubDominance.__cinit__", __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_9networkit_10_NetworKit_17CoverHubDominance_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17CoverHubDominance_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17CoverHubDominance_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_CoverHubDominance *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17CoverHubDominance_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CoverHubDominance *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__224, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.CoverHubDominance.__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_9networkit_10_NetworKit_17CoverHubDominance_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17CoverHubDominance_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17CoverHubDominance_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_CoverHubDominance *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17CoverHubDominance_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CoverHubDominance *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__225, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.CoverHubDominance.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6420
 * 		The partition that shall be evaluated
 * 	"""
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _PartitionHubDominance(self._G._this, self._P._this)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_21PartitionHubDominance_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_21PartitionHubDominance_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21PartitionHubDominance___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_PartitionHubDominance *)__pyx_v_self));

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

static int __pyx_pf_9networkit_10_NetworKit_21PartitionHubDominance___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PartitionHubDominance *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::PartitionHubDominance *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":6421
 * 	"""
 * 	def __cinit__(self):
 * 		self._this = new _PartitionHubDominance(self._G._this, self._P._this)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/community/PartitionFragmentation.hpp>":
 */
  try {
    __pyx_t_1 = new NetworKit::PartitionHubDominance(__pyx_v_self->__pyx_base._G->_this, __pyx_v_self->__pyx_base._P->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6421, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":6420
 * 		The partition that shall be evaluated
 * 	"""
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _PartitionHubDominance(self._G._this, self._P._this)
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PartitionHubDominance.__cinit__", __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_9networkit_10_NetworKit_21PartitionHubDominance_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21PartitionHubDominance_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21PartitionHubDominance_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PartitionHubDominance *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21PartitionHubDominance_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PartitionHubDominance *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__226, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PartitionHubDominance.__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_9networkit_10_NetworKit_21PartitionHubDominance_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21PartitionHubDominance_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21PartitionHubDominance_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PartitionHubDominance *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21PartitionHubDominance_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PartitionHubDominance *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__227, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PartitionHubDominance.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6440
 * 		The partition that shall be evaluated
 * 	"""
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _PartitionFragmentation(self._G._this, self._P._this)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_22PartitionFragmentation_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_22PartitionFragmentation_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22PartitionFragmentation___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_PartitionFragmentation *)__pyx_v_self));

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

static int __pyx_pf_9networkit_10_NetworKit_22PartitionFragmentation___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PartitionFragmentation *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::PartitionFragmentation *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":6441
 * 	"""
 * 	def __cinit__(self):
 * 		self._this = new _PartitionFragmentation(self._G._this, self._P._this)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/community/StablePartitionNodes.hpp>":
 */
  try {
    __pyx_t_1 = new NetworKit::PartitionFragmentation(__pyx_v_self->__pyx_base._G->_this, __pyx_v_self->__pyx_base._P->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6441, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":6440
 * 		The partition that shall be evaluated
 * 	"""
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _PartitionFragmentation(self._G._this, self._P._this)
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PartitionFragmentation.__cinit__", __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_9networkit_10_NetworKit_22PartitionFragmentation_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_22PartitionFragmentation_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22PartitionFragmentation_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PartitionFragmentation *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22PartitionFragmentation_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PartitionFragmentation *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__228, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PartitionFragmentation.__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_9networkit_10_NetworKit_22PartitionFragmentation_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_22PartitionFragmentation_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22PartitionFragmentation_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PartitionFragmentation *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22PartitionFragmentation_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PartitionFragmentation *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__229, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PartitionFragmentation.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6463
 * 		The partition that shall be evaluated
 * 	"""
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _StablePartitionNodes(self._G._this, self._P._this)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_20StablePartitionNodes_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_20StablePartitionNodes_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20StablePartitionNodes___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_StablePartitionNodes *)__pyx_v_self));

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

static int __pyx_pf_9networkit_10_NetworKit_20StablePartitionNodes___cinit__(struct __pyx_obj_9networkit_10_NetworKit_StablePartitionNodes *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::StablePartitionNodes *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":6464
 * 	"""
 * 	def __cinit__(self):
 * 		self._this = new _StablePartitionNodes(self._G._this, self._P._this)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  try {
    __pyx_t_1 = new NetworKit::StablePartitionNodes(__pyx_v_self->__pyx_base._G->_this, __pyx_v_self->__pyx_base._P->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6464, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":6463
 * 		The partition that shall be evaluated
 * 	"""
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _StablePartitionNodes(self._G._this, self._P._this)
 * 
 */

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

/* "networkit/_NetworKit.pyx":6467
 * 
 * 
 * 	def isStable(self, node u):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Check if a given node is stable, i.e. more connected to its own partition than to other partitions.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20StablePartitionNodes_3isStable(PyObject *__pyx_v_self, PyObject *__pyx_arg_u); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_20StablePartitionNodes_2isStable[] = "\n\t\tCheck if a given node is stable, i.e. more connected to its own partition than to other partitions.\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tThe node to check\n\n\t\tReturns\n\t\t-------\n\t\tbool\n\t\t\tIf the node u is stable.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_20StablePartitionNodes_3isStable(PyObject *__pyx_v_self, PyObject *__pyx_arg_u) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isStable (wrapper)", 0);
  assert(__pyx_arg_u); {
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(__pyx_arg_u); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 6467, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.StablePartitionNodes.isStable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20StablePartitionNodes_2isStable(((struct __pyx_obj_9networkit_10_NetworKit_StablePartitionNodes *)__pyx_v_self), ((__pyx_t_9networkit_10_NetworKit_node)__pyx_v_u));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20StablePartitionNodes_2isStable(struct __pyx_obj_9networkit_10_NetworKit_StablePartitionNodes *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  bool __pyx_t_3;
  __Pyx_RefNannySetupContext("isStable", 0);

  /* "networkit/_NetworKit.pyx":6481
 * 			If the node u is stable.
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_StablePartitionNodes*>(self._this)).isStable(u)
 */
  __pyx_t_1 = ((__pyx_v_self->__pyx_base.__pyx_base.__pyx_base._this == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":6482
 * 		"""
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")             # <<<<<<<<<<<<<<
 * 		return (<_StablePartitionNodes*>(self._this)).isStable(u)
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6482, __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(0, 6482, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":6481
 * 			If the node u is stable.
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_StablePartitionNodes*>(self._this)).isStable(u)
 */
  }

  /* "networkit/_NetworKit.pyx":6483
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_StablePartitionNodes*>(self._this)).isStable(u)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_3 = ((NetworKit::StablePartitionNodes *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base._this)->isStable(__pyx_v_u);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6483, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6483, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6467
 * 
 * 
 * 	def isStable(self, node u):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Check if a given node is stable, i.e. more connected to its own partition than to other partitions.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.StablePartitionNodes.isStable", __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_9networkit_10_NetworKit_20StablePartitionNodes_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20StablePartitionNodes_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20StablePartitionNodes_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_StablePartitionNodes *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20StablePartitionNodes_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_StablePartitionNodes *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__230, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.StablePartitionNodes.__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_9networkit_10_NetworKit_20StablePartitionNodes_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20StablePartitionNodes_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20StablePartitionNodes_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_StablePartitionNodes *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20StablePartitionNodes_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_StablePartitionNodes *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__231, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.StablePartitionNodes.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6519
 * 	"""
 * 	cdef Cover _reference
 * 	def __cinit__(self, Graph G not None, Cover C not None, Cover reference not None):             # <<<<<<<<<<<<<<
 * 		self._this = new _CoverF1Similarity(G._this, C._this, reference._this)
 * 		self._reference = reference
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_17CoverF1Similarity_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_17CoverF1Similarity_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_C = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_reference = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_C,&__pyx_n_s_reference,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_C)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 1); __PYX_ERR(0, 6519, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_reference)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 2); __PYX_ERR(0, 6519, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 6519, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_C = ((struct __pyx_obj_9networkit_10_NetworKit_Cover *)values[1]);
    __pyx_v_reference = ((struct __pyx_obj_9networkit_10_NetworKit_Cover *)values[2]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6519, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.CoverF1Similarity.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 6519, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_C), __pyx_ptype_9networkit_10_NetworKit_Cover, 0, "C", 0))) __PYX_ERR(0, 6519, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_reference), __pyx_ptype_9networkit_10_NetworKit_Cover, 0, "reference", 0))) __PYX_ERR(0, 6519, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17CoverF1Similarity___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_CoverF1Similarity *)__pyx_v_self), __pyx_v_G, __pyx_v_C, __pyx_v_reference);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_17CoverF1Similarity___cinit__(struct __pyx_obj_9networkit_10_NetworKit_CoverF1Similarity *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_C, struct __pyx_obj_9networkit_10_NetworKit_Cover *__pyx_v_reference) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::CoverF1Similarity *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":6520
 * 	cdef Cover _reference
 * 	def __cinit__(self, Graph G not None, Cover C not None, Cover reference not None):
 * 		self._this = new _CoverF1Similarity(G._this, C._this, reference._this)             # <<<<<<<<<<<<<<
 * 		self._reference = reference
 * 		assert(self._G == G)
 */
  try {
    __pyx_t_1 = new NetworKit::CoverF1Similarity(__pyx_v_G->_this, __pyx_v_C->_this, __pyx_v_reference->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6520, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":6521
 * 	def __cinit__(self, Graph G not None, Cover C not None, Cover reference not None):
 * 		self._this = new _CoverF1Similarity(G._this, C._this, reference._this)
 * 		self._reference = reference             # <<<<<<<<<<<<<<
 * 		assert(self._G == G)
 * 		assert(self._C == C)
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_reference));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_reference));
  __Pyx_GOTREF(__pyx_v_self->_reference);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_reference));
  __pyx_v_self->_reference = __pyx_v_reference;

  /* "networkit/_NetworKit.pyx":6522
 * 		self._this = new _CoverF1Similarity(G._this, C._this, reference._this)
 * 		self._reference = reference
 * 		assert(self._G == G)             # <<<<<<<<<<<<<<
 * 		assert(self._C == C)
 * 
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_self->__pyx_base._G), ((PyObject *)__pyx_v_G), Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6522, __pyx_L1_error)
    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 6522, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(0, 6522, __pyx_L1_error)
    }
  }
  #endif

  /* "networkit/_NetworKit.pyx":6523
 * 		self._reference = reference
 * 		assert(self._G == G)
 * 		assert(self._C == C)             # <<<<<<<<<<<<<<
 * 
 * # Module: flows
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_self->__pyx_base._C), ((PyObject *)__pyx_v_C), Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6523, __pyx_L1_error)
    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 6523, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(0, 6523, __pyx_L1_error)
    }
  }
  #endif

  /* "networkit/_NetworKit.pyx":6519
 * 	"""
 * 	cdef Cover _reference
 * 	def __cinit__(self, Graph G not None, Cover C not None, Cover reference not None):             # <<<<<<<<<<<<<<
 * 		self._this = new _CoverF1Similarity(G._this, C._this, reference._this)
 * 		self._reference = reference
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.CoverF1Similarity.__cinit__", __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_9networkit_10_NetworKit_17CoverF1Similarity_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17CoverF1Similarity_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17CoverF1Similarity_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_CoverF1Similarity *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17CoverF1Similarity_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CoverF1Similarity *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__232, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.CoverF1Similarity.__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_9networkit_10_NetworKit_17CoverF1Similarity_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17CoverF1Similarity_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17CoverF1Similarity_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_CoverF1Similarity *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17CoverF1Similarity_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CoverF1Similarity *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__233, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.CoverF1Similarity.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6554
 * 	cdef Graph _graph
 * 
 * 	def __cinit__(self, Graph graph not None, node source, node sink):             # <<<<<<<<<<<<<<
 * 		self._graph = graph # store reference of graph for memory management, so the graph is not deallocated before this object
 * 		self._this = new _EdmondsKarp(graph._this, source, sink)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_11EdmondsKarp_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_11EdmondsKarp_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph = 0;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_source;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_sink;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_source,&__pyx_n_s_sink,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_source)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 1); __PYX_ERR(0, 6554, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_sink)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 2); __PYX_ERR(0, 6554, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 6554, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_graph = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_source = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_source == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 6554, __pyx_L3_error)
    __pyx_v_sink = __Pyx_PyInt_As_uint64_t(values[2]); if (unlikely((__pyx_v_sink == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 6554, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6554, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EdmondsKarp.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_graph), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "graph", 0))) __PYX_ERR(0, 6554, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11EdmondsKarp___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *)__pyx_v_self), __pyx_v_graph, __pyx_v_source, __pyx_v_sink);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_11EdmondsKarp___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph, __pyx_t_9networkit_10_NetworKit_node __pyx_v_source, __pyx_t_9networkit_10_NetworKit_node __pyx_v_sink) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::EdmondsKarp *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":6555
 * 
 * 	def __cinit__(self, Graph graph not None, node source, node sink):
 * 		self._graph = graph # store reference of graph for memory management, so the graph is not deallocated before this object             # <<<<<<<<<<<<<<
 * 		self._this = new _EdmondsKarp(graph._this, source, sink)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_graph));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_graph));
  __Pyx_GOTREF(__pyx_v_self->_graph);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_graph));
  __pyx_v_self->_graph = __pyx_v_graph;

  /* "networkit/_NetworKit.pyx":6556
 * 	def __cinit__(self, Graph graph not None, node source, node sink):
 * 		self._graph = graph # store reference of graph for memory management, so the graph is not deallocated before this object
 * 		self._this = new _EdmondsKarp(graph._this, source, sink)             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  try {
    __pyx_t_1 = new NetworKit::EdmondsKarp(__pyx_v_graph->_this, __pyx_v_source, __pyx_v_sink);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6556, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":6554
 * 	cdef Graph _graph
 * 
 * 	def __cinit__(self, Graph graph not None, node source, node sink):             # <<<<<<<<<<<<<<
 * 		self._graph = graph # store reference of graph for memory management, so the graph is not deallocated before this object
 * 		self._this = new _EdmondsKarp(graph._this, source, sink)
 */

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

/* "networkit/_NetworKit.pyx":6558
 * 		self._this = new _EdmondsKarp(graph._this, source, sink)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_11EdmondsKarp_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_11EdmondsKarp_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_11EdmondsKarp_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *)__pyx_v_self));

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

static void __pyx_pf_9networkit_10_NetworKit_11EdmondsKarp_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":6559
 * 
 * 	def __dealloc__(self):
 * 		del self._this             # <<<<<<<<<<<<<<
 * 
 * 	def run(self):
 */
  delete __pyx_v_self->_this;

  /* "networkit/_NetworKit.pyx":6558
 * 		self._this = new _EdmondsKarp(graph._this, source, sink)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

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

/* "networkit/_NetworKit.pyx":6561
 * 		del self._this
 * 
 * 	def run(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Computes the maximum flow, executes the EdmondsKarp algorithm
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_11EdmondsKarp_5run(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_11EdmondsKarp_4run[] = "\n\t\tComputes the maximum flow, executes the EdmondsKarp algorithm\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_11EdmondsKarp_5run(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11EdmondsKarp_4run(((struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11EdmondsKarp_4run(struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":6565
 * 		Computes the maximum flow, executes the EdmondsKarp algorithm
 * 		"""
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.run()
 * 		return self
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":6566
 * 		"""
 * 		with nogil:
 * 			self._this.run()             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
        try {
          __pyx_v_self->_this->run();
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 6566, __pyx_L4_error)
        }
      }

      /* "networkit/_NetworKit.pyx":6565
 * 		Computes the maximum flow, executes the EdmondsKarp algorithm
 * 		"""
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.run()
 * 		return self
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":6567
 * 		with nogil:
 * 			self._this.run()
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def getMaxFlow(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6561
 * 		del self._this
 * 
 * 	def run(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Computes the maximum flow, executes the EdmondsKarp algorithm
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EdmondsKarp.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6569
 * 		return self
 * 
 * 	def getMaxFlow(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the value of the maximum flow from source to sink.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_11EdmondsKarp_7getMaxFlow(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_11EdmondsKarp_6getMaxFlow[] = "\n\t\tReturns the value of the maximum flow from source to sink.\n\n\t\tReturns\n\t\t-------\n\t\tedgeweight\n\t\t\tThe maximum flow value\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_11EdmondsKarp_7getMaxFlow(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getMaxFlow (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11EdmondsKarp_6getMaxFlow(((struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11EdmondsKarp_6getMaxFlow(struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("getMaxFlow", 0);

  /* "networkit/_NetworKit.pyx":6578
 * 			The maximum flow value
 * 		"""
 * 		return self._this.getMaxFlow()             # <<<<<<<<<<<<<<
 * 
 * 	def getSourceSet(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_this->getMaxFlow()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6569
 * 		return self
 * 
 * 	def getMaxFlow(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the value of the maximum flow from source to sink.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EdmondsKarp.getMaxFlow", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6580
 * 		return self._this.getMaxFlow()
 * 
 * 	def getSourceSet(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the set of the nodes on the source side of the flow/minimum cut.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_11EdmondsKarp_9getSourceSet(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_11EdmondsKarp_8getSourceSet[] = "\n\t\tReturns the set of the nodes on the source side of the flow/minimum cut.\n\n\t\tReturns\n\t\t-------\n\t\tlist\n\t\t\tThe set of nodes that form the (smallest) source side of the flow/minimum cut.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_11EdmondsKarp_9getSourceSet(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getSourceSet (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11EdmondsKarp_8getSourceSet(((struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11EdmondsKarp_8getSourceSet(struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getSourceSet", 0);

  /* "networkit/_NetworKit.pyx":6589
 * 			The set of nodes that form the (smallest) source side of the flow/minimum cut.
 * 		"""
 * 		return self._this.getSourceSet()             # <<<<<<<<<<<<<<
 * 
 * 	def getFlow(self, node u, node v = none):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this->getSourceSet();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6589, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6589, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6580
 * 		return self._this.getMaxFlow()
 * 
 * 	def getSourceSet(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the set of the nodes on the source side of the flow/minimum cut.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.EdmondsKarp.getSourceSet", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6591
 * 		return self._this.getSourceSet()
 * 
 * 	def getFlow(self, node u, node v = none):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get the flow value between two nodes u and v or an edge identified by the edge id u.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_11EdmondsKarp_11getFlow(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_11EdmondsKarp_10getFlow[] = "\n\t\tGet the flow value between two nodes u and v or an edge identified by the edge id u.\n\t\tWarning: The variant with two edge ids is linear in the degree of u.\n\n\t\tParameters\n\t\t----------\n\t\tu : node or edgeid\n\t\t\tThe first node incident to the edge or the edge id\n\t\tv : node\n\t\t\tThe second node incident to the edge (optional if edge id is specified)\n\n\t\tReturns\n\t\t-------\n\t\tedgeweight\n\t\t\tThe flow on the specified edge\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_11EdmondsKarp_11getFlow(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getFlow (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getFlow") < 0)) __PYX_ERR(0, 6591, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 6591, __pyx_L3_error)
    if (values[1]) {
      __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 6591, __pyx_L3_error)
    } else {
      __pyx_v_v = __pyx_k__234;
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getFlow", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6591, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EdmondsKarp.getFlow", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11EdmondsKarp_10getFlow(((struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11EdmondsKarp_10getFlow(struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  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;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_5;
  __Pyx_RefNannySetupContext("getFlow", 0);

  /* "networkit/_NetworKit.pyx":6608
 * 			The flow on the specified edge
 * 		"""
 * 		if v == none: # Assume that node and edge ids are the same type             # <<<<<<<<<<<<<<
 * 			return self._this.getFlow(u)
 * 		else:
 */
  __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_v); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6608, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_none); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6608, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __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(0, 6608, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __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(0, 6608, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_4) {

    /* "networkit/_NetworKit.pyx":6609
 * 		"""
 * 		if v == none: # Assume that node and edge ids are the same type
 * 			return self._this.getFlow(u)             # <<<<<<<<<<<<<<
 * 		else:
 * 			return self._this.getFlow(u, v)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_3 = PyFloat_FromDouble(__pyx_v_self->_this->getFlow(__pyx_v_u)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6609, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "networkit/_NetworKit.pyx":6608
 * 			The flow on the specified edge
 * 		"""
 * 		if v == none: # Assume that node and edge ids are the same type             # <<<<<<<<<<<<<<
 * 			return self._this.getFlow(u)
 * 		else:
 */
  }

  /* "networkit/_NetworKit.pyx":6611
 * 			return self._this.getFlow(u)
 * 		else:
 * 			return self._this.getFlow(u, v)             # <<<<<<<<<<<<<<
 * 
 * 	def getFlowVector(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    try {
      __pyx_t_5 = __pyx_v_self->_this->getFlow(__pyx_v_u, __pyx_v_v);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 6611, __pyx_L1_error)
    }
    __pyx_t_3 = PyFloat_FromDouble(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;
  }

  /* "networkit/_NetworKit.pyx":6591
 * 		return self._this.getSourceSet()
 * 
 * 	def getFlow(self, node u, node v = none):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get the flow value between two nodes u and v or an edge identified by the edge id u.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.EdmondsKarp.getFlow", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6613
 * 			return self._this.getFlow(u, v)
 * 
 * 	def getFlowVector(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Return a copy of the flow values of all edges.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_11EdmondsKarp_13getFlowVector(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_11EdmondsKarp_12getFlowVector[] = "\n\t\tReturn a copy of the flow values of all edges.\n\n\t\tReturns\n\t\t-------\n\t\tlist\n\t\t\tThe flow values of all edges indexed by edge id\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_11EdmondsKarp_13getFlowVector(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getFlowVector (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11EdmondsKarp_12getFlowVector(((struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11EdmondsKarp_12getFlowVector(struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<__pyx_t_9networkit_10_NetworKit_edgeweight>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getFlowVector", 0);

  /* "networkit/_NetworKit.pyx":6622
 * 			The flow values of all edges indexed by edge id
 * 		"""
 * 		return self._this.getFlowVector()             # <<<<<<<<<<<<<<
 * 
 * # Module: properties
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this->getFlowVector();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6622, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_edgeweight(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6613
 * 			return self._this.getFlow(u, v)
 * 
 * 	def getFlowVector(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Return a copy of the flow values of all edges.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.EdmondsKarp.getFlowVector", __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_9networkit_10_NetworKit_11EdmondsKarp_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_11EdmondsKarp_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11EdmondsKarp_14__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11EdmondsKarp_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__235, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EdmondsKarp.__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_9networkit_10_NetworKit_11EdmondsKarp_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_11EdmondsKarp_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11EdmondsKarp_16__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11EdmondsKarp_16__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__236, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EdmondsKarp.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6652
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self,  Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _ConnectedComponents(G._this)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_19ConnectedComponents_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_19ConnectedComponents_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 6652, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6652, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ConnectedComponents.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 6652, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19ConnectedComponents___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_19ConnectedComponents___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::ConnectedComponents *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":6653
 * 
 * 	def __cinit__(self,  Graph G):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _ConnectedComponents(G._this)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":6654
 * 	def __cinit__(self,  Graph G):
 * 		self._G = G
 * 		self._this = new _ConnectedComponents(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def getPartition(self):
 */
  try {
    __pyx_t_1 = new NetworKit::ConnectedComponents(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6654, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":6652
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self,  Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _ConnectedComponents(G._this)
 */

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

/* "networkit/_NetworKit.pyx":6656
 * 		self._this = new _ConnectedComponents(G._this)
 * 
 * 	def getPartition(self):             # <<<<<<<<<<<<<<
 * 		""" Get a Partition that represents the components.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ConnectedComponents_3getPartition(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_19ConnectedComponents_2getPartition[] = " Get a Partition that represents the components.\n\n\t\tReturns\n\t\t-------\n\t\tnetworkit.Partition\n\t\t\tA partition representing the found components.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ConnectedComponents_3getPartition(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPartition (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19ConnectedComponents_2getPartition(((struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_19ConnectedComponents_2getPartition(struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Partition __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("getPartition", 0);

  /* "networkit/_NetworKit.pyx":6664
 * 			A partition representing the found components.
 * 		"""
 * 		return Partition().setThis((<_ConnectedComponents*>(self._this)).getPartition())             # <<<<<<<<<<<<<<
 * 
 * 	def numberOfComponents(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Partition)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6664, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = ((NetworKit::ConnectedComponents *)__pyx_v_self->__pyx_base._this)->getPartition();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6664, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Partition *)((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6664, __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;

  /* "networkit/_NetworKit.pyx":6656
 * 		self._this = new _ConnectedComponents(G._this)
 * 
 * 	def getPartition(self):             # <<<<<<<<<<<<<<
 * 		""" Get a Partition that represents the components.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.ConnectedComponents.getPartition", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6666
 * 		return Partition().setThis((<_ConnectedComponents*>(self._this)).getPartition())
 * 
 * 	def numberOfComponents(self):             # <<<<<<<<<<<<<<
 * 		""" Get the number of connected components.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ConnectedComponents_5numberOfComponents(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_19ConnectedComponents_4numberOfComponents[] = " Get the number of connected components.\n\n\t\tReturns\n\t\t-------\n\t\tcount:\n\t\t\tThe number of connected components.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ConnectedComponents_5numberOfComponents(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("numberOfComponents (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19ConnectedComponents_4numberOfComponents(((struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_19ConnectedComponents_4numberOfComponents(struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("numberOfComponents", 0);

  /* "networkit/_NetworKit.pyx":6674
 * 			The number of connected components.
 * 		"""
 * 		return (<_ConnectedComponents*>(self._this)).numberOfComponents()             # <<<<<<<<<<<<<<
 * 
 * 	def componentOfNode(self, v):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::ConnectedComponents *)__pyx_v_self->__pyx_base._this)->numberOfComponents();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6674, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6666
 * 		return Partition().setThis((<_ConnectedComponents*>(self._this)).getPartition())
 * 
 * 	def numberOfComponents(self):             # <<<<<<<<<<<<<<
 * 		""" Get the number of connected components.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.ConnectedComponents.numberOfComponents", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6676
 * 		return (<_ConnectedComponents*>(self._this)).numberOfComponents()
 * 
 * 	def componentOfNode(self, v):             # <<<<<<<<<<<<<<
 * 		"""  Get the the component in which node `v` is situated.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ConnectedComponents_7componentOfNode(PyObject *__pyx_v_self, PyObject *__pyx_v_v); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_19ConnectedComponents_6componentOfNode[] = "  Get the the component in which node `v` is situated.\n\n\t\tv : node\n\t\t\tThe node whose component is asked for.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ConnectedComponents_7componentOfNode(PyObject *__pyx_v_self, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("componentOfNode (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19ConnectedComponents_6componentOfNode(((struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *)__pyx_v_self), ((PyObject *)__pyx_v_v));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_19ConnectedComponents_6componentOfNode(struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *__pyx_v_self, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("componentOfNode", 0);

  /* "networkit/_NetworKit.pyx":6682
 * 			The node whose component is asked for.
 * 		"""
 * 		return (<_ConnectedComponents*>(self._this)).componentOfNode(v)             # <<<<<<<<<<<<<<
 * 
 * 	def getComponentSizes(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 6682, __pyx_L1_error)
  try {
    __pyx_t_2 = ((NetworKit::ConnectedComponents *)__pyx_v_self->__pyx_base._this)->componentOfNode(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6682, __pyx_L1_error)
  }
  __pyx_t_3 = __Pyx_PyInt_From_uint64_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6682, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6676
 * 		return (<_ConnectedComponents*>(self._this)).numberOfComponents()
 * 
 * 	def componentOfNode(self, v):             # <<<<<<<<<<<<<<
 * 		"""  Get the the component in which node `v` is situated.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.ConnectedComponents.componentOfNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6684
 * 		return (<_ConnectedComponents*>(self._this)).componentOfNode(v)
 * 
 * 	def getComponentSizes(self):             # <<<<<<<<<<<<<<
 * 		""" Get the component sizes.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ConnectedComponents_9getComponentSizes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_19ConnectedComponents_8getComponentSizes[] = " Get the component sizes.\n\n\t\tReturns\n\t\t------\n\t\tmap:\n\t\t\tThe map from component to size.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ConnectedComponents_9getComponentSizes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getComponentSizes (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19ConnectedComponents_8getComponentSizes(((struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_19ConnectedComponents_8getComponentSizes(struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::map<__pyx_t_9networkit_10_NetworKit_index,__pyx_t_9networkit_10_NetworKit_count>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getComponentSizes", 0);

  /* "networkit/_NetworKit.pyx":6692
 * 			The map from component to size.
 * 		"""
 * 		return (<_ConnectedComponents*>(self._this)).getComponentSizes()             # <<<<<<<<<<<<<<
 * 
 * 	def getComponents(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::ConnectedComponents *)__pyx_v_self->__pyx_base._this)->getComponentSizes();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6692, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_index______pyx_t_9networkit_10_NetworKit_count(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6684
 * 		return (<_ConnectedComponents*>(self._this)).componentOfNode(v)
 * 
 * 	def getComponentSizes(self):             # <<<<<<<<<<<<<<
 * 		""" Get the component sizes.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.ConnectedComponents.getComponentSizes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6694
 * 		return (<_ConnectedComponents*>(self._this)).getComponentSizes()
 * 
 * 	def getComponents(self):             # <<<<<<<<<<<<<<
 * 		""" Get the connected components, each as a list of nodes.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ConnectedComponents_11getComponents(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_19ConnectedComponents_10getComponents[] = " Get the connected components, each as a list of nodes.\n\n\t\tReturns\n\t\t-------\n\t\tlist:\n\t\t\tThe connected components.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ConnectedComponents_11getComponents(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getComponents (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19ConnectedComponents_10getComponents(((struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_19ConnectedComponents_10getComponents(struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<std::vector<__pyx_t_9networkit_10_NetworKit_node> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getComponents", 0);

  /* "networkit/_NetworKit.pyx":6702
 * 			The connected components.
 * 		"""
 * 		return (<_ConnectedComponents*>(self._this)).getComponents()             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::ConnectedComponents *)__pyx_v_self->__pyx_base._this)->getComponents();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6702, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_node_3e___(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6694
 * 		return (<_ConnectedComponents*>(self._this)).getComponentSizes()
 * 
 * 	def getComponents(self):             # <<<<<<<<<<<<<<
 * 		""" Get the connected components, each as a list of nodes.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.ConnectedComponents.getComponents", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6705
 * 
 * 	@staticmethod
 * 	def extractLargestConnectedComponent(Graph graph, bool_t compactGraph = False):             # <<<<<<<<<<<<<<
 * 		"""
 * 			Constructs a new graph that contains only the nodes inside the
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ConnectedComponents_13extractLargestConnectedComponent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_19ConnectedComponents_12extractLargestConnectedComponent[] = "\n\t\t\tConstructs a new graph that contains only the nodes inside the\n\t\t\tlargest connected component.\n\n\t\t\tParameters\n\t\t\t----------\n\t\t\tgraph: networkit.Graph\n\t\t\t\tThe input graph\n\t\t\tcompactGraph: bool\n\t\t\t\tif true, the node ids of the output graph will be compacted\n\t\t\t\t(i.e., re-numbered from 0 to n-1). If false, the node ids\n\t\t\t\twill not be changed.\n\n\t\t\tReturns\n\t\t\t-------\n\t\t\tnetworkit.Graph\n\t\t\t\tA graph that contains only the nodes inside the largest\n\t\t\t\tconnected component.\n\n\n\t\t\tNote\n\t\t\t----\n\t\t\tAvailable for undirected graphs only.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_19ConnectedComponents_13extractLargestConnectedComponent = {"extractLargestConnectedComponent", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_19ConnectedComponents_13extractLargestConnectedComponent, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_19ConnectedComponents_12extractLargestConnectedComponent};
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ConnectedComponents_13extractLargestConnectedComponent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph = 0;
  bool __pyx_v_compactGraph;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("extractLargestConnectedComponent (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph,&__pyx_n_s_compactGraph,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_compactGraph);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "extractLargestConnectedComponent") < 0)) __PYX_ERR(0, 6705, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_graph = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    if (values[1]) {
      __pyx_v_compactGraph = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_compactGraph == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 6705, __pyx_L3_error)
    } else {
      __pyx_v_compactGraph = ((bool)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("extractLargestConnectedComponent", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6705, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ConnectedComponents.extractLargestConnectedComponent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_graph), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "graph", 0))) __PYX_ERR(0, 6705, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19ConnectedComponents_12extractLargestConnectedComponent(__pyx_v_graph, __pyx_v_compactGraph);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19ConnectedComponents_12extractLargestConnectedComponent(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_graph, bool __pyx_v_compactGraph) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Graph __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("extractLargestConnectedComponent", 0);

  /* "networkit/_NetworKit.pyx":6730
 * 			Available for undirected graphs only.
 * 		"""
 * 		return Graph().setThis(_ConnectedComponents.extractLargestConnectedComponent(graph._this, compactGraph))             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/components/ParallelConnectedComponents.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6730, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = NetworKit::ConnectedComponents::extractLargestConnectedComponent(__pyx_v_graph->_this, __pyx_v_compactGraph);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6730, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6730, __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;

  /* "networkit/_NetworKit.pyx":6705
 * 
 * 	@staticmethod
 * 	def extractLargestConnectedComponent(Graph graph, bool_t compactGraph = False):             # <<<<<<<<<<<<<<
 * 		"""
 * 			Constructs a new graph that contains only the nodes inside the
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.ConnectedComponents.extractLargestConnectedComponent", __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_9networkit_10_NetworKit_19ConnectedComponents_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ConnectedComponents_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19ConnectedComponents_14__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_19ConnectedComponents_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__237, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ConnectedComponents.__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_9networkit_10_NetworKit_19ConnectedComponents_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19ConnectedComponents_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19ConnectedComponents_16__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_19ConnectedComponents_16__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__238, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ConnectedComponents.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6747
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self,  Graph G, coarsening=True	):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _ParallelConnectedComponents(G._this, coarsening)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_27ParallelConnectedComponents_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_27ParallelConnectedComponents_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_coarsening = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_coarsening,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)Py_True);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_coarsening);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 6747, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_coarsening = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6747, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ParallelConnectedComponents.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 6747, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27ParallelConnectedComponents___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents *)__pyx_v_self), __pyx_v_G, __pyx_v_coarsening);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_27ParallelConnectedComponents___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_coarsening) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  NetworKit::ParallelConnectedComponents *__pyx_t_2;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":6748
 * 
 * 	def __cinit__(self,  Graph G, coarsening=True	):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _ParallelConnectedComponents(G._this, coarsening)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":6749
 * 	def __cinit__(self,  Graph G, coarsening=True	):
 * 		self._G = G
 * 		self._this = new _ParallelConnectedComponents(G._this, coarsening)             # <<<<<<<<<<<<<<
 * 
 * 	def getPartition(self):
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_coarsening); if (unlikely((__pyx_t_1 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 6749, __pyx_L1_error)
  try {
    __pyx_t_2 = new NetworKit::ParallelConnectedComponents(__pyx_v_G->_this, __pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6749, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_2;

  /* "networkit/_NetworKit.pyx":6747
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self,  Graph G, coarsening=True	):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _ParallelConnectedComponents(G._this, coarsening)
 */

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

/* "networkit/_NetworKit.pyx":6751
 * 		self._this = new _ParallelConnectedComponents(G._this, coarsening)
 * 
 * 	def getPartition(self):             # <<<<<<<<<<<<<<
 * 		return Partition().setThis((<_ParallelConnectedComponents*>(self._this)).getPartition())
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_27ParallelConnectedComponents_3getPartition(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_27ParallelConnectedComponents_3getPartition(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPartition (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27ParallelConnectedComponents_2getPartition(((struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_27ParallelConnectedComponents_2getPartition(struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Partition __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("getPartition", 0);

  /* "networkit/_NetworKit.pyx":6752
 * 
 * 	def getPartition(self):
 * 		return Partition().setThis((<_ParallelConnectedComponents*>(self._this)).getPartition())             # <<<<<<<<<<<<<<
 * 
 * 	def numberOfComponents(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Partition)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6752, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = ((NetworKit::ParallelConnectedComponents *)__pyx_v_self->__pyx_base._this)->getPartition();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6752, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Partition *)((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6752, __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;

  /* "networkit/_NetworKit.pyx":6751
 * 		self._this = new _ParallelConnectedComponents(G._this, coarsening)
 * 
 * 	def getPartition(self):             # <<<<<<<<<<<<<<
 * 		return Partition().setThis((<_ParallelConnectedComponents*>(self._this)).getPartition())
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.ParallelConnectedComponents.getPartition", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6754
 * 		return Partition().setThis((<_ParallelConnectedComponents*>(self._this)).getPartition())
 * 
 * 	def numberOfComponents(self):             # <<<<<<<<<<<<<<
 * 		return (<_ParallelConnectedComponents*>(self._this)).numberOfComponents()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_27ParallelConnectedComponents_5numberOfComponents(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_27ParallelConnectedComponents_5numberOfComponents(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("numberOfComponents (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27ParallelConnectedComponents_4numberOfComponents(((struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_27ParallelConnectedComponents_4numberOfComponents(struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("numberOfComponents", 0);

  /* "networkit/_NetworKit.pyx":6755
 * 
 * 	def numberOfComponents(self):
 * 		return (<_ParallelConnectedComponents*>(self._this)).numberOfComponents()             # <<<<<<<<<<<<<<
 * 
 * 	def componentOfNode(self, v):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::ParallelConnectedComponents *)__pyx_v_self->__pyx_base._this)->numberOfComponents();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6755, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6755, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6754
 * 		return Partition().setThis((<_ParallelConnectedComponents*>(self._this)).getPartition())
 * 
 * 	def numberOfComponents(self):             # <<<<<<<<<<<<<<
 * 		return (<_ParallelConnectedComponents*>(self._this)).numberOfComponents()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.ParallelConnectedComponents.numberOfComponents", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6757
 * 		return (<_ParallelConnectedComponents*>(self._this)).numberOfComponents()
 * 
 * 	def componentOfNode(self, v):             # <<<<<<<<<<<<<<
 * 		return (<_ParallelConnectedComponents*>(self._this)).componentOfNode(v)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_27ParallelConnectedComponents_7componentOfNode(PyObject *__pyx_v_self, PyObject *__pyx_v_v); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_27ParallelConnectedComponents_7componentOfNode(PyObject *__pyx_v_self, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("componentOfNode (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27ParallelConnectedComponents_6componentOfNode(((struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents *)__pyx_v_self), ((PyObject *)__pyx_v_v));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_27ParallelConnectedComponents_6componentOfNode(struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents *__pyx_v_self, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("componentOfNode", 0);

  /* "networkit/_NetworKit.pyx":6758
 * 
 * 	def componentOfNode(self, v):
 * 		return (<_ParallelConnectedComponents*>(self._this)).componentOfNode(v)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 6758, __pyx_L1_error)
  try {
    __pyx_t_2 = ((NetworKit::ParallelConnectedComponents *)__pyx_v_self->__pyx_base._this)->componentOfNode(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6758, __pyx_L1_error)
  }
  __pyx_t_3 = __Pyx_PyInt_From_uint64_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6758, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6757
 * 		return (<_ParallelConnectedComponents*>(self._this)).numberOfComponents()
 * 
 * 	def componentOfNode(self, v):             # <<<<<<<<<<<<<<
 * 		return (<_ParallelConnectedComponents*>(self._this)).componentOfNode(v)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.ParallelConnectedComponents.componentOfNode", __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_9networkit_10_NetworKit_27ParallelConnectedComponents_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_27ParallelConnectedComponents_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27ParallelConnectedComponents_8__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_27ParallelConnectedComponents_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__239, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ParallelConnectedComponents.__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_9networkit_10_NetworKit_27ParallelConnectedComponents_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_27ParallelConnectedComponents_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27ParallelConnectedComponents_10__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_27ParallelConnectedComponents_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__240, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ParallelConnectedComponents.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6790
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G, iterativeAlgo = True):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _StronglyConnectedComponents(G._this, iterativeAlgo)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_iterativeAlgo = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_iterativeAlgo,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)Py_True);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_iterativeAlgo);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 6790, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_iterativeAlgo = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6790, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.StronglyConnectedComponents.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 6790, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *)__pyx_v_self), __pyx_v_G, __pyx_v_iterativeAlgo);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents___cinit__(struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_iterativeAlgo) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  NetworKit::StronglyConnectedComponents *__pyx_t_2;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":6791
 * 
 * 	def __cinit__(self, Graph G, iterativeAlgo = True):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _StronglyConnectedComponents(G._this, iterativeAlgo)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":6792
 * 	def __cinit__(self, Graph G, iterativeAlgo = True):
 * 		self._G = G
 * 		self._this = new _StronglyConnectedComponents(G._this, iterativeAlgo)             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_iterativeAlgo); if (unlikely((__pyx_t_1 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 6792, __pyx_L1_error)
  try {
    __pyx_t_2 = new NetworKit::StronglyConnectedComponents(__pyx_v_G->_this, __pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6792, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_2;

  /* "networkit/_NetworKit.pyx":6790
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G, iterativeAlgo = True):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _StronglyConnectedComponents(G._this, iterativeAlgo)
 */

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

/* "networkit/_NetworKit.pyx":6794
 * 		self._this = new _StronglyConnectedComponents(G._this, iterativeAlgo)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *)__pyx_v_self));

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

static void __pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":6795
 * 
 * 	def __dealloc__(self):
 * 		del self._this             # <<<<<<<<<<<<<<
 * 
 * 	def run(self):
 */
  delete __pyx_v_self->_this;

  /* "networkit/_NetworKit.pyx":6794
 * 		self._this = new _StronglyConnectedComponents(G._this, iterativeAlgo)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

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

/* "networkit/_NetworKit.pyx":6797
 * 		del self._this
 * 
 * 	def run(self):             # <<<<<<<<<<<<<<
 * 		with nogil:
 * 			self._this.run()
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_5run(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_5run(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_4run(((struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_4run(struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":6798
 * 
 * 	def run(self):
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.run()
 * 		return self
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":6799
 * 	def run(self):
 * 		with nogil:
 * 			self._this.run()             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
        try {
          __pyx_v_self->_this->run();
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 6799, __pyx_L4_error)
        }
      }

      /* "networkit/_NetworKit.pyx":6798
 * 
 * 	def run(self):
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.run()
 * 		return self
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":6800
 * 		with nogil:
 * 			self._this.run()
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def runIteratively(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6797
 * 		del self._this
 * 
 * 	def run(self):             # <<<<<<<<<<<<<<
 * 		with nogil:
 * 			self._this.run()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.StronglyConnectedComponents.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6802
 * 		return self
 * 
 * 	def runIteratively(self):             # <<<<<<<<<<<<<<
 * 		with nogil:
 * 			self._this.runIteratively()
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_7runIteratively(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_7runIteratively(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("runIteratively (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_6runIteratively(((struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_6runIteratively(struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("runIteratively", 0);

  /* "networkit/_NetworKit.pyx":6803
 * 
 * 	def runIteratively(self):
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.runIteratively()
 * 		return self
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":6804
 * 	def runIteratively(self):
 * 		with nogil:
 * 			self._this.runIteratively()             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
        try {
          __pyx_v_self->_this->runIteratively();
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 6804, __pyx_L4_error)
        }
      }

      /* "networkit/_NetworKit.pyx":6803
 * 
 * 	def runIteratively(self):
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.runIteratively()
 * 		return self
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":6805
 * 		with nogil:
 * 			self._this.runIteratively()
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def runRecursively(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6802
 * 		return self
 * 
 * 	def runIteratively(self):             # <<<<<<<<<<<<<<
 * 		with nogil:
 * 			self._this.runIteratively()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.StronglyConnectedComponents.runIteratively", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6807
 * 		return self
 * 
 * 	def runRecursively(self):             # <<<<<<<<<<<<<<
 * 		with nogil:
 * 			self._this.runRecursively()
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_9runRecursively(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_9runRecursively(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("runRecursively (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_8runRecursively(((struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_8runRecursively(struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("runRecursively", 0);

  /* "networkit/_NetworKit.pyx":6808
 * 
 * 	def runRecursively(self):
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.runRecursively()
 * 		return self
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":6809
 * 	def runRecursively(self):
 * 		with nogil:
 * 			self._this.runRecursively()             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
        try {
          __pyx_v_self->_this->runRecursively();
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 6809, __pyx_L4_error)
        }
      }

      /* "networkit/_NetworKit.pyx":6808
 * 
 * 	def runRecursively(self):
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.runRecursively()
 * 		return self
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":6810
 * 		with nogil:
 * 			self._this.runRecursively()
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def getPartition(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6807
 * 		return self
 * 
 * 	def runRecursively(self):             # <<<<<<<<<<<<<<
 * 		with nogil:
 * 			self._this.runRecursively()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.StronglyConnectedComponents.runRecursively", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6812
 * 		return self
 * 
 * 	def getPartition(self):             # <<<<<<<<<<<<<<
 * 		return Partition().setThis(self._this.getPartition())
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_11getPartition(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_11getPartition(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPartition (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_10getPartition(((struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_10getPartition(struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Partition __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("getPartition", 0);

  /* "networkit/_NetworKit.pyx":6813
 * 
 * 	def getPartition(self):
 * 		return Partition().setThis(self._this.getPartition())             # <<<<<<<<<<<<<<
 * 
 * 	def numberOfComponents(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Partition)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = __pyx_v_self->_this->getPartition();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6813, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Partition *)((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6813, __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;

  /* "networkit/_NetworKit.pyx":6812
 * 		return self
 * 
 * 	def getPartition(self):             # <<<<<<<<<<<<<<
 * 		return Partition().setThis(self._this.getPartition())
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.StronglyConnectedComponents.getPartition", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6815
 * 		return Partition().setThis(self._this.getPartition())
 * 
 * 	def numberOfComponents(self):             # <<<<<<<<<<<<<<
 * 		return self._this.numberOfComponents()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_13numberOfComponents(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_13numberOfComponents(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("numberOfComponents (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_12numberOfComponents(((struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_12numberOfComponents(struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("numberOfComponents", 0);

  /* "networkit/_NetworKit.pyx":6816
 * 
 * 	def numberOfComponents(self):
 * 		return self._this.numberOfComponents()             # <<<<<<<<<<<<<<
 * 
 * 	def componentOfNode(self, v):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this->numberOfComponents();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6816, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6816, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6815
 * 		return Partition().setThis(self._this.getPartition())
 * 
 * 	def numberOfComponents(self):             # <<<<<<<<<<<<<<
 * 		return self._this.numberOfComponents()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.StronglyConnectedComponents.numberOfComponents", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6818
 * 		return self._this.numberOfComponents()
 * 
 * 	def componentOfNode(self, v):             # <<<<<<<<<<<<<<
 * 		return self._this.componentOfNode(v)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_15componentOfNode(PyObject *__pyx_v_self, PyObject *__pyx_v_v); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_15componentOfNode(PyObject *__pyx_v_self, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("componentOfNode (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_14componentOfNode(((struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *)__pyx_v_self), ((PyObject *)__pyx_v_v));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_14componentOfNode(struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *__pyx_v_self, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("componentOfNode", 0);

  /* "networkit/_NetworKit.pyx":6819
 * 
 * 	def componentOfNode(self, v):
 * 		return self._this.componentOfNode(v)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 6819, __pyx_L1_error)
  try {
    __pyx_t_2 = __pyx_v_self->_this->componentOfNode(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6819, __pyx_L1_error)
  }
  __pyx_t_3 = __Pyx_PyInt_From_uint64_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6818
 * 		return self._this.numberOfComponents()
 * 
 * 	def componentOfNode(self, v):             # <<<<<<<<<<<<<<
 * 		return self._this.componentOfNode(v)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.StronglyConnectedComponents.componentOfNode", __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_9networkit_10_NetworKit_27StronglyConnectedComponents_17__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_17__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_16__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__241, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.StronglyConnectedComponents.__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_9networkit_10_NetworKit_27StronglyConnectedComponents_19__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_19__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_18__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_27StronglyConnectedComponents_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__242, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.StronglyConnectedComponents.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6841
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _WeaklyConnectedComponents(G._this)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_25WeaklyConnectedComponents_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_25WeaklyConnectedComponents_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 6841, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6841, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.WeaklyConnectedComponents.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 6841, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_25WeaklyConnectedComponents___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_25WeaklyConnectedComponents___cinit__(struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::WeaklyConnectedComponents *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":6842
 * 
 * 	def __cinit__(self, Graph G):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _WeaklyConnectedComponents(G._this)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":6843
 * 	def __cinit__(self, Graph G):
 * 		self._G = G
 * 		self._this = new _WeaklyConnectedComponents(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def numberOfComponents(self):
 */
  try {
    __pyx_t_1 = new NetworKit::WeaklyConnectedComponents(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6843, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":6841
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _WeaklyConnectedComponents(G._this)
 */

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

/* "networkit/_NetworKit.pyx":6845
 * 		self._this = new _WeaklyConnectedComponents(G._this)
 * 
 * 	def numberOfComponents(self):             # <<<<<<<<<<<<<<
 * 		""" Returns the number of components.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_25WeaklyConnectedComponents_3numberOfComponents(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_25WeaklyConnectedComponents_2numberOfComponents[] = " Returns the number of components.\n\n\t\t\tReturns\n\t\t\tcount\n\t\t\t\tThe number of components.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_25WeaklyConnectedComponents_3numberOfComponents(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("numberOfComponents (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_25WeaklyConnectedComponents_2numberOfComponents(((struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_25WeaklyConnectedComponents_2numberOfComponents(struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("numberOfComponents", 0);

  /* "networkit/_NetworKit.pyx":6852
 * 				The number of components.
 * 		"""
 * 		return (<_WeaklyConnectedComponents*>(self._this)).numberOfComponents()             # <<<<<<<<<<<<<<
 * 
 * 	def componentOfNode(self, v):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::WeaklyConnectedComponents *)__pyx_v_self->__pyx_base._this)->numberOfComponents();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6852, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6852, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6845
 * 		self._this = new _WeaklyConnectedComponents(G._this)
 * 
 * 	def numberOfComponents(self):             # <<<<<<<<<<<<<<
 * 		""" Returns the number of components.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.WeaklyConnectedComponents.numberOfComponents", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6854
 * 		return (<_WeaklyConnectedComponents*>(self._this)).numberOfComponents()
 * 
 * 	def componentOfNode(self, v):             # <<<<<<<<<<<<<<
 * 		""" Returns the the component in which node @a u is.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_25WeaklyConnectedComponents_5componentOfNode(PyObject *__pyx_v_self, PyObject *__pyx_v_v); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_25WeaklyConnectedComponents_4componentOfNode[] = " Returns the the component in which node @a u is.\n\n\t\t\tParameters\n\t\t\t----------\n\t\t\tv : node\n\t\t\t\tThe node.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_25WeaklyConnectedComponents_5componentOfNode(PyObject *__pyx_v_self, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("componentOfNode (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_25WeaklyConnectedComponents_4componentOfNode(((struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *)__pyx_v_self), ((PyObject *)__pyx_v_v));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_25WeaklyConnectedComponents_4componentOfNode(struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *__pyx_v_self, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("componentOfNode", 0);

  /* "networkit/_NetworKit.pyx":6862
 * 				The node.
 * 		"""
 * 		return (<_WeaklyConnectedComponents*>(self._this)).componentOfNode(v)             # <<<<<<<<<<<<<<
 * 
 * 	def getComponentSizes(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 6862, __pyx_L1_error)
  try {
    __pyx_t_2 = ((NetworKit::WeaklyConnectedComponents *)__pyx_v_self->__pyx_base._this)->componentOfNode(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6862, __pyx_L1_error)
  }
  __pyx_t_3 = __Pyx_PyInt_From_uint64_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6854
 * 		return (<_WeaklyConnectedComponents*>(self._this)).numberOfComponents()
 * 
 * 	def componentOfNode(self, v):             # <<<<<<<<<<<<<<
 * 		""" Returns the the component in which node @a u is.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.WeaklyConnectedComponents.componentOfNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6864
 * 		return (<_WeaklyConnectedComponents*>(self._this)).componentOfNode(v)
 * 
 * 	def getComponentSizes(self):             # <<<<<<<<<<<<<<
 * 		""" Returns the map from component to size.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_25WeaklyConnectedComponents_7getComponentSizes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_25WeaklyConnectedComponents_6getComponentSizes[] = " Returns the map from component to size.\n\n\t\t\tReturns\n\t\t\tmap[index, count]\n\t\t\t \tA map that maps each component to its size.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_25WeaklyConnectedComponents_7getComponentSizes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getComponentSizes (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_25WeaklyConnectedComponents_6getComponentSizes(((struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_25WeaklyConnectedComponents_6getComponentSizes(struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::map<__pyx_t_9networkit_10_NetworKit_index,__pyx_t_9networkit_10_NetworKit_count>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getComponentSizes", 0);

  /* "networkit/_NetworKit.pyx":6871
 * 			 	A map that maps each component to its size.
 * 		"""
 * 		return (<_WeaklyConnectedComponents*>(self._this)).getComponentSizes()             # <<<<<<<<<<<<<<
 * 
 * 	def getComponents(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::WeaklyConnectedComponents *)__pyx_v_self->__pyx_base._this)->getComponentSizes();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6871, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_index______pyx_t_9networkit_10_NetworKit_count(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6864
 * 		return (<_WeaklyConnectedComponents*>(self._this)).componentOfNode(v)
 * 
 * 	def getComponentSizes(self):             # <<<<<<<<<<<<<<
 * 		""" Returns the map from component to size.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.WeaklyConnectedComponents.getComponentSizes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6873
 * 		return (<_WeaklyConnectedComponents*>(self._this)).getComponentSizes()
 * 
 * 	def getComponents(self):             # <<<<<<<<<<<<<<
 * 		""" Returns all the components, each stored as (unordered) set of nodes.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_25WeaklyConnectedComponents_9getComponents(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_25WeaklyConnectedComponents_8getComponents[] = " Returns all the components, each stored as (unordered) set of nodes.\n\n\t\t\tReturns\n\t\t\tvector[vector[node]]\n\t\t\t\tA vector of vectors. Each inner vector contains all the nodes inside the component.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_25WeaklyConnectedComponents_9getComponents(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getComponents (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_25WeaklyConnectedComponents_8getComponents(((struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_25WeaklyConnectedComponents_8getComponents(struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<std::vector<__pyx_t_9networkit_10_NetworKit_node> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getComponents", 0);

  /* "networkit/_NetworKit.pyx":6880
 * 				A vector of vectors. Each inner vector contains all the nodes inside the component.
 * 		"""
 * 		return (<_WeaklyConnectedComponents*>(self._this)).getComponents()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::WeaklyConnectedComponents *)__pyx_v_self->__pyx_base._this)->getComponents();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6880, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_node_3e___(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6873
 * 		return (<_WeaklyConnectedComponents*>(self._this)).getComponentSizes()
 * 
 * 	def getComponents(self):             # <<<<<<<<<<<<<<
 * 		""" Returns all the components, each stored as (unordered) set of nodes.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.WeaklyConnectedComponents.getComponents", __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_9networkit_10_NetworKit_25WeaklyConnectedComponents_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_25WeaklyConnectedComponents_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_25WeaklyConnectedComponents_10__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_25WeaklyConnectedComponents_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__243, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.WeaklyConnectedComponents.__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_9networkit_10_NetworKit_25WeaklyConnectedComponents_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_25WeaklyConnectedComponents_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_25WeaklyConnectedComponents_12__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_25WeaklyConnectedComponents_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__244, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.WeaklyConnectedComponents.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6904
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _BiconnectedComponents(G._this)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_21BiconnectedComponents_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_21BiconnectedComponents_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 6904, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6904, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.BiconnectedComponents.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 6904, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21BiconnectedComponents___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_21BiconnectedComponents___cinit__(struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::BiconnectedComponents *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":6905
 * 
 * 	def __cinit__(self, Graph G):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _BiconnectedComponents(G._this)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":6906
 * 	def __cinit__(self, Graph G):
 * 		self._G = G
 * 		self._this = new _BiconnectedComponents(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def numberOfComponents(self):
 */
  try {
    __pyx_t_1 = new NetworKit::BiconnectedComponents(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6906, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":6904
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _BiconnectedComponents(G._this)
 */

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

/* "networkit/_NetworKit.pyx":6908
 * 		self._this = new _BiconnectedComponents(G._this)
 * 
 * 	def numberOfComponents(self):             # <<<<<<<<<<<<<<
 * 		""" Returns the number of components.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_21BiconnectedComponents_3numberOfComponents(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_21BiconnectedComponents_2numberOfComponents[] = " Returns the number of components.\n\n\t\t\tReturns\n\t\t\tcount\n\t\t\t\tThe number of components.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_21BiconnectedComponents_3numberOfComponents(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("numberOfComponents (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21BiconnectedComponents_2numberOfComponents(((struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21BiconnectedComponents_2numberOfComponents(struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("numberOfComponents", 0);

  /* "networkit/_NetworKit.pyx":6915
 * 				The number of components.
 * 		"""
 * 		return (<_BiconnectedComponents*>(self._this)).numberOfComponents()             # <<<<<<<<<<<<<<
 * 
 * 	def getComponentSizes(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::BiconnectedComponents *)__pyx_v_self->__pyx_base._this)->numberOfComponents();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6915, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6908
 * 		self._this = new _BiconnectedComponents(G._this)
 * 
 * 	def numberOfComponents(self):             # <<<<<<<<<<<<<<
 * 		""" Returns the number of components.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.BiconnectedComponents.numberOfComponents", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6917
 * 		return (<_BiconnectedComponents*>(self._this)).numberOfComponents()
 * 
 * 	def getComponentSizes(self):             # <<<<<<<<<<<<<<
 * 		""" Returns the map from component to size.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_21BiconnectedComponents_5getComponentSizes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_21BiconnectedComponents_4getComponentSizes[] = " Returns the map from component to size.\n\n\t\t\tReturns\n\t\t\tmap[count, count]\n\t\t\tA map that maps each component to its size.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_21BiconnectedComponents_5getComponentSizes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getComponentSizes (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21BiconnectedComponents_4getComponentSizes(((struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21BiconnectedComponents_4getComponentSizes(struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::map<__pyx_t_9networkit_10_NetworKit_count,__pyx_t_9networkit_10_NetworKit_count>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getComponentSizes", 0);

  /* "networkit/_NetworKit.pyx":6924
 * 			A map that maps each component to its size.
 * 		"""
 * 		return (<_BiconnectedComponents*>(self._this)).getComponentSizes()             # <<<<<<<<<<<<<<
 * 
 * 	def getComponents(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::BiconnectedComponents *)__pyx_v_self->__pyx_base._this)->getComponentSizes();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6924, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_count______pyx_t_9networkit_10_NetworKit_count(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6924, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6917
 * 		return (<_BiconnectedComponents*>(self._this)).numberOfComponents()
 * 
 * 	def getComponentSizes(self):             # <<<<<<<<<<<<<<
 * 		""" Returns the map from component to size.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.BiconnectedComponents.getComponentSizes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6926
 * 		return (<_BiconnectedComponents*>(self._this)).getComponentSizes()
 * 
 * 	def getComponents(self):             # <<<<<<<<<<<<<<
 * 		""" Returns all the components, each stored as (unordered) set of nodes.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_21BiconnectedComponents_7getComponents(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_21BiconnectedComponents_6getComponents[] = " Returns all the components, each stored as (unordered) set of nodes.\n\n\t\t\tReturns\n\t\t\tvector[vector[node]]\n\t\t\t\tA vector of vectors. Each inner vector contains all the nodes inside the component.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_21BiconnectedComponents_7getComponents(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getComponents (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21BiconnectedComponents_6getComponents(((struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21BiconnectedComponents_6getComponents(struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<std::vector<__pyx_t_9networkit_10_NetworKit_node> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getComponents", 0);

  /* "networkit/_NetworKit.pyx":6933
 * 				A vector of vectors. Each inner vector contains all the nodes inside the component.
 * 		"""
 * 		return (<_BiconnectedComponents*>(self._this)).getComponents()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::BiconnectedComponents *)__pyx_v_self->__pyx_base._this)->getComponents();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6933, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_node_3e___(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6926
 * 		return (<_BiconnectedComponents*>(self._this)).getComponentSizes()
 * 
 * 	def getComponents(self):             # <<<<<<<<<<<<<<
 * 		""" Returns all the components, each stored as (unordered) set of nodes.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.BiconnectedComponents.getComponents", __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_9networkit_10_NetworKit_21BiconnectedComponents_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21BiconnectedComponents_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21BiconnectedComponents_8__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21BiconnectedComponents_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__245, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.BiconnectedComponents.__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_9networkit_10_NetworKit_21BiconnectedComponents_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21BiconnectedComponents_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21BiconnectedComponents_10__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21BiconnectedComponents_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__246, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.BiconnectedComponents.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6957
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _DynConnectedComponents(G._this)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_22DynConnectedComponents_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_22DynConnectedComponents_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 6957, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 6957, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynConnectedComponents.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 6957, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::DynConnectedComponents *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":6958
 * 
 * 	def __cinit__(self, Graph G):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _DynConnectedComponents(G._this)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":6959
 * 	def __cinit__(self, Graph G):
 * 		self._G = G
 * 		self._this = new _DynConnectedComponents(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def numberOfComponents(self):
 */
  try {
    __pyx_t_1 = new NetworKit::DynConnectedComponents(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6959, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":6957
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _DynConnectedComponents(G._this)
 */

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

/* "networkit/_NetworKit.pyx":6961
 * 		self._this = new _DynConnectedComponents(G._this)
 * 
 * 	def numberOfComponents(self):             # <<<<<<<<<<<<<<
 * 		""" Returns the number of components.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22DynConnectedComponents_3numberOfComponents(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_22DynConnectedComponents_2numberOfComponents[] = " Returns the number of components.\n\n\t\t\tReturns\n\t\t\tcount\n\t\t\t\tThe number of components.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_22DynConnectedComponents_3numberOfComponents(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("numberOfComponents (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents_2numberOfComponents(((struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents_2numberOfComponents(struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("numberOfComponents", 0);

  /* "networkit/_NetworKit.pyx":6968
 * 				The number of components.
 * 		"""
 * 		return (<_DynConnectedComponents*>(self._this)).numberOfComponents()             # <<<<<<<<<<<<<<
 * 
 * 	def componentOfNode(self, v):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::DynConnectedComponents *)__pyx_v_self->__pyx_base._this)->numberOfComponents();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6968, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6968, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6961
 * 		self._this = new _DynConnectedComponents(G._this)
 * 
 * 	def numberOfComponents(self):             # <<<<<<<<<<<<<<
 * 		""" Returns the number of components.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.DynConnectedComponents.numberOfComponents", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6970
 * 		return (<_DynConnectedComponents*>(self._this)).numberOfComponents()
 * 
 * 	def componentOfNode(self, v):             # <<<<<<<<<<<<<<
 * 		""" Returns the the component in which node @a u is.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22DynConnectedComponents_5componentOfNode(PyObject *__pyx_v_self, PyObject *__pyx_v_v); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_22DynConnectedComponents_4componentOfNode[] = " Returns the the component in which node @a u is.\n\n\t\t\tParameters\n\t\t\t----------\n\t\t\tv : node\n\t\t\t\tThe node.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_22DynConnectedComponents_5componentOfNode(PyObject *__pyx_v_self, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("componentOfNode (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents_4componentOfNode(((struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *)__pyx_v_self), ((PyObject *)__pyx_v_v));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents_4componentOfNode(struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *__pyx_v_self, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("componentOfNode", 0);

  /* "networkit/_NetworKit.pyx":6978
 * 				The node.
 * 		"""
 * 		return (<_DynConnectedComponents*>(self._this)).componentOfNode(v)             # <<<<<<<<<<<<<<
 * 
 * 	def getComponentSizes(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 6978, __pyx_L1_error)
  try {
    __pyx_t_2 = ((NetworKit::DynConnectedComponents *)__pyx_v_self->__pyx_base._this)->componentOfNode(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6978, __pyx_L1_error)
  }
  __pyx_t_3 = __Pyx_PyInt_From_uint64_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6970
 * 		return (<_DynConnectedComponents*>(self._this)).numberOfComponents()
 * 
 * 	def componentOfNode(self, v):             # <<<<<<<<<<<<<<
 * 		""" Returns the the component in which node @a u is.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.DynConnectedComponents.componentOfNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6980
 * 		return (<_DynConnectedComponents*>(self._this)).componentOfNode(v)
 * 
 * 	def getComponentSizes(self):             # <<<<<<<<<<<<<<
 * 		""" Returns the map from component to size.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22DynConnectedComponents_7getComponentSizes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_22DynConnectedComponents_6getComponentSizes[] = " Returns the map from component to size.\n\n\t\t\tReturns\n\t\t\tmap[index, count]\n\t\t\t \tA map that maps each component to its size.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_22DynConnectedComponents_7getComponentSizes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getComponentSizes (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents_6getComponentSizes(((struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents_6getComponentSizes(struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::map<__pyx_t_9networkit_10_NetworKit_index,__pyx_t_9networkit_10_NetworKit_count>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getComponentSizes", 0);

  /* "networkit/_NetworKit.pyx":6987
 * 			 	A map that maps each component to its size.
 * 		"""
 * 		return (<_DynConnectedComponents*>(self._this)).getComponentSizes()             # <<<<<<<<<<<<<<
 * 
 * 	def getComponents(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::DynConnectedComponents *)__pyx_v_self->__pyx_base._this)->getComponentSizes();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6987, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_index______pyx_t_9networkit_10_NetworKit_count(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6987, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6980
 * 		return (<_DynConnectedComponents*>(self._this)).componentOfNode(v)
 * 
 * 	def getComponentSizes(self):             # <<<<<<<<<<<<<<
 * 		""" Returns the map from component to size.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.DynConnectedComponents.getComponentSizes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6989
 * 		return (<_DynConnectedComponents*>(self._this)).getComponentSizes()
 * 
 * 	def getComponents(self):             # <<<<<<<<<<<<<<
 * 		""" Returns all the components, each stored as (unordered) set of nodes.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22DynConnectedComponents_9getComponents(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_22DynConnectedComponents_8getComponents[] = " Returns all the components, each stored as (unordered) set of nodes.\n\n\t\t\tReturns\n\t\t\tvector[vector[node]]\n\t\t\t\tA vector of vectors. Each inner vector contains all the nodes inside the component.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_22DynConnectedComponents_9getComponents(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getComponents (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents_8getComponents(((struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents_8getComponents(struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<std::vector<__pyx_t_9networkit_10_NetworKit_node> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getComponents", 0);

  /* "networkit/_NetworKit.pyx":6996
 * 				A vector of vectors. Each inner vector contains all the nodes inside the component.
 * 		"""
 * 		return (<_DynConnectedComponents*>(self._this)).getComponents()             # <<<<<<<<<<<<<<
 * 
 * 	def update(self, event):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::DynConnectedComponents *)__pyx_v_self->__pyx_base._this)->getComponents();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 6996, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_node_3e___(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":6989
 * 		return (<_DynConnectedComponents*>(self._this)).getComponentSizes()
 * 
 * 	def getComponents(self):             # <<<<<<<<<<<<<<
 * 		""" Returns all the components, each stored as (unordered) set of nodes.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.DynConnectedComponents.getComponents", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":6998
 * 		return (<_DynConnectedComponents*>(self._this)).getComponents()
 * 
 * 	def update(self, event):             # <<<<<<<<<<<<<<
 * 		""" Updates the connected components after an edge insertion or
 * 			deletion.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22DynConnectedComponents_11update(PyObject *__pyx_v_self, PyObject *__pyx_v_event); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_22DynConnectedComponents_10update[] = " Updates the connected components after an edge insertion or\n\t\t\tdeletion.\n\n\t\t\tParameters\n\t\t\t----------\n\t\t\tevent : GraphEvent\n\t\t\t\tThe event that happened (edge deletion or insertion).\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_22DynConnectedComponents_11update(PyObject *__pyx_v_self, PyObject *__pyx_v_event) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("update (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents_10update(((struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *)__pyx_v_self), ((PyObject *)__pyx_v_event));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents_10update(struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *__pyx_v_self, PyObject *__pyx_v_event) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum NetworKit::GraphEvent::Type __pyx_t_2;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_3;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_4;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_5;
  NetworKit::GraphEvent __pyx_t_6;
  __Pyx_RefNannySetupContext("update", 0);

  /* "networkit/_NetworKit.pyx":7007
 * 				The event that happened (edge deletion or insertion).
 * 		"""
 * 		(<_DynConnectedComponents*>(self._this)).update(_GraphEvent(event.type, event.u, event.v, event.w))             # <<<<<<<<<<<<<<
 * 
 * 	def updateBatch(self, batch):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_event, __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum NetworKit::GraphEvent::Type)__Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 7007, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_event, __pyx_n_s_u); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_As_uint64_t(__pyx_t_1); if (unlikely((__pyx_t_3 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7007, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_event, __pyx_n_s_v); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyInt_As_uint64_t(__pyx_t_1); if (unlikely((__pyx_t_4 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7007, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_event, __pyx_n_s_w); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 7007, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  try {
    __pyx_t_6 = NetworKit::GraphEvent(__pyx_t_2, __pyx_t_3, __pyx_t_4, __pyx_t_5);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7007, __pyx_L1_error)
  }
  try {
    ((NetworKit::DynConnectedComponents *)__pyx_v_self->__pyx_base._this)->update(__pyx_t_6);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7007, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":6998
 * 		return (<_DynConnectedComponents*>(self._this)).getComponents()
 * 
 * 	def update(self, event):             # <<<<<<<<<<<<<<
 * 		""" Updates the connected components after an edge insertion or
 * 			deletion.
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynConnectedComponents.update", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7009
 * 		(<_DynConnectedComponents*>(self._this)).update(_GraphEvent(event.type, event.u, event.v, event.w))
 * 
 * 	def updateBatch(self, batch):             # <<<<<<<<<<<<<<
 * 		""" Updates the connected components after a batch of edge insertions or
 * 			deletions.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22DynConnectedComponents_13updateBatch(PyObject *__pyx_v_self, PyObject *__pyx_v_batch); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_22DynConnectedComponents_12updateBatch[] = " Updates the connected components after a batch of edge insertions or\n\t\t\tdeletions.\n\n\t\t\tParameters\n\t\t\t----------\n\t\t\tbatch : vector[GraphEvent]\n\t\t\t\tA vector that contains a batch of edge insertions or deletions.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_22DynConnectedComponents_13updateBatch(PyObject *__pyx_v_self, PyObject *__pyx_v_batch) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("updateBatch (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents_12updateBatch(((struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *)__pyx_v_self), ((PyObject *)__pyx_v_batch));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents_12updateBatch(struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *__pyx_v_self, PyObject *__pyx_v_batch) {
  std::vector<NetworKit::GraphEvent>  __pyx_v__batch;
  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;
  enum NetworKit::GraphEvent::Type __pyx_t_5;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_6;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_7;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_8;
  NetworKit::GraphEvent __pyx_t_9;
  __Pyx_RefNannySetupContext("updateBatch", 0);

  /* "networkit/_NetworKit.pyx":7019
 * 		"""
 * 		cdef vector[_GraphEvent] _batch
 * 		for event in batch:             # <<<<<<<<<<<<<<
 * 			_batch.push_back(_GraphEvent(event.type, event.u, event.v, event.w))
 * 		(<_DynConnectedComponents*>(self._this)).updateBatch(_batch)
 */
  if (likely(PyList_CheckExact(__pyx_v_batch)) || PyTuple_CheckExact(__pyx_v_batch)) {
    __pyx_t_1 = __pyx_v_batch; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_batch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7019, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7019, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 7019, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7019, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 7019, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7019, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 7019, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_event, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "networkit/_NetworKit.pyx":7020
 * 		cdef vector[_GraphEvent] _batch
 * 		for event in batch:
 * 			_batch.push_back(_GraphEvent(event.type, event.u, event.v, event.w))             # <<<<<<<<<<<<<<
 * 		(<_DynConnectedComponents*>(self._this)).updateBatch(_batch)
 * 
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_event, __pyx_n_s_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7020, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = ((enum NetworKit::GraphEvent::Type)__Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 7020, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_event, __pyx_n_s_u); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7020, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyInt_As_uint64_t(__pyx_t_4); if (unlikely((__pyx_t_6 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7020, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_event, __pyx_n_s_v); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7020, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = __Pyx_PyInt_As_uint64_t(__pyx_t_4); if (unlikely((__pyx_t_7 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7020, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_event, __pyx_n_s_w); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7020, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_8 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 7020, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    try {
      __pyx_t_9 = NetworKit::GraphEvent(__pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 7020, __pyx_L1_error)
    }
    try {
      __pyx_v__batch.push_back(__pyx_t_9);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 7020, __pyx_L1_error)
    }

    /* "networkit/_NetworKit.pyx":7019
 * 		"""
 * 		cdef vector[_GraphEvent] _batch
 * 		for event in batch:             # <<<<<<<<<<<<<<
 * 			_batch.push_back(_GraphEvent(event.type, event.u, event.v, event.w))
 * 		(<_DynConnectedComponents*>(self._this)).updateBatch(_batch)
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":7021
 * 		for event in batch:
 * 			_batch.push_back(_GraphEvent(event.type, event.u, event.v, event.w))
 * 		(<_DynConnectedComponents*>(self._this)).updateBatch(_batch)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  try {
    ((NetworKit::DynConnectedComponents *)__pyx_v_self->__pyx_base._this)->updateBatch(__pyx_v__batch);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7021, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":7009
 * 		(<_DynConnectedComponents*>(self._this)).update(_GraphEvent(event.type, event.u, event.v, event.w))
 * 
 * 	def updateBatch(self, batch):             # <<<<<<<<<<<<<<
 * 		""" Updates the connected components after a batch of edge insertions or
 * 			deletions.
 */

  /* 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_AddTraceback("networkit._NetworKit.DynConnectedComponents.updateBatch", __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;
}

/* "(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_9networkit_10_NetworKit_22DynConnectedComponents_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_22DynConnectedComponents_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents_14__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__247, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynConnectedComponents.__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_9networkit_10_NetworKit_22DynConnectedComponents_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_22DynConnectedComponents_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents_16__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynConnectedComponents_16__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__248, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynConnectedComponents.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7046
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _DynWeaklyConnectedComponents(G._this)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7046, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7046, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynWeaklyConnectedComponents.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 7046, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::DynWeaklyConnectedComponents *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":7047
 * 
 * 	def __cinit__(self, Graph G):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _DynWeaklyConnectedComponents(G._this)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":7048
 * 	def __cinit__(self, Graph G):
 * 		self._G = G
 * 		self._this = new _DynWeaklyConnectedComponents(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def numberOfComponents(self):
 */
  try {
    __pyx_t_1 = new NetworKit::DynWeaklyConnectedComponents(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7048, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":7046
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _DynWeaklyConnectedComponents(G._this)
 */

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

/* "networkit/_NetworKit.pyx":7050
 * 		self._this = new _DynWeaklyConnectedComponents(G._this)
 * 
 * 	def numberOfComponents(self):             # <<<<<<<<<<<<<<
 * 		""" Returns the number of components.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_3numberOfComponents(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_2numberOfComponents[] = " Returns the number of components.\n\n\t\t\tReturns\n\t\t\tcount\n\t\t\t\tThe number of components.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_3numberOfComponents(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("numberOfComponents (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_2numberOfComponents(((struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_2numberOfComponents(struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("numberOfComponents", 0);

  /* "networkit/_NetworKit.pyx":7057
 * 				The number of components.
 * 		"""
 * 		return (<_DynWeaklyConnectedComponents*>(self._this)).numberOfComponents()             # <<<<<<<<<<<<<<
 * 
 * 	def componentOfNode(self, v):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::DynWeaklyConnectedComponents *)__pyx_v_self->__pyx_base._this)->numberOfComponents();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7057, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7050
 * 		self._this = new _DynWeaklyConnectedComponents(G._this)
 * 
 * 	def numberOfComponents(self):             # <<<<<<<<<<<<<<
 * 		""" Returns the number of components.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.DynWeaklyConnectedComponents.numberOfComponents", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7059
 * 		return (<_DynWeaklyConnectedComponents*>(self._this)).numberOfComponents()
 * 
 * 	def componentOfNode(self, v):             # <<<<<<<<<<<<<<
 * 		""" Returns the the component in which node @a u is.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_5componentOfNode(PyObject *__pyx_v_self, PyObject *__pyx_v_v); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_4componentOfNode[] = " Returns the the component in which node @a u is.\n\n\t\t\tParameters\n\t\t\t----------\n\t\t\tv : node\n\t\t\t\tThe node.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_5componentOfNode(PyObject *__pyx_v_self, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("componentOfNode (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_4componentOfNode(((struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *)__pyx_v_self), ((PyObject *)__pyx_v_v));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_4componentOfNode(struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *__pyx_v_self, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("componentOfNode", 0);

  /* "networkit/_NetworKit.pyx":7067
 * 				The node.
 * 		"""
 * 		return (<_DynWeaklyConnectedComponents*>(self._this)).componentOfNode(v)             # <<<<<<<<<<<<<<
 * 
 * 	def getComponentSizes(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7067, __pyx_L1_error)
  try {
    __pyx_t_2 = ((NetworKit::DynWeaklyConnectedComponents *)__pyx_v_self->__pyx_base._this)->componentOfNode(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7067, __pyx_L1_error)
  }
  __pyx_t_3 = __Pyx_PyInt_From_uint64_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7059
 * 		return (<_DynWeaklyConnectedComponents*>(self._this)).numberOfComponents()
 * 
 * 	def componentOfNode(self, v):             # <<<<<<<<<<<<<<
 * 		""" Returns the the component in which node @a u is.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.DynWeaklyConnectedComponents.componentOfNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7069
 * 		return (<_DynWeaklyConnectedComponents*>(self._this)).componentOfNode(v)
 * 
 * 	def getComponentSizes(self):             # <<<<<<<<<<<<<<
 * 		""" Returns the map from component to size.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_7getComponentSizes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_6getComponentSizes[] = " Returns the map from component to size.\n\n\t\t\tReturns\n\t\t\tmap[index, count]\n\t\t\t \tA map that maps each component to its size.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_7getComponentSizes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getComponentSizes (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_6getComponentSizes(((struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_6getComponentSizes(struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::map<__pyx_t_9networkit_10_NetworKit_index,__pyx_t_9networkit_10_NetworKit_count>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getComponentSizes", 0);

  /* "networkit/_NetworKit.pyx":7076
 * 			 	A map that maps each component to its size.
 * 		"""
 * 		return (<_DynWeaklyConnectedComponents*>(self._this)).getComponentSizes()             # <<<<<<<<<<<<<<
 * 
 * 	def getComponents(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::DynWeaklyConnectedComponents *)__pyx_v_self->__pyx_base._this)->getComponentSizes();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7076, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_index______pyx_t_9networkit_10_NetworKit_count(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7069
 * 		return (<_DynWeaklyConnectedComponents*>(self._this)).componentOfNode(v)
 * 
 * 	def getComponentSizes(self):             # <<<<<<<<<<<<<<
 * 		""" Returns the map from component to size.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.DynWeaklyConnectedComponents.getComponentSizes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7078
 * 		return (<_DynWeaklyConnectedComponents*>(self._this)).getComponentSizes()
 * 
 * 	def getComponents(self):             # <<<<<<<<<<<<<<
 * 		""" Returns all the components, each stored as (unordered) set of nodes.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_9getComponents(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_8getComponents[] = " Returns all the components, each stored as (unordered) set of nodes.\n\n\t\t\tReturns\n\t\t\tvector[vector[node]]\n\t\t\t\tA vector of vectors. Each inner vector contains all the nodes\n\t\t\t\tinside the component.\n\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_9getComponents(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getComponents (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_8getComponents(((struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_8getComponents(struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<std::vector<__pyx_t_9networkit_10_NetworKit_node> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getComponents", 0);

  /* "networkit/_NetworKit.pyx":7087
 * 
 * 		"""
 * 		return (<_DynWeaklyConnectedComponents*>(self._this)).getComponents()             # <<<<<<<<<<<<<<
 * 
 * 	def update(self, event):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::DynWeaklyConnectedComponents *)__pyx_v_self->__pyx_base._this)->getComponents();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7087, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_node_3e___(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7078
 * 		return (<_DynWeaklyConnectedComponents*>(self._this)).getComponentSizes()
 * 
 * 	def getComponents(self):             # <<<<<<<<<<<<<<
 * 		""" Returns all the components, each stored as (unordered) set of nodes.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.DynWeaklyConnectedComponents.getComponents", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7089
 * 		return (<_DynWeaklyConnectedComponents*>(self._this)).getComponents()
 * 
 * 	def update(self, event):             # <<<<<<<<<<<<<<
 * 		""" Updates the connected components after an edge insertion or
 * 			deletion.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_11update(PyObject *__pyx_v_self, PyObject *__pyx_v_event); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_10update[] = " Updates the connected components after an edge insertion or\n\t\t\tdeletion.\n\n\t\t\tParameters\n\t\t\t----------\n\t\t\tevent : GraphEvent\n\t\t\t\tThe event that happened (edge deletion or insertion).\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_11update(PyObject *__pyx_v_self, PyObject *__pyx_v_event) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("update (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_10update(((struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *)__pyx_v_self), ((PyObject *)__pyx_v_event));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_10update(struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *__pyx_v_self, PyObject *__pyx_v_event) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum NetworKit::GraphEvent::Type __pyx_t_2;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_3;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_4;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_5;
  NetworKit::GraphEvent __pyx_t_6;
  __Pyx_RefNannySetupContext("update", 0);

  /* "networkit/_NetworKit.pyx":7098
 * 				The event that happened (edge deletion or insertion).
 * 		"""
 * 		(<_DynWeaklyConnectedComponents*>(self._this)).update(_GraphEvent(event.type, event.u, event.v, event.w))             # <<<<<<<<<<<<<<
 * 
 * 	def updateBatch(self, batch):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_event, __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum NetworKit::GraphEvent::Type)__Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 7098, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_event, __pyx_n_s_u); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_As_uint64_t(__pyx_t_1); if (unlikely((__pyx_t_3 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7098, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_event, __pyx_n_s_v); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyInt_As_uint64_t(__pyx_t_1); if (unlikely((__pyx_t_4 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7098, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_event, __pyx_n_s_w); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 7098, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  try {
    __pyx_t_6 = NetworKit::GraphEvent(__pyx_t_2, __pyx_t_3, __pyx_t_4, __pyx_t_5);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7098, __pyx_L1_error)
  }
  try {
    ((NetworKit::DynWeaklyConnectedComponents *)__pyx_v_self->__pyx_base._this)->update(__pyx_t_6);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7098, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":7089
 * 		return (<_DynWeaklyConnectedComponents*>(self._this)).getComponents()
 * 
 * 	def update(self, event):             # <<<<<<<<<<<<<<
 * 		""" Updates the connected components after an edge insertion or
 * 			deletion.
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynWeaklyConnectedComponents.update", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7100
 * 		(<_DynWeaklyConnectedComponents*>(self._this)).update(_GraphEvent(event.type, event.u, event.v, event.w))
 * 
 * 	def updateBatch(self, batch):             # <<<<<<<<<<<<<<
 * 		""" Updates the connected components after a batch of edge insertions or
 * 			deletions.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_13updateBatch(PyObject *__pyx_v_self, PyObject *__pyx_v_batch); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_12updateBatch[] = " Updates the connected components after a batch of edge insertions or\n\t\t\tdeletions.\n\n\t\t\tParameters\n\t\t\t----------\n\t\t\tbatch : vector[GraphEvent]\n\t\t\t\tA vector that contains a batch of edge insertions or deletions.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_13updateBatch(PyObject *__pyx_v_self, PyObject *__pyx_v_batch) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("updateBatch (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_12updateBatch(((struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *)__pyx_v_self), ((PyObject *)__pyx_v_batch));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_12updateBatch(struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *__pyx_v_self, PyObject *__pyx_v_batch) {
  std::vector<NetworKit::GraphEvent>  __pyx_v__batch;
  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;
  enum NetworKit::GraphEvent::Type __pyx_t_5;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_6;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_7;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_8;
  NetworKit::GraphEvent __pyx_t_9;
  __Pyx_RefNannySetupContext("updateBatch", 0);

  /* "networkit/_NetworKit.pyx":7110
 * 		"""
 * 		cdef vector[_GraphEvent] _batch
 * 		for event in batch:             # <<<<<<<<<<<<<<
 * 			_batch.push_back(_GraphEvent(event.type, event.u, event.v, event.w))
 * 		(<_DynWeaklyConnectedComponents*>(self._this)).updateBatch(_batch)
 */
  if (likely(PyList_CheckExact(__pyx_v_batch)) || PyTuple_CheckExact(__pyx_v_batch)) {
    __pyx_t_1 = __pyx_v_batch; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_batch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7110, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 7110, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7110, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 7110, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7110, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 7110, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_event, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "networkit/_NetworKit.pyx":7111
 * 		cdef vector[_GraphEvent] _batch
 * 		for event in batch:
 * 			_batch.push_back(_GraphEvent(event.type, event.u, event.v, event.w))             # <<<<<<<<<<<<<<
 * 		(<_DynWeaklyConnectedComponents*>(self._this)).updateBatch(_batch)
 * 
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_event, __pyx_n_s_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = ((enum NetworKit::GraphEvent::Type)__Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 7111, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_event, __pyx_n_s_u); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyInt_As_uint64_t(__pyx_t_4); if (unlikely((__pyx_t_6 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7111, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_event, __pyx_n_s_v); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = __Pyx_PyInt_As_uint64_t(__pyx_t_4); if (unlikely((__pyx_t_7 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7111, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_event, __pyx_n_s_w); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_8 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 7111, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    try {
      __pyx_t_9 = NetworKit::GraphEvent(__pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 7111, __pyx_L1_error)
    }
    try {
      __pyx_v__batch.push_back(__pyx_t_9);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 7111, __pyx_L1_error)
    }

    /* "networkit/_NetworKit.pyx":7110
 * 		"""
 * 		cdef vector[_GraphEvent] _batch
 * 		for event in batch:             # <<<<<<<<<<<<<<
 * 			_batch.push_back(_GraphEvent(event.type, event.u, event.v, event.w))
 * 		(<_DynWeaklyConnectedComponents*>(self._this)).updateBatch(_batch)
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":7112
 * 		for event in batch:
 * 			_batch.push_back(_GraphEvent(event.type, event.u, event.v, event.w))
 * 		(<_DynWeaklyConnectedComponents*>(self._this)).updateBatch(_batch)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  try {
    ((NetworKit::DynWeaklyConnectedComponents *)__pyx_v_self->__pyx_base._this)->updateBatch(__pyx_v__batch);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7112, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":7100
 * 		(<_DynWeaklyConnectedComponents*>(self._this)).update(_GraphEvent(event.type, event.u, event.v, event.w))
 * 
 * 	def updateBatch(self, batch):             # <<<<<<<<<<<<<<
 * 		""" Updates the connected components after a batch of edge insertions or
 * 			deletions.
 */

  /* 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_AddTraceback("networkit._NetworKit.DynWeaklyConnectedComponents.updateBatch", __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;
}

/* "(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_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_14__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__249, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynWeaklyConnectedComponents.__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_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_16__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_16__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__250, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynWeaklyConnectedComponents.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7125
 * cdef class ClusteringCoefficient:
 * 	@staticmethod
 * 	def avgLocal(Graph G, bool_t turbo = False):             # <<<<<<<<<<<<<<
 * 		"""
 * 		DEPRECATED: Use centrality.LocalClusteringCoefficient and take average.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_21ClusteringCoefficient_1avgLocal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_21ClusteringCoefficient_avgLocal[] = "\n\t\tDEPRECATED: Use centrality.LocalClusteringCoefficient and take average.\n\n\t\tThis calculates the average local clustering coefficient of graph `G`. The graph may not contain self-loops.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe graph.\n\n\t\tNotes\n\t\t-----\n\n\t\t.. math:: c(G) := \\frac{1}{n} \\sum_{u \\in V} c(u)\n\n\t\twhere\n\n\t\t.. math:: c(u) := \\frac{2 \\cdot |E(N(u))| }{\\deg(u) \\cdot ( \\deg(u) - 1)}\n\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_21ClusteringCoefficient_1avgLocal = {"avgLocal", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_21ClusteringCoefficient_1avgLocal, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_21ClusteringCoefficient_avgLocal};
static PyObject *__pyx_pw_9networkit_10_NetworKit_21ClusteringCoefficient_1avgLocal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  bool __pyx_v_turbo;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("avgLocal (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_turbo,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_turbo);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "avgLocal") < 0)) __PYX_ERR(0, 7125, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    if (values[1]) {
      __pyx_v_turbo = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_turbo == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7125, __pyx_L3_error)
    } else {
      __pyx_v_turbo = ((bool)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("avgLocal", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7125, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ClusteringCoefficient.avgLocal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 7125, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21ClusteringCoefficient_avgLocal(__pyx_v_G, __pyx_v_turbo);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21ClusteringCoefficient_avgLocal(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, bool __pyx_v_turbo) {
  double __pyx_v_ret;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("avgLocal", 0);

  /* "networkit/_NetworKit.pyx":7147
 * 		"""
 * 		cdef double ret
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			ret = avgLocal(G._this, turbo)
 * 		return ret
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":7148
 * 		cdef double ret
 * 		with nogil:
 * 			ret = avgLocal(G._this, turbo)             # <<<<<<<<<<<<<<
 * 		return ret
 * 
 */
        try {
          __pyx_t_1 = NetworKit::ClusteringCoefficient::avgLocal(__pyx_v_G->_this, __pyx_v_turbo);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 7148, __pyx_L4_error)
        }
        __pyx_v_ret = __pyx_t_1;
      }

      /* "networkit/_NetworKit.pyx":7147
 * 		"""
 * 		cdef double ret
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			ret = avgLocal(G._this, turbo)
 * 		return ret
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":7149
 * 		with nogil:
 * 			ret = avgLocal(G._this, turbo)
 * 		return ret             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ret); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7125
 * cdef class ClusteringCoefficient:
 * 	@staticmethod
 * 	def avgLocal(Graph G, bool_t turbo = False):             # <<<<<<<<<<<<<<
 * 		"""
 * 		DEPRECATED: Use centrality.LocalClusteringCoefficient and take average.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.ClusteringCoefficient.avgLocal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7152
 * 
 * 	@staticmethod
 * 	def sequentialAvgLocal(Graph G):             # <<<<<<<<<<<<<<
 * 		""" This calculates the average local clustering coefficient of graph `G` using inherently sequential triangle counting.
 * 		Parameters
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_21ClusteringCoefficient_3sequentialAvgLocal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_21ClusteringCoefficient_2sequentialAvgLocal[] = " This calculates the average local clustering coefficient of graph `G` using inherently sequential triangle counting.\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe graph.\n\n\t\tNotes\n\t\t-----\n\n\t\t.. math:: c(G) := \\frac{1}{n} \\sum_{u \\in V} c(u)\n\n\t\twhere\n\n\t\t.. math:: c(u) := \\frac{2 \\cdot |E(N(u))| }{\\deg(u) \\cdot ( \\deg(u) - 1)}\n\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_21ClusteringCoefficient_3sequentialAvgLocal = {"sequentialAvgLocal", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_21ClusteringCoefficient_3sequentialAvgLocal, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_21ClusteringCoefficient_2sequentialAvgLocal};
static PyObject *__pyx_pw_9networkit_10_NetworKit_21ClusteringCoefficient_3sequentialAvgLocal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sequentialAvgLocal (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "sequentialAvgLocal") < 0)) __PYX_ERR(0, 7152, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("sequentialAvgLocal", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7152, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ClusteringCoefficient.sequentialAvgLocal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 7152, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21ClusteringCoefficient_2sequentialAvgLocal(__pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21ClusteringCoefficient_2sequentialAvgLocal(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  double __pyx_v_ret;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("sequentialAvgLocal", 0);

  /* "networkit/_NetworKit.pyx":7170
 * 		"""
 * 		cdef double ret
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			ret = sequentialAvgLocal(G._this)
 * 		return ret
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":7171
 * 		cdef double ret
 * 		with nogil:
 * 			ret = sequentialAvgLocal(G._this)             # <<<<<<<<<<<<<<
 * 		return ret
 * 
 */
        try {
          __pyx_t_1 = NetworKit::ClusteringCoefficient::sequentialAvgLocal(__pyx_v_G->_this);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 7171, __pyx_L4_error)
        }
        __pyx_v_ret = __pyx_t_1;
      }

      /* "networkit/_NetworKit.pyx":7170
 * 		"""
 * 		cdef double ret
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			ret = sequentialAvgLocal(G._this)
 * 		return ret
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":7172
 * 		with nogil:
 * 			ret = sequentialAvgLocal(G._this)
 * 		return ret             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ret); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7152
 * 
 * 	@staticmethod
 * 	def sequentialAvgLocal(Graph G):             # <<<<<<<<<<<<<<
 * 		""" This calculates the average local clustering coefficient of graph `G` using inherently sequential triangle counting.
 * 		Parameters
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.ClusteringCoefficient.sequentialAvgLocal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7175
 * 
 * 	@staticmethod
 * 	def approxAvgLocal(Graph G, count trials):             # <<<<<<<<<<<<<<
 * 		cdef double ret
 * 		with nogil:
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_21ClusteringCoefficient_5approxAvgLocal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_21ClusteringCoefficient_5approxAvgLocal = {"approxAvgLocal", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_21ClusteringCoefficient_5approxAvgLocal, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9networkit_10_NetworKit_21ClusteringCoefficient_5approxAvgLocal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_trials;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("approxAvgLocal (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_trials,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_trials)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("approxAvgLocal", 1, 2, 2, 1); __PYX_ERR(0, 7175, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "approxAvgLocal") < 0)) __PYX_ERR(0, 7175, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_trials = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_trials == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7175, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("approxAvgLocal", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7175, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ClusteringCoefficient.approxAvgLocal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 7175, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21ClusteringCoefficient_4approxAvgLocal(__pyx_v_G, __pyx_v_trials);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21ClusteringCoefficient_4approxAvgLocal(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_trials) {
  double __pyx_v_ret;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("approxAvgLocal", 0);

  /* "networkit/_NetworKit.pyx":7177
 * 	def approxAvgLocal(Graph G, count trials):
 * 		cdef double ret
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			ret = approxAvgLocal(G._this, trials)
 * 		return ret
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":7178
 * 		cdef double ret
 * 		with nogil:
 * 			ret = approxAvgLocal(G._this, trials)             # <<<<<<<<<<<<<<
 * 		return ret
 * 
 */
        try {
          __pyx_t_1 = NetworKit::ClusteringCoefficient::approxAvgLocal(__pyx_v_G->_this, __pyx_v_trials);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 7178, __pyx_L4_error)
        }
        __pyx_v_ret = __pyx_t_1;
      }

      /* "networkit/_NetworKit.pyx":7177
 * 	def approxAvgLocal(Graph G, count trials):
 * 		cdef double ret
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			ret = approxAvgLocal(G._this, trials)
 * 		return ret
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":7179
 * 		with nogil:
 * 			ret = approxAvgLocal(G._this, trials)
 * 		return ret             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ret); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7175
 * 
 * 	@staticmethod
 * 	def approxAvgLocal(Graph G, count trials):             # <<<<<<<<<<<<<<
 * 		cdef double ret
 * 		with nogil:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.ClusteringCoefficient.approxAvgLocal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7182
 * 
 * 	@staticmethod
 * 	def exactGlobal(Graph G):             # <<<<<<<<<<<<<<
 * 		""" This calculates the global clustering coefficient. """
 * 		cdef double ret
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_21ClusteringCoefficient_7exactGlobal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_21ClusteringCoefficient_6exactGlobal[] = " This calculates the global clustering coefficient. ";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_21ClusteringCoefficient_7exactGlobal = {"exactGlobal", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_21ClusteringCoefficient_7exactGlobal, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_21ClusteringCoefficient_6exactGlobal};
static PyObject *__pyx_pw_9networkit_10_NetworKit_21ClusteringCoefficient_7exactGlobal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("exactGlobal (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "exactGlobal") < 0)) __PYX_ERR(0, 7182, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("exactGlobal", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7182, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ClusteringCoefficient.exactGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 7182, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21ClusteringCoefficient_6exactGlobal(__pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21ClusteringCoefficient_6exactGlobal(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  double __pyx_v_ret;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("exactGlobal", 0);

  /* "networkit/_NetworKit.pyx":7185
 * 		""" This calculates the global clustering coefficient. """
 * 		cdef double ret
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			ret = exactGlobal(G._this)
 * 		return ret
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":7186
 * 		cdef double ret
 * 		with nogil:
 * 			ret = exactGlobal(G._this)             # <<<<<<<<<<<<<<
 * 		return ret
 * 
 */
        try {
          __pyx_t_1 = NetworKit::ClusteringCoefficient::exactGlobal(__pyx_v_G->_this);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 7186, __pyx_L4_error)
        }
        __pyx_v_ret = __pyx_t_1;
      }

      /* "networkit/_NetworKit.pyx":7185
 * 		""" This calculates the global clustering coefficient. """
 * 		cdef double ret
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			ret = exactGlobal(G._this)
 * 		return ret
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":7187
 * 		with nogil:
 * 			ret = exactGlobal(G._this)
 * 		return ret             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ret); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7182
 * 
 * 	@staticmethod
 * 	def exactGlobal(Graph G):             # <<<<<<<<<<<<<<
 * 		""" This calculates the global clustering coefficient. """
 * 		cdef double ret
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.ClusteringCoefficient.exactGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7190
 * 
 * 	@staticmethod
 * 	def approxGlobal(Graph G, count trials):             # <<<<<<<<<<<<<<
 * 		cdef double ret
 * 		with nogil:
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_21ClusteringCoefficient_9approxGlobal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_21ClusteringCoefficient_9approxGlobal = {"approxGlobal", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_21ClusteringCoefficient_9approxGlobal, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9networkit_10_NetworKit_21ClusteringCoefficient_9approxGlobal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_trials;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("approxGlobal (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_trials,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_trials)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("approxGlobal", 1, 2, 2, 1); __PYX_ERR(0, 7190, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "approxGlobal") < 0)) __PYX_ERR(0, 7190, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_trials = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_trials == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7190, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("approxGlobal", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7190, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ClusteringCoefficient.approxGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 7190, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21ClusteringCoefficient_8approxGlobal(__pyx_v_G, __pyx_v_trials);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21ClusteringCoefficient_8approxGlobal(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_trials) {
  double __pyx_v_ret;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("approxGlobal", 0);

  /* "networkit/_NetworKit.pyx":7192
 * 	def approxGlobal(Graph G, count trials):
 * 		cdef double ret
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			ret = approxGlobal(G._this, trials)
 * 		return ret
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":7193
 * 		cdef double ret
 * 		with nogil:
 * 			ret = approxGlobal(G._this, trials)             # <<<<<<<<<<<<<<
 * 		return ret
 * 
 */
        try {
          __pyx_t_1 = NetworKit::ClusteringCoefficient::approxGlobal(__pyx_v_G->_this, __pyx_v_trials);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 7193, __pyx_L4_error)
        }
        __pyx_v_ret = __pyx_t_1;
      }

      /* "networkit/_NetworKit.pyx":7192
 * 	def approxGlobal(Graph G, count trials):
 * 		cdef double ret
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			ret = approxGlobal(G._this, trials)
 * 		return ret
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":7194
 * 		with nogil:
 * 			ret = approxGlobal(G._this, trials)
 * 		return ret             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/distance/Diameter.hpp>" namespace "NetworKit":
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_ret); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7190
 * 
 * 	@staticmethod
 * 	def approxGlobal(Graph G, count trials):             # <<<<<<<<<<<<<<
 * 		cdef double ret
 * 		with nogil:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.ClusteringCoefficient.approxGlobal", __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_9networkit_10_NetworKit_21ClusteringCoefficient_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21ClusteringCoefficient_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21ClusteringCoefficient_10__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ClusteringCoefficient *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21ClusteringCoefficient_10__reduce_cython__(struct __pyx_obj_9networkit_10_NetworKit_ClusteringCoefficient *__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;
  __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:
 */
  __Pyx_INCREF(__pyx_empty_tuple);
  __pyx_v_state = __pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_2 = (__pyx_v__dict != Py_None);
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (__pyx_t_3) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 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:
 *         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:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_ClusteringCoefficient, (type(self), 0xd41d8cd, None), state
 */
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_ClusteringCoefficient, (type(self), 0xd41d8cd, None), state
 *     else:
 */
  __pyx_t_3 = (__pyx_v_use_setstate != 0);
  if (__pyx_t_3) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_ClusteringCoefficient, (type(self), 0xd41d8cd, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_ClusteringCoefficient, (type(self), 0xd41d8cd, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_ClusteringCoeffic); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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))));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_222419149);
    __Pyx_GIVEREF(__pyx_int_222419149);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state);
    __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_ClusteringCoefficient, (type(self), 0xd41d8cd, None), state
 *     else:
 */
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_ClusteringCoefficient, (type(self), 0xd41d8cd, None), state
 *     else:
 *         return __pyx_unpickle_ClusteringCoefficient, (type(self), 0xd41d8cd, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_ClusteringCoefficient__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle_ClusteringCoeffic); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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))));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_222419149);
    __Pyx_GIVEREF(__pyx_int_222419149);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
    __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("networkit._NetworKit.ClusteringCoefficient.__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_ClusteringCoefficient, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_ClusteringCoefficient__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_21ClusteringCoefficient_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21ClusteringCoefficient_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21ClusteringCoefficient_12__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ClusteringCoefficient *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21ClusteringCoefficient_12__setstate_cython__(struct __pyx_obj_9networkit_10_NetworKit_ClusteringCoefficient *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_ClusteringCoefficient, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_ClusteringCoefficient__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
  __pyx_t_1 = __pyx_f_9networkit_10_NetworKit___pyx_unpickle_ClusteringCoefficient__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_ClusteringCoefficient, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_ClusteringCoefficient__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_AddTraceback("networkit._NetworKit.ClusteringCoefficient.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7223
 * 	TODO: docstring
 * 	"""
 * 	def __cinit__(self, Graph G not None, algo = _DiameterAlgo.Automatic, error = -1., nSamples = 0):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _Diameter(G._this, algo, error, nSamples)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_8Diameter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_8Diameter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_algo = 0;
  PyObject *__pyx_v_error = 0;
  PyObject *__pyx_v_nSamples = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_algo,&__pyx_n_s_error,&__pyx_n_s_nSamples,0};
    PyObject* values[4] = {0,0,0,0};
    values[1] = __pyx_k__251;
    values[2] = ((PyObject *)__pyx_float_neg_1_);
    values[3] = ((PyObject *)__pyx_int_0);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_algo);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_error);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nSamples);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7223, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_algo = values[1];
    __pyx_v_error = values[2];
    __pyx_v_nSamples = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7223, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Diameter.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 7223, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8Diameter___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_Diameter *)__pyx_v_self), __pyx_v_G, __pyx_v_algo, __pyx_v_error, __pyx_v_nSamples);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_8Diameter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_Diameter *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_algo, PyObject *__pyx_v_error, PyObject *__pyx_v_nSamples) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  enum NetworKit::DiameterAlgo __pyx_t_1;
  double __pyx_t_2;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_3;
  NetworKit::Diameter *__pyx_t_4;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":7224
 * 	"""
 * 	def __cinit__(self, Graph G not None, algo = _DiameterAlgo.Automatic, error = -1., nSamples = 0):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _Diameter(G._this, algo, error, nSamples)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":7225
 * 	def __cinit__(self, Graph G not None, algo = _DiameterAlgo.Automatic, error = -1., nSamples = 0):
 * 		self._G = G
 * 		self._this = new _Diameter(G._this, algo, error, nSamples)             # <<<<<<<<<<<<<<
 * 
 * 	def getDiameter(self):
 */
  __pyx_t_1 = ((enum NetworKit::DiameterAlgo)__Pyx_PyInt_As_enum__NetworKit_3a__3a_DiameterAlgo(__pyx_v_algo)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 7225, __pyx_L1_error)
  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_error); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 7225, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyInt_As_uint64_t(__pyx_v_nSamples); if (unlikely((__pyx_t_3 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7225, __pyx_L1_error)
  try {
    __pyx_t_4 = new NetworKit::Diameter(__pyx_v_G->_this, __pyx_t_1, __pyx_t_2, __pyx_t_3);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7225, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_4;

  /* "networkit/_NetworKit.pyx":7223
 * 	TODO: docstring
 * 	"""
 * 	def __cinit__(self, Graph G not None, algo = _DiameterAlgo.Automatic, error = -1., nSamples = 0):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _Diameter(G._this, algo, error, nSamples)
 */

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

/* "networkit/_NetworKit.pyx":7227
 * 		self._this = new _Diameter(G._this, algo, error, nSamples)
 * 
 * 	def getDiameter(self):             # <<<<<<<<<<<<<<
 * 		return (<_Diameter*>(self._this)).getDiameter()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Diameter_3getDiameter(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Diameter_3getDiameter(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDiameter (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8Diameter_2getDiameter(((struct __pyx_obj_9networkit_10_NetworKit_Diameter *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_8Diameter_2getDiameter(struct __pyx_obj_9networkit_10_NetworKit_Diameter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::pair<__pyx_t_9networkit_10_NetworKit_count,__pyx_t_9networkit_10_NetworKit_count>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getDiameter", 0);

  /* "networkit/_NetworKit.pyx":7228
 * 
 * 	def getDiameter(self):
 * 		return (<_Diameter*>(self._this)).getDiameter()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::Diameter *)__pyx_v_self->__pyx_base._this)->getDiameter();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7228, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_count______pyx_t_9networkit_10_NetworKit_count(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7227
 * 		self._this = new _Diameter(G._this, algo, error, nSamples)
 * 
 * 	def getDiameter(self):             # <<<<<<<<<<<<<<
 * 		return (<_Diameter*>(self._this)).getDiameter()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Diameter.getDiameter", __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_9networkit_10_NetworKit_8Diameter_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Diameter_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8Diameter_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Diameter *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_8Diameter_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Diameter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__252, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Diameter.__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_9networkit_10_NetworKit_8Diameter_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Diameter_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8Diameter_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Diameter *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_8Diameter_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Diameter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__253, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Diameter.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7241
 * 
 * 	@staticmethod
 * 	def getValue(Graph G, v):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12Eccentricity_1getValue(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_12Eccentricity_getValue[] = "\n\t\tReturns\n\t\t-------\n\t\tpair[node, count]\n\t\t\tnode is the farthest node `v` from `u`, and the count is the length of the shortest path from `u` to `v`.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_12Eccentricity_1getValue = {"getValue", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_12Eccentricity_1getValue, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_12Eccentricity_getValue};
static PyObject *__pyx_pw_9networkit_10_NetworKit_12Eccentricity_1getValue(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_v = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getValue (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("getValue", 1, 2, 2, 1); __PYX_ERR(0, 7241, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getValue") < 0)) __PYX_ERR(0, 7241, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_v = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getValue", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7241, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Eccentricity.getValue", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 7241, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12Eccentricity_getValue(__pyx_v_G, __pyx_v_v);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12Eccentricity_getValue(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_count>  __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("getValue", 0);

  /* "networkit/_NetworKit.pyx":7248
 * 			node is the farthest node `v` from `u`, and the count is the length of the shortest path from `u` to `v`.
 * 		"""
 * 		return getValue(G._this, v)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7248, __pyx_L1_error)
  try {
    __pyx_t_2 = NetworKit::Eccentricity::getValue(__pyx_v_G->_this, __pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7248, __pyx_L1_error)
  }
  __pyx_t_3 = __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_count(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7248, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7241
 * 
 * 	@staticmethod
 * 	def getValue(Graph G, v):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Eccentricity.getValue", __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_9networkit_10_NetworKit_12Eccentricity_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12Eccentricity_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12Eccentricity_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Eccentricity *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_12Eccentricity_2__reduce_cython__(struct __pyx_obj_9networkit_10_NetworKit_Eccentricity *__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;
  __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:
 */
  __Pyx_INCREF(__pyx_empty_tuple);
  __pyx_v_state = __pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_2 = (__pyx_v__dict != Py_None);
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (__pyx_t_3) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 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:
 *         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:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_Eccentricity, (type(self), 0xd41d8cd, None), state
 */
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Eccentricity, (type(self), 0xd41d8cd, None), state
 *     else:
 */
  __pyx_t_3 = (__pyx_v_use_setstate != 0);
  if (__pyx_t_3) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_Eccentricity, (type(self), 0xd41d8cd, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_Eccentricity, (type(self), 0xd41d8cd, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_Eccentricity); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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))));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_222419149);
    __Pyx_GIVEREF(__pyx_int_222419149);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state);
    __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_Eccentricity, (type(self), 0xd41d8cd, None), state
 *     else:
 */
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_Eccentricity, (type(self), 0xd41d8cd, None), state
 *     else:
 *         return __pyx_unpickle_Eccentricity, (type(self), 0xd41d8cd, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Eccentricity__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle_Eccentricity); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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))));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_222419149);
    __Pyx_GIVEREF(__pyx_int_222419149);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
    __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("networkit._NetworKit.Eccentricity.__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_Eccentricity, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Eccentricity__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12Eccentricity_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12Eccentricity_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12Eccentricity_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Eccentricity *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_12Eccentricity_4__setstate_cython__(struct __pyx_obj_9networkit_10_NetworKit_Eccentricity *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_Eccentricity, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Eccentricity__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
  __pyx_t_1 = __pyx_f_9networkit_10_NetworKit___pyx_unpickle_Eccentricity__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Eccentricity, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Eccentricity__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_AddTraceback("networkit._NetworKit.Eccentricity.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7271
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G not None, double ratio=0.9):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _EffectiveDiameter(G._this, ratio)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_17EffectiveDiameter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_17EffectiveDiameter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  double __pyx_v_ratio;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_ratio,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ratio);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7271, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    if (values[1]) {
      __pyx_v_ratio = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_ratio == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 7271, __pyx_L3_error)
    } else {
      __pyx_v_ratio = ((double)0.9);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7271, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EffectiveDiameter.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 7271, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17EffectiveDiameter___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameter *)__pyx_v_self), __pyx_v_G, __pyx_v_ratio);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_17EffectiveDiameter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameter *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, double __pyx_v_ratio) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::EffectiveDiameter *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":7272
 * 
 * 	def __cinit__(self, Graph G not None, double ratio=0.9):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _EffectiveDiameter(G._this, ratio)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":7273
 * 	def __cinit__(self, Graph G not None, double ratio=0.9):
 * 		self._G = G
 * 		self._this = new _EffectiveDiameter(G._this, ratio)             # <<<<<<<<<<<<<<
 * 
 * 	def getEffectiveDiameter(self):
 */
  try {
    __pyx_t_1 = new NetworKit::EffectiveDiameter(__pyx_v_G->_this, __pyx_v_ratio);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7273, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":7271
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G not None, double ratio=0.9):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _EffectiveDiameter(G._this, ratio)
 */

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

/* "networkit/_NetworKit.pyx":7275
 * 		self._this = new _EffectiveDiameter(G._this, ratio)
 * 
 * 	def getEffectiveDiameter(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_17EffectiveDiameter_3getEffectiveDiameter(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_17EffectiveDiameter_2getEffectiveDiameter[] = "\n\t\tReturns\n\t\t-------\n\t\tdouble\n\t\t\tthe effective diameter\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_17EffectiveDiameter_3getEffectiveDiameter(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getEffectiveDiameter (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17EffectiveDiameter_2getEffectiveDiameter(((struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameter *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17EffectiveDiameter_2getEffectiveDiameter(struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getEffectiveDiameter", 0);

  /* "networkit/_NetworKit.pyx":7282
 * 			the effective diameter
 * 		"""
 * 		return (<_EffectiveDiameter*>(self._this)).getEffectiveDiameter()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::EffectiveDiameter *)__pyx_v_self->__pyx_base._this)->getEffectiveDiameter();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7282, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7275
 * 		self._this = new _EffectiveDiameter(G._this, ratio)
 * 
 * 	def getEffectiveDiameter(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.EffectiveDiameter.getEffectiveDiameter", __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_9networkit_10_NetworKit_17EffectiveDiameter_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17EffectiveDiameter_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17EffectiveDiameter_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameter *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17EffectiveDiameter_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__254, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EffectiveDiameter.__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_9networkit_10_NetworKit_17EffectiveDiameter_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17EffectiveDiameter_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17EffectiveDiameter_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameter *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17EffectiveDiameter_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__255, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EffectiveDiameter.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7313
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G not None, double ratio=0.9, count k=64, count r=7):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _EffectiveDiameterApproximation(G._this, ratio, k, r)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_30EffectiveDiameterApproximation_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_30EffectiveDiameterApproximation_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  double __pyx_v_ratio;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_k;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_r;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_ratio,&__pyx_n_s_k,&__pyx_n_s_r,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ratio);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_r);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7313, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    if (values[1]) {
      __pyx_v_ratio = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_ratio == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 7313, __pyx_L3_error)
    } else {
      __pyx_v_ratio = ((double)0.9);
    }
    if (values[2]) {
      __pyx_v_k = __Pyx_PyInt_As_uint64_t(values[2]); if (unlikely((__pyx_v_k == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7313, __pyx_L3_error)
    } else {
      __pyx_v_k = ((__pyx_t_9networkit_10_NetworKit_count)64);
    }
    if (values[3]) {
      __pyx_v_r = __Pyx_PyInt_As_uint64_t(values[3]); if (unlikely((__pyx_v_r == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7313, __pyx_L3_error)
    } else {
      __pyx_v_r = ((__pyx_t_9networkit_10_NetworKit_count)7);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7313, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EffectiveDiameterApproximation.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 7313, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_30EffectiveDiameterApproximation___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameterApproximation *)__pyx_v_self), __pyx_v_G, __pyx_v_ratio, __pyx_v_k, __pyx_v_r);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_30EffectiveDiameterApproximation___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameterApproximation *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, double __pyx_v_ratio, __pyx_t_9networkit_10_NetworKit_count __pyx_v_k, __pyx_t_9networkit_10_NetworKit_count __pyx_v_r) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::EffectiveDiameterApproximation *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":7314
 * 
 * 	def __cinit__(self, Graph G not None, double ratio=0.9, count k=64, count r=7):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _EffectiveDiameterApproximation(G._this, ratio, k, r)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":7315
 * 	def __cinit__(self, Graph G not None, double ratio=0.9, count k=64, count r=7):
 * 		self._G = G
 * 		self._this = new _EffectiveDiameterApproximation(G._this, ratio, k, r)             # <<<<<<<<<<<<<<
 * 
 * 	def getEffectiveDiameter(self):
 */
  try {
    __pyx_t_1 = new NetworKit::EffectiveDiameterApproximation(__pyx_v_G->_this, __pyx_v_ratio, __pyx_v_k, __pyx_v_r);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7315, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":7313
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G not None, double ratio=0.9, count k=64, count r=7):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _EffectiveDiameterApproximation(G._this, ratio, k, r)
 */

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

/* "networkit/_NetworKit.pyx":7317
 * 		self._this = new _EffectiveDiameterApproximation(G._this, ratio, k, r)
 * 
 * 	def getEffectiveDiameter(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_30EffectiveDiameterApproximation_3getEffectiveDiameter(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_30EffectiveDiameterApproximation_2getEffectiveDiameter[] = "\n\t\tReturns\n\t\t-------\n\t\tdouble\n\t\t\tthe approximated effective diameter\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_30EffectiveDiameterApproximation_3getEffectiveDiameter(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getEffectiveDiameter (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_30EffectiveDiameterApproximation_2getEffectiveDiameter(((struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameterApproximation *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_30EffectiveDiameterApproximation_2getEffectiveDiameter(struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameterApproximation *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getEffectiveDiameter", 0);

  /* "networkit/_NetworKit.pyx":7324
 * 			the approximated effective diameter
 * 		"""
 * 		return (<_EffectiveDiameterApproximation*>(self._this)).getEffectiveDiameter()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::EffectiveDiameterApproximation *)__pyx_v_self->__pyx_base._this)->getEffectiveDiameter();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7324, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7324, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7317
 * 		self._this = new _EffectiveDiameterApproximation(G._this, ratio, k, r)
 * 
 * 	def getEffectiveDiameter(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.EffectiveDiameterApproximation.getEffectiveDiameter", __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_9networkit_10_NetworKit_30EffectiveDiameterApproximation_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_30EffectiveDiameterApproximation_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_30EffectiveDiameterApproximation_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameterApproximation *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_30EffectiveDiameterApproximation_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameterApproximation *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__256, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EffectiveDiameterApproximation.__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_9networkit_10_NetworKit_30EffectiveDiameterApproximation_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_30EffectiveDiameterApproximation_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_30EffectiveDiameterApproximation_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameterApproximation *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_30EffectiveDiameterApproximation_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameterApproximation *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__257, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EffectiveDiameterApproximation.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7357
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G not None, count maxDistance=0, count k=64, count r=7):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _HopPlotApproximation(G._this, maxDistance, k, r)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_20HopPlotApproximation_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_20HopPlotApproximation_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_maxDistance;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_k;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_r;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_maxDistance,&__pyx_n_s_k,&__pyx_n_s_r,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_maxDistance);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_r);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7357, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    if (values[1]) {
      __pyx_v_maxDistance = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_maxDistance == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7357, __pyx_L3_error)
    } else {
      __pyx_v_maxDistance = ((__pyx_t_9networkit_10_NetworKit_count)0);
    }
    if (values[2]) {
      __pyx_v_k = __Pyx_PyInt_As_uint64_t(values[2]); if (unlikely((__pyx_v_k == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7357, __pyx_L3_error)
    } else {
      __pyx_v_k = ((__pyx_t_9networkit_10_NetworKit_count)64);
    }
    if (values[3]) {
      __pyx_v_r = __Pyx_PyInt_As_uint64_t(values[3]); if (unlikely((__pyx_v_r == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7357, __pyx_L3_error)
    } else {
      __pyx_v_r = ((__pyx_t_9networkit_10_NetworKit_count)7);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7357, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.HopPlotApproximation.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 7357, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20HopPlotApproximation___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_HopPlotApproximation *)__pyx_v_self), __pyx_v_G, __pyx_v_maxDistance, __pyx_v_k, __pyx_v_r);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_20HopPlotApproximation___cinit__(struct __pyx_obj_9networkit_10_NetworKit_HopPlotApproximation *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_maxDistance, __pyx_t_9networkit_10_NetworKit_count __pyx_v_k, __pyx_t_9networkit_10_NetworKit_count __pyx_v_r) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::HopPlotApproximation *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":7358
 * 
 * 	def __cinit__(self, Graph G not None, count maxDistance=0, count k=64, count r=7):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _HopPlotApproximation(G._this, maxDistance, k, r)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":7359
 * 	def __cinit__(self, Graph G not None, count maxDistance=0, count k=64, count r=7):
 * 		self._G = G
 * 		self._this = new _HopPlotApproximation(G._this, maxDistance, k, r)             # <<<<<<<<<<<<<<
 * 
 * 	def getHopPlot(self):
 */
  try {
    __pyx_t_1 = new NetworKit::HopPlotApproximation(__pyx_v_G->_this, __pyx_v_maxDistance, __pyx_v_k, __pyx_v_r);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7359, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":7357
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G not None, count maxDistance=0, count k=64, count r=7):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _HopPlotApproximation(G._this, maxDistance, k, r)
 */

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

/* "networkit/_NetworKit.pyx":7361
 * 		self._this = new _HopPlotApproximation(G._this, maxDistance, k, r)
 * 
 * 	def getHopPlot(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20HopPlotApproximation_3getHopPlot(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_20HopPlotApproximation_2getHopPlot[] = "\n\t\tReturns\n\t\t-------\n\t\tmap\n\t\t\tnumber of connected nodes for each distance\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_20HopPlotApproximation_3getHopPlot(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getHopPlot (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20HopPlotApproximation_2getHopPlot(((struct __pyx_obj_9networkit_10_NetworKit_HopPlotApproximation *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20HopPlotApproximation_2getHopPlot(struct __pyx_obj_9networkit_10_NetworKit_HopPlotApproximation *__pyx_v_self) {
  std::map<__pyx_t_9networkit_10_NetworKit_count,double>  __pyx_v_hp;
  PyObject *__pyx_v_result = NULL;
  std::pair<__pyx_t_9networkit_10_NetworKit_count,double>  __pyx_v_elem;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::map<__pyx_t_9networkit_10_NetworKit_count,double>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  std::map<__pyx_t_9networkit_10_NetworKit_count,double> ::iterator __pyx_t_3;
  std::pair<__pyx_t_9networkit_10_NetworKit_count,double>  __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("getHopPlot", 0);

  /* "networkit/_NetworKit.pyx":7368
 * 			number of connected nodes for each distance
 * 		"""
 * 		cdef map[count, double] hp = (<_HopPlotApproximation*>(self._this)).getHopPlot()             # <<<<<<<<<<<<<<
 * 		result = dict()
 * 		for elem in hp:
 */
  try {
    __pyx_t_1 = ((NetworKit::HopPlotApproximation *)__pyx_v_self->__pyx_base._this)->getHopPlot();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7368, __pyx_L1_error)
  }
  __pyx_v_hp = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":7369
 * 		"""
 * 		cdef map[count, double] hp = (<_HopPlotApproximation*>(self._this)).getHopPlot()
 * 		result = dict()             # <<<<<<<<<<<<<<
 * 		for elem in hp:
 * 			result[elem.first] = elem.second
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7369, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_result = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":7370
 * 		cdef map[count, double] hp = (<_HopPlotApproximation*>(self._this)).getHopPlot()
 * 		result = dict()
 * 		for elem in hp:             # <<<<<<<<<<<<<<
 * 			result[elem.first] = elem.second
 * 		return result
 */
  __pyx_t_3 = __pyx_v_hp.begin();
  for (;;) {
    if (!(__pyx_t_3 != __pyx_v_hp.end())) break;
    __pyx_t_4 = *__pyx_t_3;
    ++__pyx_t_3;
    __pyx_v_elem = __pyx_t_4;

    /* "networkit/_NetworKit.pyx":7371
 * 		result = dict()
 * 		for elem in hp:
 * 			result[elem.first] = elem.second             # <<<<<<<<<<<<<<
 * 		return result
 * 
 */
    __pyx_t_2 = PyFloat_FromDouble(__pyx_v_elem.second); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = __Pyx_PyInt_From_uint64_t(__pyx_v_elem.first); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (unlikely(PyDict_SetItem(__pyx_v_result, __pyx_t_5, __pyx_t_2) < 0)) __PYX_ERR(0, 7371, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "networkit/_NetworKit.pyx":7370
 * 		cdef map[count, double] hp = (<_HopPlotApproximation*>(self._this)).getHopPlot()
 * 		result = dict()
 * 		for elem in hp:             # <<<<<<<<<<<<<<
 * 			result[elem.first] = elem.second
 * 		return result
 */
  }

  /* "networkit/_NetworKit.pyx":7372
 * 		for elem in hp:
 * 			result[elem.first] = elem.second
 * 		return result             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_result);
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7361
 * 		self._this = new _HopPlotApproximation(G._this, maxDistance, k, r)
 * 
 * 	def getHopPlot(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("networkit._NetworKit.HopPlotApproximation.getHopPlot", __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;
}

/* "(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_9networkit_10_NetworKit_20HopPlotApproximation_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20HopPlotApproximation_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20HopPlotApproximation_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_HopPlotApproximation *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20HopPlotApproximation_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_HopPlotApproximation *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__258, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.HopPlotApproximation.__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_9networkit_10_NetworKit_20HopPlotApproximation_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20HopPlotApproximation_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20HopPlotApproximation_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_HopPlotApproximation *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20HopPlotApproximation_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_HopPlotApproximation *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__259, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.HopPlotApproximation.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7394
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G not None):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _NeighborhoodFunction(G._this)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_20NeighborhoodFunction_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_20NeighborhoodFunction_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7394, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7394, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.NeighborhoodFunction.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 7394, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20NeighborhoodFunction___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunction *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_20NeighborhoodFunction___cinit__(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunction *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::NeighborhoodFunction *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":7395
 * 
 * 	def __cinit__(self, Graph G not None):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _NeighborhoodFunction(G._this)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":7396
 * 	def __cinit__(self, Graph G not None):
 * 		self._G = G
 * 		self._this = new _NeighborhoodFunction(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def getNeighborhoodFunction(self):
 */
  try {
    __pyx_t_1 = new NetworKit::NeighborhoodFunction(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7396, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":7394
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G not None):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _NeighborhoodFunction(G._this)
 */

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

/* "networkit/_NetworKit.pyx":7398
 * 		self._this = new _NeighborhoodFunction(G._this)
 * 
 * 	def getNeighborhoodFunction(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20NeighborhoodFunction_3getNeighborhoodFunction(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_20NeighborhoodFunction_2getNeighborhoodFunction[] = "\n\t\tReturns\n\t\t-------\n\t\tlist\n\t\t\tthe i-th element denotes the number of node pairs that have a distance at most (i+1)\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_20NeighborhoodFunction_3getNeighborhoodFunction(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNeighborhoodFunction (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20NeighborhoodFunction_2getNeighborhoodFunction(((struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunction *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20NeighborhoodFunction_2getNeighborhoodFunction(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunction *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getNeighborhoodFunction", 0);

  /* "networkit/_NetworKit.pyx":7405
 * 			the i-th element denotes the number of node pairs that have a distance at most (i+1)
 * 		"""
 * 		return (<_NeighborhoodFunction*>(self._this)).getNeighborhoodFunction()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::NeighborhoodFunction *)__pyx_v_self->__pyx_base._this)->getNeighborhoodFunction();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7405, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_count(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7405, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7398
 * 		self._this = new _NeighborhoodFunction(G._this)
 * 
 * 	def getNeighborhoodFunction(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.NeighborhoodFunction.getNeighborhoodFunction", __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_9networkit_10_NetworKit_20NeighborhoodFunction_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20NeighborhoodFunction_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20NeighborhoodFunction_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunction *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20NeighborhoodFunction_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunction *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__260, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.NeighborhoodFunction.__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_9networkit_10_NetworKit_20NeighborhoodFunction_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20NeighborhoodFunction_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20NeighborhoodFunction_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunction *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20NeighborhoodFunction_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunction *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__261, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.NeighborhoodFunction.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7435
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G not None, count k=64, count r=7):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _NeighborhoodFunctionApproximation(G._this, k, r)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_33NeighborhoodFunctionApproximation_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_33NeighborhoodFunctionApproximation_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_k;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_r;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_k,&__pyx_n_s_r,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_r);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7435, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    if (values[1]) {
      __pyx_v_k = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_k == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7435, __pyx_L3_error)
    } else {
      __pyx_v_k = ((__pyx_t_9networkit_10_NetworKit_count)64);
    }
    if (values[2]) {
      __pyx_v_r = __Pyx_PyInt_As_uint64_t(values[2]); if (unlikely((__pyx_v_r == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7435, __pyx_L3_error)
    } else {
      __pyx_v_r = ((__pyx_t_9networkit_10_NetworKit_count)7);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7435, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.NeighborhoodFunctionApproximation.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 7435, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_33NeighborhoodFunctionApproximation___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionApproximation *)__pyx_v_self), __pyx_v_G, __pyx_v_k, __pyx_v_r);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_33NeighborhoodFunctionApproximation___cinit__(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionApproximation *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_k, __pyx_t_9networkit_10_NetworKit_count __pyx_v_r) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::NeighborhoodFunctionApproximation *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":7436
 * 
 * 	def __cinit__(self, Graph G not None, count k=64, count r=7):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _NeighborhoodFunctionApproximation(G._this, k, r)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":7437
 * 	def __cinit__(self, Graph G not None, count k=64, count r=7):
 * 		self._G = G
 * 		self._this = new _NeighborhoodFunctionApproximation(G._this, k, r)             # <<<<<<<<<<<<<<
 * 
 * 	def getNeighborhoodFunction(self):
 */
  try {
    __pyx_t_1 = new NetworKit::NeighborhoodFunctionApproximation(__pyx_v_G->_this, __pyx_v_k, __pyx_v_r);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7437, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":7435
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G not None, count k=64, count r=7):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _NeighborhoodFunctionApproximation(G._this, k, r)
 */

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

/* "networkit/_NetworKit.pyx":7439
 * 		self._this = new _NeighborhoodFunctionApproximation(G._this, k, r)
 * 
 * 	def getNeighborhoodFunction(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_33NeighborhoodFunctionApproximation_3getNeighborhoodFunction(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_33NeighborhoodFunctionApproximation_2getNeighborhoodFunction[] = "\n\t\tReturns\n\t\t-------\n\t\tlist\n\t\t\tthe i-th element denotes the number of node pairs that have a distance at most (i+1)\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_33NeighborhoodFunctionApproximation_3getNeighborhoodFunction(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNeighborhoodFunction (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_33NeighborhoodFunctionApproximation_2getNeighborhoodFunction(((struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionApproximation *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_33NeighborhoodFunctionApproximation_2getNeighborhoodFunction(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionApproximation *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getNeighborhoodFunction", 0);

  /* "networkit/_NetworKit.pyx":7446
 * 			the i-th element denotes the number of node pairs that have a distance at most (i+1)
 * 		"""
 * 		return (<_NeighborhoodFunctionApproximation*>(self._this)).getNeighborhoodFunction()             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/distance/NeighborhoodFunctionHeuristic.hpp>" namespace "NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::NeighborhoodFunctionApproximation *)__pyx_v_self->__pyx_base._this)->getNeighborhoodFunction();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7446, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_count(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7446, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7439
 * 		self._this = new _NeighborhoodFunctionApproximation(G._this, k, r)
 * 
 * 	def getNeighborhoodFunction(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.NeighborhoodFunctionApproximation.getNeighborhoodFunction", __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_9networkit_10_NetworKit_33NeighborhoodFunctionApproximation_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_33NeighborhoodFunctionApproximation_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_33NeighborhoodFunctionApproximation_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionApproximation *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_33NeighborhoodFunctionApproximation_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionApproximation *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__262, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.NeighborhoodFunctionApproximation.__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_9networkit_10_NetworKit_33NeighborhoodFunctionApproximation_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_33NeighborhoodFunctionApproximation_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_33NeighborhoodFunctionApproximation_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionApproximation *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_33NeighborhoodFunctionApproximation_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionApproximation *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__263, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.NeighborhoodFunctionApproximation.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7480
 * 	SPLIT = 1
 * 
 * 	def __cinit__(self, Graph G not None, count nSamples=0, strategy=SPLIT):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _NeighborhoodFunctionHeuristic(G._this, nSamples, strategy)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_29NeighborhoodFunctionHeuristic_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_29NeighborhoodFunctionHeuristic_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_nSamples;
  PyObject *__pyx_v_strategy = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_nSamples,&__pyx_n_s_strategy,0};
    PyObject* values[3] = {0,0,0};
    values[2] = __pyx_k__264;
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nSamples);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_strategy);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7480, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    if (values[1]) {
      __pyx_v_nSamples = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_nSamples == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7480, __pyx_L3_error)
    } else {
      __pyx_v_nSamples = ((__pyx_t_9networkit_10_NetworKit_count)0);
    }
    __pyx_v_strategy = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7480, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.NeighborhoodFunctionHeuristic.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 7480, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29NeighborhoodFunctionHeuristic___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic *)__pyx_v_self), __pyx_v_G, __pyx_v_nSamples, __pyx_v_strategy);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_29NeighborhoodFunctionHeuristic___cinit__(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_nSamples, PyObject *__pyx_v_strategy) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy __pyx_t_1;
  NetworKit::NeighborhoodFunctionHeuristic *__pyx_t_2;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":7481
 * 
 * 	def __cinit__(self, Graph G not None, count nSamples=0, strategy=SPLIT):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _NeighborhoodFunctionHeuristic(G._this, nSamples, strategy)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":7482
 * 	def __cinit__(self, Graph G not None, count nSamples=0, strategy=SPLIT):
 * 		self._G = G
 * 		self._this = new _NeighborhoodFunctionHeuristic(G._this, nSamples, strategy)             # <<<<<<<<<<<<<<
 * 
 * 	def getNeighborhoodFunction(self):
 */
  __pyx_t_1 = ((enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)__Pyx_PyInt_As_enum__NetworKit_3a__3a_NeighborhoodFunctionHeuristic_3a__3a_SelectionStrategy(__pyx_v_strategy)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 7482, __pyx_L1_error)
  try {
    __pyx_t_2 = new NetworKit::NeighborhoodFunctionHeuristic(__pyx_v_G->_this, __pyx_v_nSamples, __pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7482, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_2;

  /* "networkit/_NetworKit.pyx":7480
 * 	SPLIT = 1
 * 
 * 	def __cinit__(self, Graph G not None, count nSamples=0, strategy=SPLIT):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _NeighborhoodFunctionHeuristic(G._this, nSamples, strategy)
 */

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

/* "networkit/_NetworKit.pyx":7484
 * 		self._this = new _NeighborhoodFunctionHeuristic(G._this, nSamples, strategy)
 * 
 * 	def getNeighborhoodFunction(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_29NeighborhoodFunctionHeuristic_3getNeighborhoodFunction(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_29NeighborhoodFunctionHeuristic_2getNeighborhoodFunction[] = "\n\t\tReturns\n\t\t-------\n\t\tlist\n\t\t\tthe i-th element denotes the number of node pairs that have a distance at most (i+1)\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_29NeighborhoodFunctionHeuristic_3getNeighborhoodFunction(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNeighborhoodFunction (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29NeighborhoodFunctionHeuristic_2getNeighborhoodFunction(((struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_29NeighborhoodFunctionHeuristic_2getNeighborhoodFunction(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getNeighborhoodFunction", 0);

  /* "networkit/_NetworKit.pyx":7491
 * 			the i-th element denotes the number of node pairs that have a distance at most (i+1)
 * 		"""
 * 		return (<_NeighborhoodFunctionHeuristic*>(self._this)).getNeighborhoodFunction()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::NeighborhoodFunctionHeuristic *)__pyx_v_self->__pyx_base._this)->getNeighborhoodFunction();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7491, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_count(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7484
 * 		self._this = new _NeighborhoodFunctionHeuristic(G._this, nSamples, strategy)
 * 
 * 	def getNeighborhoodFunction(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.NeighborhoodFunctionHeuristic.getNeighborhoodFunction", __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_9networkit_10_NetworKit_29NeighborhoodFunctionHeuristic_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_29NeighborhoodFunctionHeuristic_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29NeighborhoodFunctionHeuristic_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_29NeighborhoodFunctionHeuristic_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__265, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.NeighborhoodFunctionHeuristic.__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_9networkit_10_NetworKit_29NeighborhoodFunctionHeuristic_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_29NeighborhoodFunctionHeuristic_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29NeighborhoodFunctionHeuristic_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_29NeighborhoodFunctionHeuristic_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__266, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.NeighborhoodFunctionHeuristic.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7507
 * 	cdef Partition partition
 * 
 * 	def __cinit__(self, Graph G, data):             # <<<<<<<<<<<<<<
 * 		if isinstance(data, Partition):
 * 			self._this = new _Assortativity(G._this, (<Partition>data)._this)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_13Assortativity_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_13Assortativity_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_data = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_data,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_data)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); __PYX_ERR(0, 7507, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7507, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_data = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7507, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Assortativity.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 7507, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_13Assortativity___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_Assortativity *)__pyx_v_self), __pyx_v_G, __pyx_v_data);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_13Assortativity___cinit__(struct __pyx_obj_9networkit_10_NetworKit_Assortativity *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_data) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  NetworKit::Assortativity *__pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  std::vector<double>  __pyx_t_5;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":7508
 * 
 * 	def __cinit__(self, Graph G, data):
 * 		if isinstance(data, Partition):             # <<<<<<<<<<<<<<
 * 			self._this = new _Assortativity(G._this, (<Partition>data)._this)
 * 			self.partition = <Partition>data
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_data, __pyx_ptype_9networkit_10_NetworKit_Partition); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":7509
 * 	def __cinit__(self, Graph G, data):
 * 		if isinstance(data, Partition):
 * 			self._this = new _Assortativity(G._this, (<Partition>data)._this)             # <<<<<<<<<<<<<<
 * 			self.partition = <Partition>data
 * 		else:
 */
    try {
      __pyx_t_3 = new NetworKit::Assortativity(__pyx_v_G->_this, ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_v_data)->_this);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 7509, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;

    /* "networkit/_NetworKit.pyx":7510
 * 		if isinstance(data, Partition):
 * 			self._this = new _Assortativity(G._this, (<Partition>data)._this)
 * 			self.partition = <Partition>data             # <<<<<<<<<<<<<<
 * 		else:
 * 			self.attribute = <vector[double]?>data
 */
    __pyx_t_4 = __pyx_v_data;
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __Pyx_GOTREF(__pyx_v_self->partition);
    __Pyx_DECREF(((PyObject *)__pyx_v_self->partition));
    __pyx_v_self->partition = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "networkit/_NetworKit.pyx":7508
 * 
 * 	def __cinit__(self, Graph G, data):
 * 		if isinstance(data, Partition):             # <<<<<<<<<<<<<<
 * 			self._this = new _Assortativity(G._this, (<Partition>data)._this)
 * 			self.partition = <Partition>data
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":7512
 * 			self.partition = <Partition>data
 * 		else:
 * 			self.attribute = <vector[double]?>data             # <<<<<<<<<<<<<<
 * 			self._this = new _Assortativity(G._this, self.attribute)
 * 		self.G = G
 */
  /*else*/ {
    __pyx_t_5 = __pyx_convert_vector_from_py_double(__pyx_v_data); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 7512, __pyx_L1_error)
    __pyx_v_self->attribute = ((std::vector<double> )__pyx_t_5);

    /* "networkit/_NetworKit.pyx":7513
 * 		else:
 * 			self.attribute = <vector[double]?>data
 * 			self._this = new _Assortativity(G._this, self.attribute)             # <<<<<<<<<<<<<<
 * 		self.G = G
 * 
 */
    try {
      __pyx_t_3 = new NetworKit::Assortativity(__pyx_v_G->_this, __pyx_v_self->attribute);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 7513, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":7514
 * 			self.attribute = <vector[double]?>data
 * 			self._this = new _Assortativity(G._this, self.attribute)
 * 		self.G = G             # <<<<<<<<<<<<<<
 * 
 * 	def getCoefficient(self):
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->G));
  __pyx_v_self->G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":7507
 * 	cdef Partition partition
 * 
 * 	def __cinit__(self, Graph G, data):             # <<<<<<<<<<<<<<
 * 		if isinstance(data, Partition):
 * 			self._this = new _Assortativity(G._this, (<Partition>data)._this)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("networkit._NetworKit.Assortativity.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7516
 * 		self.G = G
 * 
 * 	def getCoefficient(self):             # <<<<<<<<<<<<<<
 * 		return (<_Assortativity*>(self._this)).getCoefficient()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_13Assortativity_3getCoefficient(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_13Assortativity_3getCoefficient(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getCoefficient (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_13Assortativity_2getCoefficient(((struct __pyx_obj_9networkit_10_NetworKit_Assortativity *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_13Assortativity_2getCoefficient(struct __pyx_obj_9networkit_10_NetworKit_Assortativity *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getCoefficient", 0);

  /* "networkit/_NetworKit.pyx":7517
 * 
 * 	def getCoefficient(self):
 * 		return (<_Assortativity*>(self._this)).getCoefficient()             # <<<<<<<<<<<<<<
 * 
 * # Module: centrality
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::Assortativity *)__pyx_v_self->__pyx_base._this)->getCoefficient();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7517, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7516
 * 		self.G = G
 * 
 * 	def getCoefficient(self):             # <<<<<<<<<<<<<<
 * 		return (<_Assortativity*>(self._this)).getCoefficient()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Assortativity.getCoefficient", __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_9networkit_10_NetworKit_13Assortativity_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_13Assortativity_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_13Assortativity_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Assortativity *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_13Assortativity_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Assortativity *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__267, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Assortativity.__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_9networkit_10_NetworKit_13Assortativity_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_13Assortativity_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_13Assortativity_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Assortativity *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_13Assortativity_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Assortativity *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__268, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Assortativity.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7544
 * 	cdef Graph _G
 * 
 * 	def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == Centrality:
 * 			raise RuntimeError("Error, you may not use Centrality directly, use a sub-class instead")
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_10Centrality_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_10Centrality_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10Centrality___init__(((struct __pyx_obj_9networkit_10_NetworKit_Centrality *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

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

static int __pyx_pf_9networkit_10_NetworKit_10Centrality___init__(struct __pyx_obj_9networkit_10_NetworKit_Centrality *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "networkit/_NetworKit.pyx":7545
 * 
 * 	def __init__(self, *args, **kwargs):
 * 		if type(self) == Centrality:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use Centrality directly, use a sub-class instead")
 * 
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), ((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Centrality), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7545, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 7545, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(__pyx_t_2)) {

    /* "networkit/_NetworKit.pyx":7546
 * 	def __init__(self, *args, **kwargs):
 * 		if type(self) == Centrality:
 * 			raise RuntimeError("Error, you may not use Centrality directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__269, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7546, __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(0, 7546, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":7545
 * 
 * 	def __init__(self, *args, **kwargs):
 * 		if type(self) == Centrality:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use Centrality directly, use a sub-class instead")
 * 
 */
  }

  /* "networkit/_NetworKit.pyx":7544
 * 	cdef Graph _G
 * 
 * 	def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == Centrality:
 * 			raise RuntimeError("Error, you may not use Centrality directly, use a sub-class instead")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Centrality.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7548
 * 			raise RuntimeError("Error, you may not use Centrality directly, use a sub-class instead")
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		self._G = None # just to be sure the graph is deleted
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_10Centrality_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_10Centrality_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_10Centrality_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_Centrality *)__pyx_v_self));

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

static void __pyx_pf_9networkit_10_NetworKit_10Centrality_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_Centrality *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":7549
 * 
 * 	def __dealloc__(self):
 * 		self._G = None # just to be sure the graph is deleted             # <<<<<<<<<<<<<<
 * 
 * 	def scores(self):
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None);

  /* "networkit/_NetworKit.pyx":7548
 * 			raise RuntimeError("Error, you may not use Centrality directly, use a sub-class instead")
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		self._G = None # just to be sure the graph is deleted
 * 
 */

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

/* "networkit/_NetworKit.pyx":7551
 * 		self._G = None # just to be sure the graph is deleted
 * 
 * 	def scores(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10Centrality_5scores(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10Centrality_4scores[] = "\n\t\tReturns\n\t\t-------\n\t\tlist\n\t\t\tthe list of all scores\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_10Centrality_5scores(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("scores (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10Centrality_4scores(((struct __pyx_obj_9networkit_10_NetworKit_Centrality *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_10Centrality_4scores(struct __pyx_obj_9networkit_10_NetworKit_Centrality *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  std::vector<double>  __pyx_t_3;
  __Pyx_RefNannySetupContext("scores", 0);

  /* "networkit/_NetworKit.pyx":7558
 * 			the list of all scores
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_Centrality*>(self._this)).scores()
 */
  __pyx_t_1 = ((__pyx_v_self->__pyx_base._this == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":7559
 * 		"""
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")             # <<<<<<<<<<<<<<
 * 		return (<_Centrality*>(self._this)).scores()
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7559, __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(0, 7559, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":7558
 * 			the list of all scores
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_Centrality*>(self._this)).scores()
 */
  }

  /* "networkit/_NetworKit.pyx":7560
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_Centrality*>(self._this)).scores()             # <<<<<<<<<<<<<<
 * 
 * 	def score(self, v):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_3 = ((NetworKit::Centrality *)__pyx_v_self->__pyx_base._this)->scores();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7560, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_double(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7560, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7551
 * 		self._G = None # just to be sure the graph is deleted
 * 
 * 	def scores(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Centrality.scores", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7562
 * 		return (<_Centrality*>(self._this)).scores()
 * 
 * 	def score(self, v):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10Centrality_7score(PyObject *__pyx_v_self, PyObject *__pyx_v_v); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10Centrality_6score[] = "\n\t\tReturns\n\t\t-------\n\t\tthe score of node v\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_10Centrality_7score(PyObject *__pyx_v_self, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("score (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10Centrality_6score(((struct __pyx_obj_9networkit_10_NetworKit_Centrality *)__pyx_v_self), ((PyObject *)__pyx_v_v));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_10Centrality_6score(struct __pyx_obj_9networkit_10_NetworKit_Centrality *__pyx_v_self, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_3;
  double __pyx_t_4;
  __Pyx_RefNannySetupContext("score", 0);

  /* "networkit/_NetworKit.pyx":7568
 * 		the score of node v
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_Centrality*>(self._this)).score(v)
 */
  __pyx_t_1 = ((__pyx_v_self->__pyx_base._this == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":7569
 * 		"""
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")             # <<<<<<<<<<<<<<
 * 		return (<_Centrality*>(self._this)).score(v)
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7569, __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(0, 7569, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":7568
 * 		the score of node v
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_Centrality*>(self._this)).score(v)
 */
  }

  /* "networkit/_NetworKit.pyx":7570
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_Centrality*>(self._this)).score(v)             # <<<<<<<<<<<<<<
 * 
 * 	def ranking(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_3 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7570, __pyx_L1_error)
  try {
    __pyx_t_4 = ((NetworKit::Centrality *)__pyx_v_self->__pyx_base._this)->score(__pyx_t_3);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7570, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7562
 * 		return (<_Centrality*>(self._this)).scores()
 * 
 * 	def score(self, v):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Centrality.score", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7572
 * 		return (<_Centrality*>(self._this)).score(v)
 * 
 * 	def ranking(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10Centrality_9ranking(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10Centrality_8ranking[] = "\n\t\tReturns\n\t\t-------\n\t\tdictionary\n\t\t\ta vector of pairs sorted into descending order. Each pair contains a node and the corresponding score\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_10Centrality_9ranking(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("ranking (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10Centrality_8ranking(((struct __pyx_obj_9networkit_10_NetworKit_Centrality *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_10Centrality_8ranking(struct __pyx_obj_9networkit_10_NetworKit_Centrality *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,double> >  __pyx_t_3;
  __Pyx_RefNannySetupContext("ranking", 0);

  /* "networkit/_NetworKit.pyx":7579
 * 			a vector of pairs sorted into descending order. Each pair contains a node and the corresponding score
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_Centrality*>(self._this)).ranking()
 */
  __pyx_t_1 = ((__pyx_v_self->__pyx_base._this == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":7580
 * 		"""
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")             # <<<<<<<<<<<<<<
 * 		return (<_Centrality*>(self._this)).ranking()
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7580, __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(0, 7580, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":7579
 * 			a vector of pairs sorted into descending order. Each pair contains a node and the corresponding score
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_Centrality*>(self._this)).ranking()
 */
  }

  /* "networkit/_NetworKit.pyx":7581
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_Centrality*>(self._this)).ranking()             # <<<<<<<<<<<<<<
 * 
 * 	def maximum(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_3 = ((NetworKit::Centrality *)__pyx_v_self->__pyx_base._this)->ranking();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7581, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c_double_3e___(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7572
 * 		return (<_Centrality*>(self._this)).score(v)
 * 
 * 	def ranking(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Centrality.ranking", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7583
 * 		return (<_Centrality*>(self._this)).ranking()
 * 
 * 	def maximum(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10Centrality_11maximum(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10Centrality_10maximum[] = "\n\t\tReturns\n\t\t-------\n\t\tthe maximum theoretical centrality score for the given graph\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_10Centrality_11maximum(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("maximum (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10Centrality_10maximum(((struct __pyx_obj_9networkit_10_NetworKit_Centrality *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_10Centrality_10maximum(struct __pyx_obj_9networkit_10_NetworKit_Centrality *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  double __pyx_t_3;
  __Pyx_RefNannySetupContext("maximum", 0);

  /* "networkit/_NetworKit.pyx":7589
 * 		the maximum theoretical centrality score for the given graph
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_Centrality*>(self._this)).maximum()
 */
  __pyx_t_1 = ((__pyx_v_self->__pyx_base._this == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":7590
 * 		"""
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")             # <<<<<<<<<<<<<<
 * 		return (<_Centrality*>(self._this)).maximum()
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7590, __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(0, 7590, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":7589
 * 		the maximum theoretical centrality score for the given graph
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_Centrality*>(self._this)).maximum()
 */
  }

  /* "networkit/_NetworKit.pyx":7591
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_Centrality*>(self._this)).maximum()             # <<<<<<<<<<<<<<
 * 
 * 	def centralization(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_3 = ((NetworKit::Centrality *)__pyx_v_self->__pyx_base._this)->maximum();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7591, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7583
 * 		return (<_Centrality*>(self._this)).ranking()
 * 
 * 	def maximum(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Centrality.maximum", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7593
 * 		return (<_Centrality*>(self._this)).maximum()
 * 
 * 	def centralization(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Compute the centralization of a network with respect to some centrality measure.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10Centrality_13centralization(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_10Centrality_12centralization[] = "\n\t\tCompute the centralization of a network with respect to some centrality measure.\n\n\t \tThe centralization of any network is a measure of how central its most central\n\t \tnode is in relation to how central all the other nodes are.\n\t \tCentralization measures then (a) calculate the sum in differences\n\t \tin centrality between the most central node in a network and all other nodes;\n\t \tand (b) divide this quantity by the theoretically largest such sum of\n\t \tdifferences in any network of the same size.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_10Centrality_13centralization(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("centralization (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10Centrality_12centralization(((struct __pyx_obj_9networkit_10_NetworKit_Centrality *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_10Centrality_12centralization(struct __pyx_obj_9networkit_10_NetworKit_Centrality *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  double __pyx_t_3;
  __Pyx_RefNannySetupContext("centralization", 0);

  /* "networkit/_NetworKit.pyx":7604
 * 	 	differences in any network of the same size.
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_Centrality*>(self._this)).centralization()
 */
  __pyx_t_1 = ((__pyx_v_self->__pyx_base._this == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":7605
 * 		"""
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")             # <<<<<<<<<<<<<<
 * 		return (<_Centrality*>(self._this)).centralization()
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7605, __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(0, 7605, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":7604
 * 	 	differences in any network of the same size.
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_Centrality*>(self._this)).centralization()
 */
  }

  /* "networkit/_NetworKit.pyx":7606
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return (<_Centrality*>(self._this)).centralization()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_3 = ((NetworKit::Centrality *)__pyx_v_self->__pyx_base._this)->centralization();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7606, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7606, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7593
 * 		return (<_Centrality*>(self._this)).maximum()
 * 
 * 	def centralization(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Compute the centralization of a network with respect to some centrality measure.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Centrality.centralization", __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_9networkit_10_NetworKit_10Centrality_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_10Centrality_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10Centrality_14__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Centrality *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_10Centrality_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Centrality *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__270, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Centrality.__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_9networkit_10_NetworKit_10Centrality_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_10Centrality_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10Centrality_16__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Centrality *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_10Centrality_16__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Centrality *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__271, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Centrality.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7639
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self,  Graph G, k=1, first_heu=True, sec_heu=True):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _TopCloseness(G._this, k, first_heu, sec_heu)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_12TopCloseness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_12TopCloseness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_k = 0;
  PyObject *__pyx_v_first_heu = 0;
  PyObject *__pyx_v_sec_heu = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_k,&__pyx_n_s_first_heu,&__pyx_n_s_sec_heu,0};
    PyObject* values[4] = {0,0,0,0};
    values[1] = ((PyObject *)__pyx_int_1);
    values[2] = ((PyObject *)Py_True);
    values[3] = ((PyObject *)Py_True);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_first_heu);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_sec_heu);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7639, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_k = values[1];
    __pyx_v_first_heu = values[2];
    __pyx_v_sec_heu = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7639, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.TopCloseness.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 7639, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12TopCloseness___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_TopCloseness *)__pyx_v_self), __pyx_v_G, __pyx_v_k, __pyx_v_first_heu, __pyx_v_sec_heu);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_12TopCloseness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_TopCloseness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_k, PyObject *__pyx_v_first_heu, PyObject *__pyx_v_sec_heu) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  bool __pyx_t_2;
  bool __pyx_t_3;
  NetworKit::TopCloseness *__pyx_t_4;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":7640
 * 
 * 	def __cinit__(self,  Graph G, k=1, first_heu=True, sec_heu=True):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _TopCloseness(G._this, k, first_heu, sec_heu)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":7641
 * 	def __cinit__(self,  Graph G, k=1, first_heu=True, sec_heu=True):
 * 		self._G = G
 * 		self._this = new _TopCloseness(G._this, k, first_heu, sec_heu)             # <<<<<<<<<<<<<<
 * 
 * 	def topkNodesList(self, includeTrail=False):
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_k); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7641, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_first_heu); if (unlikely((__pyx_t_2 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7641, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_sec_heu); if (unlikely((__pyx_t_3 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7641, __pyx_L1_error)
  try {
    __pyx_t_4 = new NetworKit::TopCloseness(__pyx_v_G->_this, __pyx_t_1, __pyx_t_2, __pyx_t_3);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7641, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_4;

  /* "networkit/_NetworKit.pyx":7639
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self,  Graph G, k=1, first_heu=True, sec_heu=True):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _TopCloseness(G._this, k, first_heu, sec_heu)
 */

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

/* "networkit/_NetworKit.pyx":7643
 * 		self._this = new _TopCloseness(G._this, k, first_heu, sec_heu)
 * 
 * 	def topkNodesList(self, includeTrail=False):             # <<<<<<<<<<<<<<
 * 		""" Returns a list with the k nodes with highest closeness.
 * 			WARNING: closeness centrality of some nodes below the top-k could be equal
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12TopCloseness_3topkNodesList(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_12TopCloseness_2topkNodesList[] = " Returns a list with the k nodes with highest closeness.\n\t\t\tWARNING: closeness centrality of some nodes below the top-k could be equal\n\t  \t\tto the k-th closeness, we call them trail. Set the parameter includeTrail\n\t  \t\tto true to also include those nodes but consider that the resulting vector\n\t  \t\tcould be longer than k.\n\n\t\tParameters\n\t\t----------\n\t\tincludeTrail: Whether or not to include trail nodes.\n\n\t\tReturns\n\t\t-------\n\t\tvector\n\t\t\tThe k nodes with highest closeness.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_12TopCloseness_3topkNodesList(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_includeTrail = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("topkNodesList (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_includeTrail,0};
    PyObject* values[1] = {0};
    values[0] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_includeTrail);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "topkNodesList") < 0)) __PYX_ERR(0, 7643, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_includeTrail = values[0];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("topkNodesList", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7643, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.TopCloseness.topkNodesList", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12TopCloseness_2topkNodesList(((struct __pyx_obj_9networkit_10_NetworKit_TopCloseness *)__pyx_v_self), __pyx_v_includeTrail);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_12TopCloseness_2topkNodesList(struct __pyx_obj_9networkit_10_NetworKit_TopCloseness *__pyx_v_self, PyObject *__pyx_v_includeTrail) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("topkNodesList", 0);

  /* "networkit/_NetworKit.pyx":7659
 * 			The k nodes with highest closeness.
 * 		"""
 * 		return (<_TopCloseness*>(self._this)).topkNodesList(includeTrail)             # <<<<<<<<<<<<<<
 * 
 * 	def topkScoresList(self, includeTrail=False):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_includeTrail); if (unlikely((__pyx_t_1 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7659, __pyx_L1_error)
  try {
    __pyx_t_2 = ((NetworKit::TopCloseness *)__pyx_v_self->__pyx_base._this)->topkNodesList(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7659, __pyx_L1_error)
  }
  __pyx_t_3 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7643
 * 		self._this = new _TopCloseness(G._this, k, first_heu, sec_heu)
 * 
 * 	def topkNodesList(self, includeTrail=False):             # <<<<<<<<<<<<<<
 * 		""" Returns a list with the k nodes with highest closeness.
 * 			WARNING: closeness centrality of some nodes below the top-k could be equal
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.TopCloseness.topkNodesList", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7661
 * 		return (<_TopCloseness*>(self._this)).topkNodesList(includeTrail)
 * 
 * 	def topkScoresList(self, includeTrail=False):             # <<<<<<<<<<<<<<
 * 		""" Returns a list with the scores of the k nodes with highest closeness.
 * 			WARNING: closeness centrality of some nodes below the top-k could be equal
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12TopCloseness_5topkScoresList(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_12TopCloseness_4topkScoresList[] = " Returns a list with the scores of the k nodes with highest closeness.\n\t\t\tWARNING: closeness centrality of some nodes below the top-k could be equal\n  \t\t\tto the k-th closeness, we call them trail. Set the parameter includeTrail\n\t  \t\tto true to also include those centrality values but consider that the\n\t  \t\tresulting vector could be longer than k.\n\n\t\tParameters\n\t\t----------\n\t\tincludeTrail: Whether or not to include trail centrality value.\n\n\t\tReturns\n\t\t-------\n\t\tvector\n\t\t\tThe k highest closeness scores.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_12TopCloseness_5topkScoresList(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_includeTrail = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("topkScoresList (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_includeTrail,0};
    PyObject* values[1] = {0};
    values[0] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_includeTrail);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "topkScoresList") < 0)) __PYX_ERR(0, 7661, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_includeTrail = values[0];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("topkScoresList", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7661, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.TopCloseness.topkScoresList", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12TopCloseness_4topkScoresList(((struct __pyx_obj_9networkit_10_NetworKit_TopCloseness *)__pyx_v_self), __pyx_v_includeTrail);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_12TopCloseness_4topkScoresList(struct __pyx_obj_9networkit_10_NetworKit_TopCloseness *__pyx_v_self, PyObject *__pyx_v_includeTrail) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  std::vector<__pyx_t_9networkit_10_NetworKit_edgeweight>  __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("topkScoresList", 0);

  /* "networkit/_NetworKit.pyx":7677
 * 			The k highest closeness scores.
 * 		"""
 * 		return (<_TopCloseness*>(self._this)).topkScoresList(includeTrail)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_includeTrail); if (unlikely((__pyx_t_1 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7677, __pyx_L1_error)
  try {
    __pyx_t_2 = ((NetworKit::TopCloseness *)__pyx_v_self->__pyx_base._this)->topkScoresList(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7677, __pyx_L1_error)
  }
  __pyx_t_3 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_edgeweight(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7661
 * 		return (<_TopCloseness*>(self._this)).topkNodesList(includeTrail)
 * 
 * 	def topkScoresList(self, includeTrail=False):             # <<<<<<<<<<<<<<
 * 		""" Returns a list with the scores of the k nodes with highest closeness.
 * 			WARNING: closeness centrality of some nodes below the top-k could be equal
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.TopCloseness.topkScoresList", __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_9networkit_10_NetworKit_12TopCloseness_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12TopCloseness_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12TopCloseness_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_TopCloseness *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_12TopCloseness_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_TopCloseness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__272, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.TopCloseness.__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_9networkit_10_NetworKit_12TopCloseness_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12TopCloseness_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12TopCloseness_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_TopCloseness *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_12TopCloseness_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_TopCloseness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__273, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.TopCloseness.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7712
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self,  Graph G, k=1, useBFSbound=False):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _TopHarmonicCloseness(G._this, k, useBFSbound)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_20TopHarmonicCloseness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_20TopHarmonicCloseness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_k = 0;
  PyObject *__pyx_v_useBFSbound = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_k,&__pyx_n_s_useBFSbound,0};
    PyObject* values[3] = {0,0,0};
    values[1] = ((PyObject *)__pyx_int_1);
    values[2] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_useBFSbound);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7712, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_k = values[1];
    __pyx_v_useBFSbound = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7712, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.TopHarmonicCloseness.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 7712, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20TopHarmonicCloseness___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_TopHarmonicCloseness *)__pyx_v_self), __pyx_v_G, __pyx_v_k, __pyx_v_useBFSbound);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_20TopHarmonicCloseness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_TopHarmonicCloseness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_k, PyObject *__pyx_v_useBFSbound) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  bool __pyx_t_2;
  NetworKit::TopHarmonicCloseness *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":7713
 * 
 * 	def __cinit__(self,  Graph G, k=1, useBFSbound=False):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _TopHarmonicCloseness(G._this, k, useBFSbound)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":7714
 * 	def __cinit__(self,  Graph G, k=1, useBFSbound=False):
 * 		self._G = G
 * 		self._this = new _TopHarmonicCloseness(G._this, k, useBFSbound)             # <<<<<<<<<<<<<<
 * 
 * 	def topkNodesList(self, includeTrail=False):
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_k); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7714, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_useBFSbound); if (unlikely((__pyx_t_2 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7714, __pyx_L1_error)
  try {
    __pyx_t_3 = new NetworKit::TopHarmonicCloseness(__pyx_v_G->_this, __pyx_t_1, __pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7714, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_3;

  /* "networkit/_NetworKit.pyx":7712
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self,  Graph G, k=1, useBFSbound=False):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _TopHarmonicCloseness(G._this, k, useBFSbound)
 */

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

/* "networkit/_NetworKit.pyx":7716
 * 		self._this = new _TopHarmonicCloseness(G._this, k, useBFSbound)
 * 
 * 	def topkNodesList(self, includeTrail=False):             # <<<<<<<<<<<<<<
 * 		""" Returns a list with the k nodes with highest harmonic closeness.
 * 			WARNING: closeness centrality of some nodes below the top-k could be equal
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20TopHarmonicCloseness_3topkNodesList(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_20TopHarmonicCloseness_2topkNodesList[] = " Returns a list with the k nodes with highest harmonic closeness.\n\t\t\tWARNING: closeness centrality of some nodes below the top-k could be equal\n\t\t\tto the k-th closeness, we call them trail. Set the parameter includeTrail\n\t\t\tto true to also include those nodes but consider that the resulting vector\n\t\t\tcould be longer than k.\n\n\t\tParameters\n\t\t----------\n\t\tincludeTrail: Whether or not to include trail nodes.\n\n\t\tReturns\n\t\t-------\n\t\tvector\n\t\t\tThe k nodes with highest harmonic closeness.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_20TopHarmonicCloseness_3topkNodesList(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_includeTrail = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("topkNodesList (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_includeTrail,0};
    PyObject* values[1] = {0};
    values[0] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_includeTrail);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "topkNodesList") < 0)) __PYX_ERR(0, 7716, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_includeTrail = values[0];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("topkNodesList", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7716, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.TopHarmonicCloseness.topkNodesList", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20TopHarmonicCloseness_2topkNodesList(((struct __pyx_obj_9networkit_10_NetworKit_TopHarmonicCloseness *)__pyx_v_self), __pyx_v_includeTrail);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20TopHarmonicCloseness_2topkNodesList(struct __pyx_obj_9networkit_10_NetworKit_TopHarmonicCloseness *__pyx_v_self, PyObject *__pyx_v_includeTrail) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("topkNodesList", 0);

  /* "networkit/_NetworKit.pyx":7732
 * 			The k nodes with highest harmonic closeness.
 * 		"""
 * 		return (<_TopHarmonicCloseness*>(self._this)).topkNodesList(includeTrail)             # <<<<<<<<<<<<<<
 * 
 * 	def topkScoresList(self, includeTrail=False):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_includeTrail); if (unlikely((__pyx_t_1 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7732, __pyx_L1_error)
  try {
    __pyx_t_2 = ((NetworKit::TopHarmonicCloseness *)__pyx_v_self->__pyx_base._this)->topkNodesList(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7732, __pyx_L1_error)
  }
  __pyx_t_3 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7716
 * 		self._this = new _TopHarmonicCloseness(G._this, k, useBFSbound)
 * 
 * 	def topkNodesList(self, includeTrail=False):             # <<<<<<<<<<<<<<
 * 		""" Returns a list with the k nodes with highest harmonic closeness.
 * 			WARNING: closeness centrality of some nodes below the top-k could be equal
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.TopHarmonicCloseness.topkNodesList", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7734
 * 		return (<_TopHarmonicCloseness*>(self._this)).topkNodesList(includeTrail)
 * 
 * 	def topkScoresList(self, includeTrail=False):             # <<<<<<<<<<<<<<
 * 		""" Returns a list with the scores of the k nodes with highest harmonic closeness.
 * 			WARNING: closeness centrality of some nodes below the top-k could
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20TopHarmonicCloseness_5topkScoresList(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_20TopHarmonicCloseness_4topkScoresList[] = " Returns a list with the scores of the k nodes with highest harmonic closeness.\n\t\t\tWARNING: closeness centrality of some nodes below the top-k could\n\t\t  \tbe equal to the k-th closeness, we call them trail. Set the parameter\n\t\t  \tincludeTrail to true to also include those centrality values but consider\n\t\t  \tthat the resulting vector could be longer than k.\n\n\t\tParameters\n\t\t----------\n\t\tincludeTrail: Whether or not to include trail centrality value.\n\n\t\tReturns\n\t\t-------\n\t\tvector\n\t\t\tThe k highest closeness harmonic scores.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_20TopHarmonicCloseness_5topkScoresList(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_includeTrail = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("topkScoresList (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_includeTrail,0};
    PyObject* values[1] = {0};
    values[0] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_includeTrail);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "topkScoresList") < 0)) __PYX_ERR(0, 7734, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_includeTrail = values[0];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("topkScoresList", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7734, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.TopHarmonicCloseness.topkScoresList", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20TopHarmonicCloseness_4topkScoresList(((struct __pyx_obj_9networkit_10_NetworKit_TopHarmonicCloseness *)__pyx_v_self), __pyx_v_includeTrail);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20TopHarmonicCloseness_4topkScoresList(struct __pyx_obj_9networkit_10_NetworKit_TopHarmonicCloseness *__pyx_v_self, PyObject *__pyx_v_includeTrail) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  std::vector<__pyx_t_9networkit_10_NetworKit_edgeweight>  __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("topkScoresList", 0);

  /* "networkit/_NetworKit.pyx":7750
 * 			The k highest closeness harmonic scores.
 * 		"""
 * 		return (<_TopHarmonicCloseness*>(self._this)).topkScoresList(includeTrail)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_includeTrail); if (unlikely((__pyx_t_1 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7750, __pyx_L1_error)
  try {
    __pyx_t_2 = ((NetworKit::TopHarmonicCloseness *)__pyx_v_self->__pyx_base._this)->topkScoresList(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7750, __pyx_L1_error)
  }
  __pyx_t_3 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_edgeweight(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7750, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7734
 * 		return (<_TopHarmonicCloseness*>(self._this)).topkNodesList(includeTrail)
 * 
 * 	def topkScoresList(self, includeTrail=False):             # <<<<<<<<<<<<<<
 * 		""" Returns a list with the scores of the k nodes with highest harmonic closeness.
 * 			WARNING: closeness centrality of some nodes below the top-k could
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.TopHarmonicCloseness.topkScoresList", __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_9networkit_10_NetworKit_20TopHarmonicCloseness_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20TopHarmonicCloseness_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20TopHarmonicCloseness_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_TopHarmonicCloseness *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20TopHarmonicCloseness_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_TopHarmonicCloseness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__274, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.TopHarmonicCloseness.__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_9networkit_10_NetworKit_20TopHarmonicCloseness_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20TopHarmonicCloseness_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20TopHarmonicCloseness_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_TopHarmonicCloseness *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_20TopHarmonicCloseness_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_TopHarmonicCloseness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__275, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.TopHarmonicCloseness.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7769
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, k, groupOnly=False, tolerance=1e-9):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _DynKatzCentrality(G._this, k, groupOnly, tolerance)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_17DynKatzCentrality_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_17DynKatzCentrality_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_k = 0;
  PyObject *__pyx_v_groupOnly = 0;
  PyObject *__pyx_v_tolerance = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_k,&__pyx_n_s_groupOnly,&__pyx_n_s_tolerance,0};
    PyObject* values[4] = {0,0,0,0};
    values[2] = ((PyObject *)Py_False);
    values[3] = ((PyObject *)__pyx_float_1eneg_9);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 4, 1); __PYX_ERR(0, 7769, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_groupOnly);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tolerance);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7769, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_k = values[1];
    __pyx_v_groupOnly = values[2];
    __pyx_v_tolerance = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7769, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynKatzCentrality.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 7769, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17DynKatzCentrality___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality *)__pyx_v_self), __pyx_v_G, __pyx_v_k, __pyx_v_groupOnly, __pyx_v_tolerance);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_17DynKatzCentrality___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_k, PyObject *__pyx_v_groupOnly, PyObject *__pyx_v_tolerance) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  bool __pyx_t_2;
  double __pyx_t_3;
  NetworKit::DynKatzCentrality *__pyx_t_4;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":7770
 * 
 * 	def __cinit__(self, Graph G, k, groupOnly=False, tolerance=1e-9):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _DynKatzCentrality(G._this, k, groupOnly, tolerance)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":7771
 * 	def __cinit__(self, Graph G, k, groupOnly=False, tolerance=1e-9):
 * 		self._G = G
 * 		self._this = new _DynKatzCentrality(G._this, k, groupOnly, tolerance)             # <<<<<<<<<<<<<<
 * 
 * 	def update(self, ev):
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_k); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7771, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_groupOnly); if (unlikely((__pyx_t_2 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7771, __pyx_L1_error)
  __pyx_t_3 = __pyx_PyFloat_AsDouble(__pyx_v_tolerance); if (unlikely((__pyx_t_3 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 7771, __pyx_L1_error)
  try {
    __pyx_t_4 = new NetworKit::DynKatzCentrality(__pyx_v_G->_this, __pyx_t_1, __pyx_t_2, __pyx_t_3);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7771, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_4;

  /* "networkit/_NetworKit.pyx":7769
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, k, groupOnly=False, tolerance=1e-9):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _DynKatzCentrality(G._this, k, groupOnly, tolerance)
 */

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

/* "networkit/_NetworKit.pyx":7773
 * 		self._this = new _DynKatzCentrality(G._this, k, groupOnly, tolerance)
 * 
 * 	def update(self, ev):             # <<<<<<<<<<<<<<
 * 		(<_DynKatzCentrality*>(self._this)).update(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_17DynKatzCentrality_3update(PyObject *__pyx_v_self, PyObject *__pyx_v_ev); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17DynKatzCentrality_3update(PyObject *__pyx_v_self, PyObject *__pyx_v_ev) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("update (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17DynKatzCentrality_2update(((struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality *)__pyx_v_self), ((PyObject *)__pyx_v_ev));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17DynKatzCentrality_2update(struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality *__pyx_v_self, PyObject *__pyx_v_ev) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum NetworKit::GraphEvent::Type __pyx_t_2;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_3;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_4;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_5;
  NetworKit::GraphEvent __pyx_t_6;
  __Pyx_RefNannySetupContext("update", 0);

  /* "networkit/_NetworKit.pyx":7774
 * 
 * 	def update(self, ev):
 * 		(<_DynKatzCentrality*>(self._this)).update(_GraphEvent(ev.type, ev.u, ev.v, ev.w))             # <<<<<<<<<<<<<<
 * 
 * 	def updateBatch(self, batch):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum NetworKit::GraphEvent::Type)__Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 7774, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_u); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_As_uint64_t(__pyx_t_1); if (unlikely((__pyx_t_3 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7774, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_v); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyInt_As_uint64_t(__pyx_t_1); if (unlikely((__pyx_t_4 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7774, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_w); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 7774, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  try {
    __pyx_t_6 = NetworKit::GraphEvent(__pyx_t_2, __pyx_t_3, __pyx_t_4, __pyx_t_5);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7774, __pyx_L1_error)
  }
  try {
    ((NetworKit::DynKatzCentrality *)__pyx_v_self->__pyx_base.__pyx_base._this)->update(__pyx_t_6);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7774, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":7773
 * 		self._this = new _DynKatzCentrality(G._this, k, groupOnly, tolerance)
 * 
 * 	def update(self, ev):             # <<<<<<<<<<<<<<
 * 		(<_DynKatzCentrality*>(self._this)).update(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynKatzCentrality.update", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7776
 * 		(<_DynKatzCentrality*>(self._this)).update(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 
 * 	def updateBatch(self, batch):             # <<<<<<<<<<<<<<
 * 		cdef vector[_GraphEvent] _batch
 * 		for ev in batch:
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_17DynKatzCentrality_5updateBatch(PyObject *__pyx_v_self, PyObject *__pyx_v_batch); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17DynKatzCentrality_5updateBatch(PyObject *__pyx_v_self, PyObject *__pyx_v_batch) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("updateBatch (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17DynKatzCentrality_4updateBatch(((struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality *)__pyx_v_self), ((PyObject *)__pyx_v_batch));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17DynKatzCentrality_4updateBatch(struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality *__pyx_v_self, PyObject *__pyx_v_batch) {
  std::vector<NetworKit::GraphEvent>  __pyx_v__batch;
  PyObject *__pyx_v_ev = 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;
  enum NetworKit::GraphEvent::Type __pyx_t_5;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_6;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_7;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_8;
  NetworKit::GraphEvent __pyx_t_9;
  __Pyx_RefNannySetupContext("updateBatch", 0);

  /* "networkit/_NetworKit.pyx":7778
 * 	def updateBatch(self, batch):
 * 		cdef vector[_GraphEvent] _batch
 * 		for ev in batch:             # <<<<<<<<<<<<<<
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		(<_DynKatzCentrality*>(self._this)).updateBatch(_batch)
 */
  if (likely(PyList_CheckExact(__pyx_v_batch)) || PyTuple_CheckExact(__pyx_v_batch)) {
    __pyx_t_1 = __pyx_v_batch; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_batch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7778, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 7778, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7778, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 7778, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7778, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 7778, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_ev, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "networkit/_NetworKit.pyx":7779
 * 		cdef vector[_GraphEvent] _batch
 * 		for ev in batch:
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))             # <<<<<<<<<<<<<<
 * 		(<_DynKatzCentrality*>(self._this)).updateBatch(_batch)
 * 
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7779, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = ((enum NetworKit::GraphEvent::Type)__Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 7779, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_u); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7779, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyInt_As_uint64_t(__pyx_t_4); if (unlikely((__pyx_t_6 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7779, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_v); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7779, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = __Pyx_PyInt_As_uint64_t(__pyx_t_4); if (unlikely((__pyx_t_7 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7779, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_w); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7779, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_8 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 7779, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    try {
      __pyx_t_9 = NetworKit::GraphEvent(__pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 7779, __pyx_L1_error)
    }
    try {
      __pyx_v__batch.push_back(__pyx_t_9);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 7779, __pyx_L1_error)
    }

    /* "networkit/_NetworKit.pyx":7778
 * 	def updateBatch(self, batch):
 * 		cdef vector[_GraphEvent] _batch
 * 		for ev in batch:             # <<<<<<<<<<<<<<
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		(<_DynKatzCentrality*>(self._this)).updateBatch(_batch)
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":7780
 * 		for ev in batch:
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		(<_DynKatzCentrality*>(self._this)).updateBatch(_batch)             # <<<<<<<<<<<<<<
 * 
 * 	def top(self, n=0):
 */
  try {
    ((NetworKit::DynKatzCentrality *)__pyx_v_self->__pyx_base.__pyx_base._this)->updateBatch(__pyx_v__batch);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7780, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":7776
 * 		(<_DynKatzCentrality*>(self._this)).update(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 
 * 	def updateBatch(self, batch):             # <<<<<<<<<<<<<<
 * 		cdef vector[_GraphEvent] _batch
 * 		for ev in batch:
 */

  /* 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_AddTraceback("networkit._NetworKit.DynKatzCentrality.updateBatch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7782
 * 		(<_DynKatzCentrality*>(self._this)).updateBatch(_batch)
 * 
 * 	def top(self, n=0):             # <<<<<<<<<<<<<<
 * 		return (<_DynKatzCentrality*>(self._this)).top(n)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_17DynKatzCentrality_7top(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17DynKatzCentrality_7top(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_n = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("top (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,0};
    PyObject* values[1] = {0};
    values[0] = ((PyObject *)__pyx_int_0);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "top") < 0)) __PYX_ERR(0, 7782, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_n = values[0];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("top", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7782, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynKatzCentrality.top", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17DynKatzCentrality_6top(((struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality *)__pyx_v_self), __pyx_v_n);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17DynKatzCentrality_6top(struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality *__pyx_v_self, PyObject *__pyx_v_n) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("top", 0);

  /* "networkit/_NetworKit.pyx":7783
 * 
 * 	def top(self, n=0):
 * 		return (<_DynKatzCentrality*>(self._this)).top(n)             # <<<<<<<<<<<<<<
 * 
 * 	def bound(self, v):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_n); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7783, __pyx_L1_error)
  try {
    __pyx_t_2 = ((NetworKit::DynKatzCentrality *)__pyx_v_self->__pyx_base.__pyx_base._this)->top(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7783, __pyx_L1_error)
  }
  __pyx_t_3 = __Pyx_PyInt_From_uint64_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7782
 * 		(<_DynKatzCentrality*>(self._this)).updateBatch(_batch)
 * 
 * 	def top(self, n=0):             # <<<<<<<<<<<<<<
 * 		return (<_DynKatzCentrality*>(self._this)).top(n)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.DynKatzCentrality.top", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7785
 * 		return (<_DynKatzCentrality*>(self._this)).top(n)
 * 
 * 	def bound(self, v):             # <<<<<<<<<<<<<<
 * 		return (<_DynKatzCentrality*>(self._this)).bound(v)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_17DynKatzCentrality_9bound(PyObject *__pyx_v_self, PyObject *__pyx_v_v); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17DynKatzCentrality_9bound(PyObject *__pyx_v_self, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("bound (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17DynKatzCentrality_8bound(((struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality *)__pyx_v_self), ((PyObject *)__pyx_v_v));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17DynKatzCentrality_8bound(struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality *__pyx_v_self, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  double __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("bound", 0);

  /* "networkit/_NetworKit.pyx":7786
 * 
 * 	def bound(self, v):
 * 		return (<_DynKatzCentrality*>(self._this)).bound(v)             # <<<<<<<<<<<<<<
 * 
 * 	def areDistinguished(self, u, v):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7786, __pyx_L1_error)
  try {
    __pyx_t_2 = ((NetworKit::DynKatzCentrality *)__pyx_v_self->__pyx_base.__pyx_base._this)->bound(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7786, __pyx_L1_error)
  }
  __pyx_t_3 = PyFloat_FromDouble(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7785
 * 		return (<_DynKatzCentrality*>(self._this)).top(n)
 * 
 * 	def bound(self, v):             # <<<<<<<<<<<<<<
 * 		return (<_DynKatzCentrality*>(self._this)).bound(v)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.DynKatzCentrality.bound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7788
 * 		return (<_DynKatzCentrality*>(self._this)).bound(v)
 * 
 * 	def areDistinguished(self, u, v):             # <<<<<<<<<<<<<<
 * 		return (<_DynKatzCentrality*>(self._this)).areDistinguished(u, v)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_17DynKatzCentrality_11areDistinguished(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17DynKatzCentrality_11areDistinguished(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_u = 0;
  PyObject *__pyx_v_v = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("areDistinguished (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("areDistinguished", 1, 2, 2, 1); __PYX_ERR(0, 7788, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "areDistinguished") < 0)) __PYX_ERR(0, 7788, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = values[0];
    __pyx_v_v = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("areDistinguished", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7788, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynKatzCentrality.areDistinguished", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17DynKatzCentrality_10areDistinguished(((struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17DynKatzCentrality_10areDistinguished(struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_2;
  bool __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("areDistinguished", 0);

  /* "networkit/_NetworKit.pyx":7789
 * 
 * 	def areDistinguished(self, u, v):
 * 		return (<_DynKatzCentrality*>(self._this)).areDistinguished(u, v)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/centrality/DynTopHarmonicCloseness.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7789, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7789, __pyx_L1_error)
  try {
    __pyx_t_3 = ((NetworKit::DynKatzCentrality *)__pyx_v_self->__pyx_base.__pyx_base._this)->areDistinguished(__pyx_t_1, __pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7789, __pyx_L1_error)
  }
  __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7788
 * 		return (<_DynKatzCentrality*>(self._this)).bound(v)
 * 
 * 	def areDistinguished(self, u, v):             # <<<<<<<<<<<<<<
 * 		return (<_DynKatzCentrality*>(self._this)).areDistinguished(u, v)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("networkit._NetworKit.DynKatzCentrality.areDistinguished", __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_9networkit_10_NetworKit_17DynKatzCentrality_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17DynKatzCentrality_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17DynKatzCentrality_12__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17DynKatzCentrality_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__276, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynKatzCentrality.__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_9networkit_10_NetworKit_17DynKatzCentrality_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17DynKatzCentrality_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17DynKatzCentrality_14__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17DynKatzCentrality_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__277, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynKatzCentrality.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7821
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self,  Graph G, k=1, useBFSbound=False):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _DynTopHarmonicCloseness(G._this, k, useBFSbound)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_23DynTopHarmonicCloseness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_23DynTopHarmonicCloseness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_k = 0;
  PyObject *__pyx_v_useBFSbound = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_k,&__pyx_n_s_useBFSbound,0};
    PyObject* values[3] = {0,0,0};
    values[1] = ((PyObject *)__pyx_int_1);
    values[2] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_useBFSbound);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7821, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_k = values[1];
    __pyx_v_useBFSbound = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7821, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynTopHarmonicCloseness.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 7821, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23DynTopHarmonicCloseness___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *)__pyx_v_self), __pyx_v_G, __pyx_v_k, __pyx_v_useBFSbound);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_23DynTopHarmonicCloseness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_k, PyObject *__pyx_v_useBFSbound) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  bool __pyx_t_2;
  NetworKit::DynTopHarmonicCloseness *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":7822
 * 
 * 	def __cinit__(self,  Graph G, k=1, useBFSbound=False):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _DynTopHarmonicCloseness(G._this, k, useBFSbound)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":7823
 * 	def __cinit__(self,  Graph G, k=1, useBFSbound=False):
 * 		self._G = G
 * 		self._this = new _DynTopHarmonicCloseness(G._this, k, useBFSbound)             # <<<<<<<<<<<<<<
 * 
 * 	def ranking(self, includeTrail = False):
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_k); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7823, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_useBFSbound); if (unlikely((__pyx_t_2 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7823, __pyx_L1_error)
  try {
    __pyx_t_3 = new NetworKit::DynTopHarmonicCloseness(__pyx_v_G->_this, __pyx_t_1, __pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7823, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_3;

  /* "networkit/_NetworKit.pyx":7821
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self,  Graph G, k=1, useBFSbound=False):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _DynTopHarmonicCloseness(G._this, k, useBFSbound)
 */

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

/* "networkit/_NetworKit.pyx":7825
 * 		self._this = new _DynTopHarmonicCloseness(G._this, k, useBFSbound)
 * 
 * 	def ranking(self, includeTrail = False):             # <<<<<<<<<<<<<<
 * 		""" Returns the ranking of the k most central nodes in the graph.
 * 			WARNING: closeness centrality of some nodes below the top-k could be equal
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_23DynTopHarmonicCloseness_3ranking(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_23DynTopHarmonicCloseness_2ranking[] = " Returns the ranking of the k most central nodes in the graph.\n\t\t\tWARNING: closeness centrality of some nodes below the top-k could be equal\n\t\t  \tto the k-th closeness, we call them trail. Set the parameter includeTrail\n\t\t  \tto true to also include those nodes but consider that the resulting vector\n\t\t  \tcould be longer than k.\n\n\t\tParameters\n\t\t----------\n\t\tincludeTrail: Whether or not to include trail nodes.\n\n\t\tReturns\n\t\t-------\n\t\tvector\n\t\t\t\tThe ranking.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_23DynTopHarmonicCloseness_3ranking(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_includeTrail = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("ranking (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_includeTrail,0};
    PyObject* values[1] = {0};
    values[0] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_includeTrail);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "ranking") < 0)) __PYX_ERR(0, 7825, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_includeTrail = values[0];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("ranking", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7825, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynTopHarmonicCloseness.ranking", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23DynTopHarmonicCloseness_2ranking(((struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *)__pyx_v_self), __pyx_v_includeTrail);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_23DynTopHarmonicCloseness_2ranking(struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *__pyx_v_self, PyObject *__pyx_v_includeTrail) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_edgeweight> >  __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("ranking", 0);

  /* "networkit/_NetworKit.pyx":7841
 * 				The ranking.
 * 		"""
 * 		return (<_DynTopHarmonicCloseness*>(self._this)).ranking(includeTrail)             # <<<<<<<<<<<<<<
 * 
 * 	def topkNodesList(self, includeTrail = False):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_includeTrail); if (unlikely((__pyx_t_1 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7841, __pyx_L1_error)
  try {
    __pyx_t_2 = ((NetworKit::DynTopHarmonicCloseness *)__pyx_v_self->__pyx_base._this)->ranking(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7841, __pyx_L1_error)
  }
  __pyx_t_3 = __pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_edgeweight_3e___(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7825
 * 		self._this = new _DynTopHarmonicCloseness(G._this, k, useBFSbound)
 * 
 * 	def ranking(self, includeTrail = False):             # <<<<<<<<<<<<<<
 * 		""" Returns the ranking of the k most central nodes in the graph.
 * 			WARNING: closeness centrality of some nodes below the top-k could be equal
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.DynTopHarmonicCloseness.ranking", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7843
 * 		return (<_DynTopHarmonicCloseness*>(self._this)).ranking(includeTrail)
 * 
 * 	def topkNodesList(self, includeTrail = False):             # <<<<<<<<<<<<<<
 * 		""" Returns a list with the k nodes with highest harmonic closeness.
 * 			WARNING: closeness centrality of some nodes below the top-k could be equal
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_23DynTopHarmonicCloseness_5topkNodesList(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_23DynTopHarmonicCloseness_4topkNodesList[] = " Returns a list with the k nodes with highest harmonic closeness.\n\t\t\tWARNING: closeness centrality of some nodes below the top-k could be equal\n\t\t\tto the k-th closeness, we call them trail. Set the parameter includeTrail\n\t\t\tto true to also include those nodes but consider that the resulting vector\n\t\t\tcould be longer than k.\n\n\t\tParameters\n\t\t----------\n\t\tincludeTrail: Whether or not to include trail nodes.\n\n\t\tReturns\n\t\t-------\n\t\tvector\n\t\t\tThe k nodes with highest harmonic closeness.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_23DynTopHarmonicCloseness_5topkNodesList(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_includeTrail = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("topkNodesList (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_includeTrail,0};
    PyObject* values[1] = {0};
    values[0] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_includeTrail);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "topkNodesList") < 0)) __PYX_ERR(0, 7843, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_includeTrail = values[0];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("topkNodesList", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7843, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynTopHarmonicCloseness.topkNodesList", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23DynTopHarmonicCloseness_4topkNodesList(((struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *)__pyx_v_self), __pyx_v_includeTrail);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_23DynTopHarmonicCloseness_4topkNodesList(struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *__pyx_v_self, PyObject *__pyx_v_includeTrail) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("topkNodesList", 0);

  /* "networkit/_NetworKit.pyx":7859
 * 			The k nodes with highest harmonic closeness.
 * 		"""
 * 		return (<_DynTopHarmonicCloseness*>(self._this)).topkNodesList(includeTrail)             # <<<<<<<<<<<<<<
 * 
 * 	def topkScoresList(self, includeTrail = False):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_includeTrail); if (unlikely((__pyx_t_1 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7859, __pyx_L1_error)
  try {
    __pyx_t_2 = ((NetworKit::DynTopHarmonicCloseness *)__pyx_v_self->__pyx_base._this)->topkNodesList(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7859, __pyx_L1_error)
  }
  __pyx_t_3 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7843
 * 		return (<_DynTopHarmonicCloseness*>(self._this)).ranking(includeTrail)
 * 
 * 	def topkNodesList(self, includeTrail = False):             # <<<<<<<<<<<<<<
 * 		""" Returns a list with the k nodes with highest harmonic closeness.
 * 			WARNING: closeness centrality of some nodes below the top-k could be equal
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.DynTopHarmonicCloseness.topkNodesList", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7861
 * 		return (<_DynTopHarmonicCloseness*>(self._this)).topkNodesList(includeTrail)
 * 
 * 	def topkScoresList(self, includeTrail = False):             # <<<<<<<<<<<<<<
 * 		""" Returns a list with the scores of the k nodes with highest harmonic closeness.
 * 			WARNING: closeness centrality of some nodes below the top-k could
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_23DynTopHarmonicCloseness_7topkScoresList(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_23DynTopHarmonicCloseness_6topkScoresList[] = " Returns a list with the scores of the k nodes with highest harmonic closeness.\n\t\t\tWARNING: closeness centrality of some nodes below the top-k could\n\t\t  \tbe equal to the k-th closeness, we call them trail. Set the parameter\n\t\t  \tincludeTrail to true to also include those centrality values but consider\n\t\t  \tthat the resulting vector could be longer than k.\n\n\t\tParameters\n\t\t----------\n\t\tincludeTrail: Whether or not to include trail centrality value.\n\n\t\tReturns\n\t\t-------\n\t\tvector\n\t\t\tThe k highest closeness harmonic scores.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_23DynTopHarmonicCloseness_7topkScoresList(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_includeTrail = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("topkScoresList (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_includeTrail,0};
    PyObject* values[1] = {0};
    values[0] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_includeTrail);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "topkScoresList") < 0)) __PYX_ERR(0, 7861, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_includeTrail = values[0];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("topkScoresList", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7861, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynTopHarmonicCloseness.topkScoresList", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23DynTopHarmonicCloseness_6topkScoresList(((struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *)__pyx_v_self), __pyx_v_includeTrail);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_23DynTopHarmonicCloseness_6topkScoresList(struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *__pyx_v_self, PyObject *__pyx_v_includeTrail) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  std::vector<__pyx_t_9networkit_10_NetworKit_edgeweight>  __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("topkScoresList", 0);

  /* "networkit/_NetworKit.pyx":7877
 * 			The k highest closeness harmonic scores.
 * 		"""
 * 		return (<_DynTopHarmonicCloseness*>(self._this)).topkScoresList(includeTrail)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_includeTrail); if (unlikely((__pyx_t_1 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7877, __pyx_L1_error)
  try {
    __pyx_t_2 = ((NetworKit::DynTopHarmonicCloseness *)__pyx_v_self->__pyx_base._this)->topkScoresList(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7877, __pyx_L1_error)
  }
  __pyx_t_3 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_edgeweight(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7861
 * 		return (<_DynTopHarmonicCloseness*>(self._this)).topkNodesList(includeTrail)
 * 
 * 	def topkScoresList(self, includeTrail = False):             # <<<<<<<<<<<<<<
 * 		""" Returns a list with the scores of the k nodes with highest harmonic closeness.
 * 			WARNING: closeness centrality of some nodes below the top-k could
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.DynTopHarmonicCloseness.topkScoresList", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7886
 * 	event: A GrapEvent
 * 	"""
 * 	def update(self, ev):             # <<<<<<<<<<<<<<
 * 		(<_DynTopHarmonicCloseness*>(self._this)).update(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_23DynTopHarmonicCloseness_9update(PyObject *__pyx_v_self, PyObject *__pyx_v_ev); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_23DynTopHarmonicCloseness_9update(PyObject *__pyx_v_self, PyObject *__pyx_v_ev) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("update (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23DynTopHarmonicCloseness_8update(((struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *)__pyx_v_self), ((PyObject *)__pyx_v_ev));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_23DynTopHarmonicCloseness_8update(struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *__pyx_v_self, PyObject *__pyx_v_ev) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum NetworKit::GraphEvent::Type __pyx_t_2;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_3;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_4;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_5;
  NetworKit::GraphEvent __pyx_t_6;
  __Pyx_RefNannySetupContext("update", 0);

  /* "networkit/_NetworKit.pyx":7887
 * 	"""
 * 	def update(self, ev):
 * 		(<_DynTopHarmonicCloseness*>(self._this)).update(_GraphEvent(ev.type, ev.u, ev.v, ev.w))             # <<<<<<<<<<<<<<
 * 
 * 	""" Updates the list of the k nodes with the highest harmonic closeness in G
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum NetworKit::GraphEvent::Type)__Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 7887, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_u); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_As_uint64_t(__pyx_t_1); if (unlikely((__pyx_t_3 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7887, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_v); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyInt_As_uint64_t(__pyx_t_1); if (unlikely((__pyx_t_4 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7887, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_w); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 7887, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  try {
    __pyx_t_6 = NetworKit::GraphEvent(__pyx_t_2, __pyx_t_3, __pyx_t_4, __pyx_t_5);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7887, __pyx_L1_error)
  }
  try {
    ((NetworKit::DynTopHarmonicCloseness *)__pyx_v_self->__pyx_base._this)->update(__pyx_t_6);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7887, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":7886
 * 	event: A GrapEvent
 * 	"""
 * 	def update(self, ev):             # <<<<<<<<<<<<<<
 * 		(<_DynTopHarmonicCloseness*>(self._this)).update(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynTopHarmonicCloseness.update", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7896
 * 	batch: A GraphEvent vector
 * 	"""
 * 	def updateBatch(self, batch):             # <<<<<<<<<<<<<<
 * 		cdef vector[_GraphEvent] _batch
 * 		for ev in batch:
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_23DynTopHarmonicCloseness_11updateBatch(PyObject *__pyx_v_self, PyObject *__pyx_v_batch); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_23DynTopHarmonicCloseness_11updateBatch(PyObject *__pyx_v_self, PyObject *__pyx_v_batch) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("updateBatch (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23DynTopHarmonicCloseness_10updateBatch(((struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *)__pyx_v_self), ((PyObject *)__pyx_v_batch));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_23DynTopHarmonicCloseness_10updateBatch(struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *__pyx_v_self, PyObject *__pyx_v_batch) {
  std::vector<NetworKit::GraphEvent>  __pyx_v__batch;
  PyObject *__pyx_v_ev = 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;
  enum NetworKit::GraphEvent::Type __pyx_t_5;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_6;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_7;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_8;
  NetworKit::GraphEvent __pyx_t_9;
  __Pyx_RefNannySetupContext("updateBatch", 0);

  /* "networkit/_NetworKit.pyx":7898
 * 	def updateBatch(self, batch):
 * 		cdef vector[_GraphEvent] _batch
 * 		for ev in batch:             # <<<<<<<<<<<<<<
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		(<_DynTopHarmonicCloseness*>(self._this)).updateBatch(_batch)
 */
  if (likely(PyList_CheckExact(__pyx_v_batch)) || PyTuple_CheckExact(__pyx_v_batch)) {
    __pyx_t_1 = __pyx_v_batch; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_batch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7898, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7898, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 7898, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7898, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 7898, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7898, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 7898, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_ev, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "networkit/_NetworKit.pyx":7899
 * 		cdef vector[_GraphEvent] _batch
 * 		for ev in batch:
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))             # <<<<<<<<<<<<<<
 * 		(<_DynTopHarmonicCloseness*>(self._this)).updateBatch(_batch)
 * 
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = ((enum NetworKit::GraphEvent::Type)__Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 7899, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_u); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyInt_As_uint64_t(__pyx_t_4); if (unlikely((__pyx_t_6 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7899, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_v); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = __Pyx_PyInt_As_uint64_t(__pyx_t_4); if (unlikely((__pyx_t_7 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7899, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_w); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_8 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 7899, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    try {
      __pyx_t_9 = NetworKit::GraphEvent(__pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 7899, __pyx_L1_error)
    }
    try {
      __pyx_v__batch.push_back(__pyx_t_9);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 7899, __pyx_L1_error)
    }

    /* "networkit/_NetworKit.pyx":7898
 * 	def updateBatch(self, batch):
 * 		cdef vector[_GraphEvent] _batch
 * 		for ev in batch:             # <<<<<<<<<<<<<<
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		(<_DynTopHarmonicCloseness*>(self._this)).updateBatch(_batch)
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":7900
 * 		for ev in batch:
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		(<_DynTopHarmonicCloseness*>(self._this)).updateBatch(_batch)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  try {
    ((NetworKit::DynTopHarmonicCloseness *)__pyx_v_self->__pyx_base._this)->updateBatch(__pyx_v__batch);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7900, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":7896
 * 	batch: A GraphEvent vector
 * 	"""
 * 	def updateBatch(self, batch):             # <<<<<<<<<<<<<<
 * 		cdef vector[_GraphEvent] _batch
 * 		for ev in batch:
 */

  /* 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_AddTraceback("networkit._NetworKit.DynTopHarmonicCloseness.updateBatch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ev);
  __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_9networkit_10_NetworKit_23DynTopHarmonicCloseness_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_23DynTopHarmonicCloseness_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23DynTopHarmonicCloseness_12__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_23DynTopHarmonicCloseness_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__278, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynTopHarmonicCloseness.__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_9networkit_10_NetworKit_23DynTopHarmonicCloseness_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_23DynTopHarmonicCloseness_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23DynTopHarmonicCloseness_14__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_23DynTopHarmonicCloseness_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__279, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynTopHarmonicCloseness.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7936
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G, k = 1, countGroupNodes = False):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _GroupDegree(G._this, k, countGroupNodes)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_11GroupDegree_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_11GroupDegree_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_k = 0;
  PyObject *__pyx_v_countGroupNodes = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_k,&__pyx_n_s_countGroupNodes,0};
    PyObject* values[3] = {0,0,0};
    values[1] = ((PyObject *)__pyx_int_1);
    values[2] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_countGroupNodes);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 7936, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_k = values[1];
    __pyx_v_countGroupNodes = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7936, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GroupDegree.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 7936, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11GroupDegree___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_GroupDegree *)__pyx_v_self), __pyx_v_G, __pyx_v_k, __pyx_v_countGroupNodes);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_11GroupDegree___cinit__(struct __pyx_obj_9networkit_10_NetworKit_GroupDegree *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_k, PyObject *__pyx_v_countGroupNodes) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  bool __pyx_t_2;
  NetworKit::GroupDegree *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":7937
 * 
 * 	def __cinit__(self, Graph G, k = 1, countGroupNodes = False):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _GroupDegree(G._this, k, countGroupNodes)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":7938
 * 	def __cinit__(self, Graph G, k = 1, countGroupNodes = False):
 * 		self._G = G
 * 		self._this = new _GroupDegree(G._this, k, countGroupNodes)             # <<<<<<<<<<<<<<
 * 
 * 	def groupMaxDegree(self):
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_k); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7938, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_countGroupNodes); if (unlikely((__pyx_t_2 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7938, __pyx_L1_error)
  try {
    __pyx_t_3 = new NetworKit::GroupDegree(__pyx_v_G->_this, __pyx_t_1, __pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7938, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_3;

  /* "networkit/_NetworKit.pyx":7936
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G, k = 1, countGroupNodes = False):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _GroupDegree(G._this, k, countGroupNodes)
 */

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

/* "networkit/_NetworKit.pyx":7940
 * 		self._this = new _GroupDegree(G._this, k, countGroupNodes)
 * 
 * 	def groupMaxDegree(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the group with maximum degree centrality.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_11GroupDegree_3groupMaxDegree(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_11GroupDegree_2groupMaxDegree[] = "\n\t\tReturns the group with maximum degree centrality.\n\t\tReturns\n\t\t-------\n\t\tvector\n\t\t\tThe group of k nodes with highest degree centrality.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_11GroupDegree_3groupMaxDegree(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("groupMaxDegree (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11GroupDegree_2groupMaxDegree(((struct __pyx_obj_9networkit_10_NetworKit_GroupDegree *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11GroupDegree_2groupMaxDegree(struct __pyx_obj_9networkit_10_NetworKit_GroupDegree *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("groupMaxDegree", 0);

  /* "networkit/_NetworKit.pyx":7948
 * 			The group of k nodes with highest degree centrality.
 * 		"""
 * 		return (<_GroupDegree*>(self._this)).groupMaxDegree()             # <<<<<<<<<<<<<<
 * 
 * 	def getScore(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::GroupDegree *)__pyx_v_self->__pyx_base._this)->groupMaxDegree();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7948, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7948, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7940
 * 		self._this = new _GroupDegree(G._this, k, countGroupNodes)
 * 
 * 	def groupMaxDegree(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the group with maximum degree centrality.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GroupDegree.groupMaxDegree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7950
 * 		return (<_GroupDegree*>(self._this)).groupMaxDegree()
 * 
 * 	def getScore(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the score of the group with maximum degree centrality (i.e. the
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_11GroupDegree_5getScore(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_11GroupDegree_4getScore[] = "\n\t\tReturns the score of the group with maximum degree centrality (i.e. the\n\t\tnumber of nodes outside the group that can be reached in one hop from at\n\t\tleast one node in the group).\n\n\t\tReturns\n\t\t-------\n\t\tcount\n\t\t\tThe number of nodes outside the group that can be reached in one hop\n\t\t\tfrom at least one node in the group.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_11GroupDegree_5getScore(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getScore (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11GroupDegree_4getScore(((struct __pyx_obj_9networkit_10_NetworKit_GroupDegree *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11GroupDegree_4getScore(struct __pyx_obj_9networkit_10_NetworKit_GroupDegree *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getScore", 0);

  /* "networkit/_NetworKit.pyx":7962
 * 			from at least one node in the group.
 * 		"""
 * 		return (<_GroupDegree*>(self._this)).getScore()             # <<<<<<<<<<<<<<
 * 
 * 	def scoreOfGroup(self, vector[node] group):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::GroupDegree *)__pyx_v_self->__pyx_base._this)->getScore();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7962, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7950
 * 		return (<_GroupDegree*>(self._this)).groupMaxDegree()
 * 
 * 	def getScore(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the score of the group with maximum degree centrality (i.e. the
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GroupDegree.getScore", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":7964
 * 		return (<_GroupDegree*>(self._this)).getScore()
 * 
 * 	def scoreOfGroup(self, vector[node] group):             # <<<<<<<<<<<<<<
 * 			"""
 * 			Returns the score of the given group.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_11GroupDegree_7scoreOfGroup(PyObject *__pyx_v_self, PyObject *__pyx_arg_group); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_11GroupDegree_6scoreOfGroup[] = "\n\t\t\tReturns the score of the given group.\n\n\t\t\tParameters\n\t\t\t----------\n\t\t\tgroup : set of nodes\n\n\t\t\tReturns\n\t\t\t-------\n\t\t\tcount\n\t\t\t\t\tThe score of the given group.\n\t\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_11GroupDegree_7scoreOfGroup(PyObject *__pyx_v_self, PyObject *__pyx_arg_group) {
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_group;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("scoreOfGroup (wrapper)", 0);
  assert(__pyx_arg_group); {
    __pyx_v_group = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_node(__pyx_arg_group); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 7964, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GroupDegree.scoreOfGroup", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11GroupDegree_6scoreOfGroup(((struct __pyx_obj_9networkit_10_NetworKit_GroupDegree *)__pyx_v_self), ((std::vector<__pyx_t_9networkit_10_NetworKit_node> )__pyx_v_group));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11GroupDegree_6scoreOfGroup(struct __pyx_obj_9networkit_10_NetworKit_GroupDegree *__pyx_v_self, std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_group) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("scoreOfGroup", 0);

  /* "networkit/_NetworKit.pyx":7977
 * 					The score of the given group.
 * 			"""
 * 			return (<_GroupDegree*>(self._this)).scoreOfGroup(group)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::GroupDegree *)__pyx_v_self->__pyx_base._this)->scoreOfGroup(__pyx_v_group);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 7977, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":7964
 * 		return (<_GroupDegree*>(self._this)).getScore()
 * 
 * 	def scoreOfGroup(self, vector[node] group):             # <<<<<<<<<<<<<<
 * 			"""
 * 			Returns the score of the given group.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GroupDegree.scoreOfGroup", __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_9networkit_10_NetworKit_11GroupDegree_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_11GroupDegree_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11GroupDegree_8__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GroupDegree *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11GroupDegree_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GroupDegree *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__280, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GroupDegree.__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_9networkit_10_NetworKit_11GroupDegree_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_11GroupDegree_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11GroupDegree_10__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GroupDegree *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11GroupDegree_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GroupDegree *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__281, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GroupDegree.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8005
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self,  Graph G, k=1, H=0):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _GroupCloseness(G._this, k, H)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_14GroupCloseness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_14GroupCloseness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_k = 0;
  PyObject *__pyx_v_H = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_k,&__pyx_n_s_H,0};
    PyObject* values[3] = {0,0,0};
    values[1] = ((PyObject *)__pyx_int_1);
    values[2] = ((PyObject *)__pyx_int_0);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_H);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8005, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_k = values[1];
    __pyx_v_H = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8005, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GroupCloseness.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 8005, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14GroupCloseness___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness *)__pyx_v_self), __pyx_v_G, __pyx_v_k, __pyx_v_H);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_14GroupCloseness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_k, PyObject *__pyx_v_H) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_2;
  NetworKit::GroupCloseness *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":8006
 * 
 * 	def __cinit__(self,  Graph G, k=1, H=0):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _GroupCloseness(G._this, k, H)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":8007
 * 	def __cinit__(self,  Graph G, k=1, H=0):
 * 		self._G = G
 * 		self._this = new _GroupCloseness(G._this, k, H)             # <<<<<<<<<<<<<<
 * 
 * 	""" Returns group with highest closeness.
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_k); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8007, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_H); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8007, __pyx_L1_error)
  try {
    __pyx_t_3 = new NetworKit::GroupCloseness(__pyx_v_G->_this, __pyx_t_1, __pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8007, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_3;

  /* "networkit/_NetworKit.pyx":8005
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self,  Graph G, k=1, H=0):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _GroupCloseness(G._this, k, H)
 */

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

/* "networkit/_NetworKit.pyx":8015
 * 		The group of k nodes with highest closeness.
 * 	"""
 * 	def groupMaxCloseness(self):             # <<<<<<<<<<<<<<
 * 		return (<_GroupCloseness*>(self._this)).groupMaxCloseness()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_14GroupCloseness_3groupMaxCloseness(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14GroupCloseness_3groupMaxCloseness(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("groupMaxCloseness (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14GroupCloseness_2groupMaxCloseness(((struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14GroupCloseness_2groupMaxCloseness(struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("groupMaxCloseness", 0);

  /* "networkit/_NetworKit.pyx":8016
 * 	"""
 * 	def groupMaxCloseness(self):
 * 		return (<_GroupCloseness*>(self._this)).groupMaxCloseness()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::GroupCloseness *)__pyx_v_self->__pyx_base._this)->groupMaxCloseness();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8016, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":8015
 * 		The group of k nodes with highest closeness.
 * 	"""
 * 	def groupMaxCloseness(self):             # <<<<<<<<<<<<<<
 * 		return (<_GroupCloseness*>(self._this)).groupMaxCloseness()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GroupCloseness.groupMaxCloseness", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8021
 * 	""" Computes farness (i.e., inverse of the closeness) for a given group (stopping after H iterations if H > 0).
 * 	"""
 * 	def computeFarness(self, S, H=0):             # <<<<<<<<<<<<<<
 * 		return (<_GroupCloseness*>(self._this)).computeFarness(S, H)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_14GroupCloseness_5computeFarness(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14GroupCloseness_5computeFarness(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_S = 0;
  PyObject *__pyx_v_H = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("computeFarness (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_S,&__pyx_n_s_H,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)__pyx_int_0);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_S)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_H);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "computeFarness") < 0)) __PYX_ERR(0, 8021, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_S = values[0];
    __pyx_v_H = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("computeFarness", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8021, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GroupCloseness.computeFarness", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14GroupCloseness_4computeFarness(((struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness *)__pyx_v_self), __pyx_v_S, __pyx_v_H);

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14GroupCloseness_4computeFarness(struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness *__pyx_v_self, PyObject *__pyx_v_S, PyObject *__pyx_v_H) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_2;
  double __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("computeFarness", 0);

  /* "networkit/_NetworKit.pyx":8022
 * 	"""
 * 	def computeFarness(self, S, H=0):
 * 		return (<_GroupCloseness*>(self._this)).computeFarness(S, H)             # <<<<<<<<<<<<<<
 * 
 * 	def scoreOfGroup(self, group):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_node(__pyx_v_S); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 8022, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_H); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8022, __pyx_L1_error)
  try {
    __pyx_t_3 = ((NetworKit::GroupCloseness *)__pyx_v_self->__pyx_base._this)->computeFarness(__pyx_t_1, __pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8022, __pyx_L1_error)
  }
  __pyx_t_4 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":8021
 * 	""" Computes farness (i.e., inverse of the closeness) for a given group (stopping after H iterations if H > 0).
 * 	"""
 * 	def computeFarness(self, S, H=0):             # <<<<<<<<<<<<<<
 * 		return (<_GroupCloseness*>(self._this)).computeFarness(S, H)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("networkit._NetworKit.GroupCloseness.computeFarness", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8024
 * 		return (<_GroupCloseness*>(self._this)).computeFarness(S, H)
 * 
 * 	def scoreOfGroup(self, group):             # <<<<<<<<<<<<<<
 * 		"""
 * 			Computes the group closeness score of the given group.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_14GroupCloseness_7scoreOfGroup(PyObject *__pyx_v_self, PyObject *__pyx_v_group); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_14GroupCloseness_6scoreOfGroup[] = "\n\t\t\tComputes the group closeness score of the given group.\n\n\t\tParameters\n\t\t----------\n\t\tgroup: vector of nodes.\n\n\t\tReturns\n\t\t-------\n\t\tdouble\n\t\t    The group closeness score of the given group.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_14GroupCloseness_7scoreOfGroup(PyObject *__pyx_v_self, PyObject *__pyx_v_group) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("scoreOfGroup (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14GroupCloseness_6scoreOfGroup(((struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness *)__pyx_v_self), ((PyObject *)__pyx_v_group));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14GroupCloseness_6scoreOfGroup(struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness *__pyx_v_self, PyObject *__pyx_v_group) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_1;
  double __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("scoreOfGroup", 0);

  /* "networkit/_NetworKit.pyx":8037
 * 		    The group closeness score of the given group.
 * 		"""
 * 		return (<_GroupCloseness*>(self._this)).scoreOfGroup(group)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_node(__pyx_v_group); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 8037, __pyx_L1_error)
  try {
    __pyx_t_2 = ((NetworKit::GroupCloseness *)__pyx_v_self->__pyx_base._this)->scoreOfGroup(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8037, __pyx_L1_error)
  }
  __pyx_t_3 = PyFloat_FromDouble(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":8024
 * 		return (<_GroupCloseness*>(self._this)).computeFarness(S, H)
 * 
 * 	def scoreOfGroup(self, group):             # <<<<<<<<<<<<<<
 * 		"""
 * 			Computes the group closeness score of the given group.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.GroupCloseness.scoreOfGroup", __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_9networkit_10_NetworKit_14GroupCloseness_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14GroupCloseness_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14GroupCloseness_8__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14GroupCloseness_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__282, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GroupCloseness.__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_9networkit_10_NetworKit_14GroupCloseness_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14GroupCloseness_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14GroupCloseness_10__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14GroupCloseness_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__283, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GroupCloseness.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8068
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, bool_t normalized=False, bool_t outDeg = True, bool_t ignoreSelfLoops=True):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _DegreeCentrality(G._this, normalized, outDeg, ignoreSelfLoops)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_16DegreeCentrality_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_16DegreeCentrality_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  bool __pyx_v_normalized;
  bool __pyx_v_outDeg;
  bool __pyx_v_ignoreSelfLoops;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_normalized,&__pyx_n_s_outDeg,&__pyx_n_s_ignoreSelfLoops,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_normalized);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_outDeg);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ignoreSelfLoops);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8068, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    if (values[1]) {
      __pyx_v_normalized = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_normalized == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8068, __pyx_L3_error)
    } else {
      __pyx_v_normalized = ((bool)0);
    }
    if (values[2]) {
      __pyx_v_outDeg = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_outDeg == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8068, __pyx_L3_error)
    } else {
      __pyx_v_outDeg = ((bool)1);
    }
    if (values[3]) {
      __pyx_v_ignoreSelfLoops = __Pyx_PyObject_IsTrue(values[3]); if (unlikely((__pyx_v_ignoreSelfLoops == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8068, __pyx_L3_error)
    } else {
      __pyx_v_ignoreSelfLoops = ((bool)1);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8068, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DegreeCentrality.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 8068, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16DegreeCentrality___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_DegreeCentrality *)__pyx_v_self), __pyx_v_G, __pyx_v_normalized, __pyx_v_outDeg, __pyx_v_ignoreSelfLoops);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_16DegreeCentrality___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DegreeCentrality *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, bool __pyx_v_normalized, bool __pyx_v_outDeg, bool __pyx_v_ignoreSelfLoops) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::DegreeCentrality *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":8069
 * 
 * 	def __cinit__(self, Graph G, bool_t normalized=False, bool_t outDeg = True, bool_t ignoreSelfLoops=True):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _DegreeCentrality(G._this, normalized, outDeg, ignoreSelfLoops)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":8070
 * 	def __cinit__(self, Graph G, bool_t normalized=False, bool_t outDeg = True, bool_t ignoreSelfLoops=True):
 * 		self._G = G
 * 		self._this = new _DegreeCentrality(G._this, normalized, outDeg, ignoreSelfLoops)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  try {
    __pyx_t_1 = new NetworKit::DegreeCentrality(__pyx_v_G->_this, __pyx_v_normalized, __pyx_v_outDeg, __pyx_v_ignoreSelfLoops);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8070, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":8068
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, bool_t normalized=False, bool_t outDeg = True, bool_t ignoreSelfLoops=True):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _DegreeCentrality(G._this, normalized, outDeg, ignoreSelfLoops)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DegreeCentrality.__cinit__", __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_9networkit_10_NetworKit_16DegreeCentrality_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_16DegreeCentrality_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16DegreeCentrality_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DegreeCentrality *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_16DegreeCentrality_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DegreeCentrality *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__284, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DegreeCentrality.__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_9networkit_10_NetworKit_16DegreeCentrality_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_16DegreeCentrality_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16DegreeCentrality_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DegreeCentrality *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_16DegreeCentrality_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DegreeCentrality *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__285, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DegreeCentrality.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8098
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, normalized=False, computeEdgeCentrality=False):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _Betweenness(G._this, normalized, computeEdgeCentrality)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_11Betweenness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_11Betweenness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_normalized = 0;
  PyObject *__pyx_v_computeEdgeCentrality = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_normalized,&__pyx_n_s_computeEdgeCentrality,0};
    PyObject* values[3] = {0,0,0};
    values[1] = ((PyObject *)Py_False);
    values[2] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_normalized);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_computeEdgeCentrality);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8098, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_normalized = values[1];
    __pyx_v_computeEdgeCentrality = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8098, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Betweenness.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 8098, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11Betweenness___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_Betweenness *)__pyx_v_self), __pyx_v_G, __pyx_v_normalized, __pyx_v_computeEdgeCentrality);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_11Betweenness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_Betweenness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_normalized, PyObject *__pyx_v_computeEdgeCentrality) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  bool __pyx_t_2;
  NetworKit::Betweenness *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":8099
 * 
 * 	def __cinit__(self, Graph G, normalized=False, computeEdgeCentrality=False):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _Betweenness(G._this, normalized, computeEdgeCentrality)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":8100
 * 	def __cinit__(self, Graph G, normalized=False, computeEdgeCentrality=False):
 * 		self._G = G
 * 		self._this = new _Betweenness(G._this, normalized, computeEdgeCentrality)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_normalized); if (unlikely((__pyx_t_1 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8100, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_computeEdgeCentrality); if (unlikely((__pyx_t_2 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8100, __pyx_L1_error)
  try {
    __pyx_t_3 = new NetworKit::Betweenness(__pyx_v_G->_this, __pyx_t_1, __pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8100, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_3;

  /* "networkit/_NetworKit.pyx":8098
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, normalized=False, computeEdgeCentrality=False):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _Betweenness(G._this, normalized, computeEdgeCentrality)
 */

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

/* "networkit/_NetworKit.pyx":8103
 * 
 * 
 * 	def edgeScores(self):             # <<<<<<<<<<<<<<
 * 		""" Get a vector containing the betweenness score for each edge in the graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_11Betweenness_3edgeScores(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_11Betweenness_2edgeScores[] = " Get a vector containing the betweenness score for each edge in the graph.\n\n\t\tReturns\n\t\t-------\n\t\tvector\n\t\t\tThe betweenness scores calculated by run().\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_11Betweenness_3edgeScores(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("edgeScores (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11Betweenness_2edgeScores(((struct __pyx_obj_9networkit_10_NetworKit_Betweenness *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11Betweenness_2edgeScores(struct __pyx_obj_9networkit_10_NetworKit_Betweenness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<double>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("edgeScores", 0);

  /* "networkit/_NetworKit.pyx":8111
 * 			The betweenness scores calculated by run().
 * 		"""
 * 		return (<_Betweenness*>(self._this)).edgeScores()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::Betweenness *)__pyx_v_self->__pyx_base.__pyx_base._this)->edgeScores();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8111, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_double(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":8103
 * 
 * 
 * 	def edgeScores(self):             # <<<<<<<<<<<<<<
 * 		""" Get a vector containing the betweenness score for each edge in the graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Betweenness.edgeScores", __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_9networkit_10_NetworKit_11Betweenness_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_11Betweenness_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11Betweenness_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Betweenness *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11Betweenness_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Betweenness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__286, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Betweenness.__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_9networkit_10_NetworKit_11Betweenness_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_11Betweenness_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_11Betweenness_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Betweenness *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_11Betweenness_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Betweenness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__287, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Betweenness.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8138
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G, groupSize, epsilon):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _ApproxGroupBetweenness(G._this, groupSize, epsilon)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_22ApproxGroupBetweenness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_22ApproxGroupBetweenness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_groupSize = 0;
  PyObject *__pyx_v_epsilon = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_groupSize,&__pyx_n_s_epsilon,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_groupSize)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 1); __PYX_ERR(0, 8138, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_epsilon)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 2); __PYX_ERR(0, 8138, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8138, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_groupSize = values[1];
    __pyx_v_epsilon = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8138, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ApproxGroupBetweenness.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 8138, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22ApproxGroupBetweenness___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_ApproxGroupBetweenness *)__pyx_v_self), __pyx_v_G, __pyx_v_groupSize, __pyx_v_epsilon);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_22ApproxGroupBetweenness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ApproxGroupBetweenness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_groupSize, PyObject *__pyx_v_epsilon) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  double __pyx_t_2;
  NetworKit::ApproxGroupBetweenness *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":8139
 * 
 * 	def __cinit__(self, Graph G, groupSize, epsilon):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _ApproxGroupBetweenness(G._this, groupSize, epsilon)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":8140
 * 	def __cinit__(self, Graph G, groupSize, epsilon):
 * 		self._G = G
 * 		self._this = new _ApproxGroupBetweenness(G._this, groupSize, epsilon)             # <<<<<<<<<<<<<<
 * 
 * 	def groupMaxBetweenness(self):
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_groupSize); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8140, __pyx_L1_error)
  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_epsilon); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 8140, __pyx_L1_error)
  try {
    __pyx_t_3 = new NetworKit::ApproxGroupBetweenness(__pyx_v_G->_this, __pyx_t_1, __pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8140, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_3;

  /* "networkit/_NetworKit.pyx":8138
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G, groupSize, epsilon):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _ApproxGroupBetweenness(G._this, groupSize, epsilon)
 */

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

/* "networkit/_NetworKit.pyx":8142
 * 		self._this = new _ApproxGroupBetweenness(G._this, groupSize, epsilon)
 * 
 * 	def groupMaxBetweenness(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 			Get a vector of nodes containing the set of nodes with apporoximated
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22ApproxGroupBetweenness_3groupMaxBetweenness(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_22ApproxGroupBetweenness_2groupMaxBetweenness[] = "\n\t\t\tGet a vector of nodes containing the set of nodes with apporoximated\n\t\t\tmaximum group betweenness.\n\n\t\t\tReturns\n\t\t\t_______\n\t\t\tvector\n\t\t\t\tThe group of nodes with highest approximated group betweenness.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_22ApproxGroupBetweenness_3groupMaxBetweenness(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("groupMaxBetweenness (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22ApproxGroupBetweenness_2groupMaxBetweenness(((struct __pyx_obj_9networkit_10_NetworKit_ApproxGroupBetweenness *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22ApproxGroupBetweenness_2groupMaxBetweenness(struct __pyx_obj_9networkit_10_NetworKit_ApproxGroupBetweenness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("groupMaxBetweenness", 0);

  /* "networkit/_NetworKit.pyx":8152
 * 				The group of nodes with highest approximated group betweenness.
 * 		"""
 * 		return (<_ApproxGroupBetweenness*>(self._this)).groupMaxBetweenness()             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/centrality/Closeness.hpp>" namespace "NetworKit":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::ApproxGroupBetweenness *)__pyx_v_self->__pyx_base._this)->groupMaxBetweenness();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8152, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":8142
 * 		self._this = new _ApproxGroupBetweenness(G._this, groupSize, epsilon)
 * 
 * 	def groupMaxBetweenness(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 			Get a vector of nodes containing the set of nodes with apporoximated
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.ApproxGroupBetweenness.groupMaxBetweenness", __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_9networkit_10_NetworKit_22ApproxGroupBetweenness_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_22ApproxGroupBetweenness_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22ApproxGroupBetweenness_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ApproxGroupBetweenness *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22ApproxGroupBetweenness_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ApproxGroupBetweenness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__288, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ApproxGroupBetweenness.__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_9networkit_10_NetworKit_22ApproxGroupBetweenness_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_22ApproxGroupBetweenness_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22ApproxGroupBetweenness_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ApproxGroupBetweenness *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_22ApproxGroupBetweenness_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ApproxGroupBetweenness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__289, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ApproxGroupBetweenness.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8199
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, normalized, third):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		if isinstance(third, int):
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_9Closeness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_9Closeness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_normalized = 0;
  PyObject *__pyx_v_third = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_normalized,&__pyx_n_s_third,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_normalized)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 1); __PYX_ERR(0, 8199, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_third)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 2); __PYX_ERR(0, 8199, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8199, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_normalized = values[1];
    __pyx_v_third = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8199, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Closeness.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 8199, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Closeness___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_Closeness *)__pyx_v_self), __pyx_v_G, __pyx_v_normalized, __pyx_v_third);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_9Closeness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_Closeness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_normalized, PyObject *__pyx_v_third) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  enum NetworKit::ClosenessVariant __pyx_t_3;
  NetworKit::Closeness *__pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  bool __pyx_t_6;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":8200
 * 
 * 	def __cinit__(self, Graph G, normalized, third):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		if isinstance(third, int):
 * 			self._this = new _Closeness(G._this, normalized, <ClosenessVariant> third)
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":8201
 * 	def __cinit__(self, Graph G, normalized, third):
 * 		self._G = G
 * 		if isinstance(third, int):             # <<<<<<<<<<<<<<
 * 			self._this = new _Closeness(G._this, normalized, <ClosenessVariant> third)
 * 		elif isinstance(third, bool):
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_third); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":8202
 * 		self._G = G
 * 		if isinstance(third, int):
 * 			self._this = new _Closeness(G._this, normalized, <ClosenessVariant> third)             # <<<<<<<<<<<<<<
 * 		elif isinstance(third, bool):
 * 			self._this = new _Closeness(G._this, normalized, <bool_t> third)
 */
    __pyx_t_3 = ((enum NetworKit::ClosenessVariant)__Pyx_PyInt_As_enum__NetworKit_3a__3a_ClosenessVariant(__pyx_v_third)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 8202, __pyx_L1_error)
    try {
      __pyx_t_4 = new NetworKit::Closeness(__pyx_v_G->_this, __pyx_v_normalized, ((enum NetworKit::ClosenessVariant)__pyx_t_3));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 8202, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_4;

    /* "networkit/_NetworKit.pyx":8201
 * 	def __cinit__(self, Graph G, normalized, third):
 * 		self._G = G
 * 		if isinstance(third, int):             # <<<<<<<<<<<<<<
 * 			self._this = new _Closeness(G._this, normalized, <ClosenessVariant> third)
 * 		elif isinstance(third, bool):
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":8203
 * 		if isinstance(third, int):
 * 			self._this = new _Closeness(G._this, normalized, <ClosenessVariant> third)
 * 		elif isinstance(third, bool):             # <<<<<<<<<<<<<<
 * 			self._this = new _Closeness(G._this, normalized, <bool_t> third)
 * 		else:
 */
  __pyx_t_5 = ((PyObject*)&PyBool_Type);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_2 = PyObject_IsInstance(__pyx_v_third, __pyx_t_5); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 8203, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_1 = (__pyx_t_2 != 0);
  if (likely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":8204
 * 			self._this = new _Closeness(G._this, normalized, <ClosenessVariant> third)
 * 		elif isinstance(third, bool):
 * 			self._this = new _Closeness(G._this, normalized, <bool_t> third)             # <<<<<<<<<<<<<<
 * 		else:
 * 			raise Exception("Error: the third parameter must be either a bool or a ClosenessVariant")
 */
    __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_third); if (unlikely((__pyx_t_6 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8204, __pyx_L1_error)
    __pyx_t_5 = __Pyx_PyBool_FromLong(((bool)__pyx_t_6)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8204, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    try {
      __pyx_t_4 = new NetworKit::Closeness(__pyx_v_G->_this, __pyx_v_normalized, __pyx_t_5);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 8204, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_4;

    /* "networkit/_NetworKit.pyx":8203
 * 		if isinstance(third, int):
 * 			self._this = new _Closeness(G._this, normalized, <ClosenessVariant> third)
 * 		elif isinstance(third, bool):             # <<<<<<<<<<<<<<
 * 			self._this = new _Closeness(G._this, normalized, <bool_t> third)
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":8206
 * 			self._this = new _Closeness(G._this, normalized, <bool_t> third)
 * 		else:
 * 			raise Exception("Error: the third parameter must be either a bool or a ClosenessVariant")             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*else*/ {
    __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__290, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8206, __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(0, 8206, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":8199
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, normalized, third):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		if isinstance(third, int):
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("networkit._NetworKit.Closeness.__cinit__", __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_9networkit_10_NetworKit_9Closeness_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Closeness_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Closeness_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Closeness *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Closeness_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Closeness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__291, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Closeness.__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_9networkit_10_NetworKit_9Closeness_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Closeness_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Closeness_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Closeness *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Closeness_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Closeness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__292, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Closeness.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8234
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, normalized=True):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _HarmonicCloseness(G._this, normalized)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_17HarmonicCloseness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_17HarmonicCloseness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_normalized = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_normalized,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)Py_True);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_normalized);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8234, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_normalized = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8234, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.HarmonicCloseness.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 8234, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17HarmonicCloseness___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_HarmonicCloseness *)__pyx_v_self), __pyx_v_G, __pyx_v_normalized);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_17HarmonicCloseness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_HarmonicCloseness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_normalized) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  NetworKit::HarmonicCloseness *__pyx_t_2;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":8235
 * 
 * 	def __cinit__(self, Graph G, normalized=True):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _HarmonicCloseness(G._this, normalized)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":8236
 * 	def __cinit__(self, Graph G, normalized=True):
 * 		self._G = G
 * 		self._this = new _HarmonicCloseness(G._this, normalized)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_normalized); if (unlikely((__pyx_t_1 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8236, __pyx_L1_error)
  try {
    __pyx_t_2 = new NetworKit::HarmonicCloseness(__pyx_v_G->_this, __pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8236, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_2;

  /* "networkit/_NetworKit.pyx":8234
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, normalized=True):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _HarmonicCloseness(G._this, normalized)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.HarmonicCloseness.__cinit__", __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_9networkit_10_NetworKit_17HarmonicCloseness_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17HarmonicCloseness_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17HarmonicCloseness_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_HarmonicCloseness *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17HarmonicCloseness_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_HarmonicCloseness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__293, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.HarmonicCloseness.__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_9networkit_10_NetworKit_17HarmonicCloseness_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17HarmonicCloseness_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17HarmonicCloseness_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_HarmonicCloseness *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17HarmonicCloseness_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_HarmonicCloseness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__294, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.HarmonicCloseness.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8261
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, alpha=0.2, k=0):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _KPathCentrality(G._this, alpha, k)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_15KPathCentrality_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_15KPathCentrality_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_alpha = 0;
  PyObject *__pyx_v_k = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_alpha,&__pyx_n_s_k,0};
    PyObject* values[3] = {0,0,0};
    values[1] = ((PyObject *)__pyx_float_0_2);
    values[2] = ((PyObject *)__pyx_int_0);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_alpha);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8261, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_alpha = values[1];
    __pyx_v_k = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8261, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.KPathCentrality.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 8261, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15KPathCentrality___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_KPathCentrality *)__pyx_v_self), __pyx_v_G, __pyx_v_alpha, __pyx_v_k);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_15KPathCentrality___cinit__(struct __pyx_obj_9networkit_10_NetworKit_KPathCentrality *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_alpha, PyObject *__pyx_v_k) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_2;
  NetworKit::KPathCentrality *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":8262
 * 
 * 	def __cinit__(self, Graph G, alpha=0.2, k=0):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _KPathCentrality(G._this, alpha, k)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":8263
 * 	def __cinit__(self, Graph G, alpha=0.2, k=0):
 * 		self._G = G
 * 		self._this = new _KPathCentrality(G._this, alpha, k)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_alpha); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 8263, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_k); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8263, __pyx_L1_error)
  try {
    __pyx_t_3 = new NetworKit::KPathCentrality(__pyx_v_G->_this, __pyx_t_1, __pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8263, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_3;

  /* "networkit/_NetworKit.pyx":8261
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, alpha=0.2, k=0):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _KPathCentrality(G._this, alpha, k)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.KPathCentrality.__cinit__", __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_9networkit_10_NetworKit_15KPathCentrality_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15KPathCentrality_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15KPathCentrality_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_KPathCentrality *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15KPathCentrality_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_KPathCentrality *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__295, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.KPathCentrality.__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_9networkit_10_NetworKit_15KPathCentrality_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15KPathCentrality_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15KPathCentrality_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_KPathCentrality *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15KPathCentrality_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_KPathCentrality *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__296, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.KPathCentrality.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8292
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, alpha=0.2, beta=0.1, tol=1e-8):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _KatzCentrality(G._this, alpha, beta, tol)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_14KatzCentrality_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_14KatzCentrality_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_alpha = 0;
  PyObject *__pyx_v_beta = 0;
  PyObject *__pyx_v_tol = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_alpha,&__pyx_n_s_beta,&__pyx_n_s_tol,0};
    PyObject* values[4] = {0,0,0,0};
    values[1] = ((PyObject *)__pyx_float_0_2);
    values[2] = ((PyObject *)__pyx_float_0_1);
    values[3] = ((PyObject *)__pyx_float_1eneg_8);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_alpha);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_beta);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tol);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8292, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_alpha = values[1];
    __pyx_v_beta = values[2];
    __pyx_v_tol = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8292, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.KatzCentrality.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 8292, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14KatzCentrality___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_KatzCentrality *)__pyx_v_self), __pyx_v_G, __pyx_v_alpha, __pyx_v_beta, __pyx_v_tol);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_14KatzCentrality___cinit__(struct __pyx_obj_9networkit_10_NetworKit_KatzCentrality *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_alpha, PyObject *__pyx_v_beta, PyObject *__pyx_v_tol) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  double __pyx_t_2;
  double __pyx_t_3;
  NetworKit::KatzCentrality *__pyx_t_4;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":8293
 * 
 * 	def __cinit__(self, Graph G, alpha=0.2, beta=0.1, tol=1e-8):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _KatzCentrality(G._this, alpha, beta, tol)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":8294
 * 	def __cinit__(self, Graph G, alpha=0.2, beta=0.1, tol=1e-8):
 * 		self._G = G
 * 		self._this = new _KatzCentrality(G._this, alpha, beta, tol)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/dynamics/GraphDifference.hpp>":
 */
  __pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_alpha); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 8294, __pyx_L1_error)
  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_beta); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 8294, __pyx_L1_error)
  __pyx_t_3 = __pyx_PyFloat_AsDouble(__pyx_v_tol); if (unlikely((__pyx_t_3 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 8294, __pyx_L1_error)
  try {
    __pyx_t_4 = new NetworKit::KatzCentrality(__pyx_v_G->_this, __pyx_t_1, __pyx_t_2, __pyx_t_3);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8294, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_4;

  /* "networkit/_NetworKit.pyx":8292
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, alpha=0.2, beta=0.1, tol=1e-8):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _KatzCentrality(G._this, alpha, beta, tol)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.KatzCentrality.__cinit__", __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_9networkit_10_NetworKit_14KatzCentrality_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14KatzCentrality_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14KatzCentrality_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_KatzCentrality *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14KatzCentrality_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_KatzCentrality *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__297, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.KatzCentrality.__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_9networkit_10_NetworKit_14KatzCentrality_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14KatzCentrality_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14KatzCentrality_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_KatzCentrality *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_14KatzCentrality_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_KatzCentrality *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__298, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.KatzCentrality.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8331
 * 	cdef Graph _G1, _G2
 * 
 * 	def __cinit__(self, Graph G1, Graph G2):             # <<<<<<<<<<<<<<
 * 		self._this = new _GraphDifference(G1._this, G2._this)
 * 		self._G1 = G1
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_15GraphDifference_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_15GraphDifference_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G1 = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G2 = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G1,&__pyx_n_s_G2,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G1)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G2)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); __PYX_ERR(0, 8331, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8331, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G1 = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_G2 = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8331, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphDifference.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G1), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G1", 0))) __PYX_ERR(0, 8331, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G2), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G2", 0))) __PYX_ERR(0, 8331, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15GraphDifference___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *)__pyx_v_self), __pyx_v_G1, __pyx_v_G2);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_15GraphDifference___cinit__(struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G1, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G2) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::GraphDifference *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":8332
 * 
 * 	def __cinit__(self, Graph G1, Graph G2):
 * 		self._this = new _GraphDifference(G1._this, G2._this)             # <<<<<<<<<<<<<<
 * 		self._G1 = G1
 * 		self._G2 = G2
 */
  try {
    __pyx_t_1 = new NetworKit::GraphDifference(__pyx_v_G1->_this, __pyx_v_G2->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8332, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":8333
 * 	def __cinit__(self, Graph G1, Graph G2):
 * 		self._this = new _GraphDifference(G1._this, G2._this)
 * 		self._G1 = G1             # <<<<<<<<<<<<<<
 * 		self._G2 = G2
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G1));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G1));
  __Pyx_GOTREF(__pyx_v_self->_G1);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G1));
  __pyx_v_self->_G1 = __pyx_v_G1;

  /* "networkit/_NetworKit.pyx":8334
 * 		self._this = new _GraphDifference(G1._this, G2._this)
 * 		self._G1 = G1
 * 		self._G2 = G2             # <<<<<<<<<<<<<<
 * 
 * 	def getEdits(self):
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G2));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G2));
  __Pyx_GOTREF(__pyx_v_self->_G2);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G2));
  __pyx_v_self->_G2 = __pyx_v_G2;

  /* "networkit/_NetworKit.pyx":8331
 * 	cdef Graph _G1, _G2
 * 
 * 	def __cinit__(self, Graph G1, Graph G2):             # <<<<<<<<<<<<<<
 * 		self._this = new _GraphDifference(G1._this, G2._this)
 * 		self._G1 = G1
 */

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

/* "networkit/_NetworKit.pyx":8336
 * 		self._G2 = G2
 * 
 * 	def getEdits(self):             # <<<<<<<<<<<<<<
 * 		""" Get the required edits.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GraphDifference_3getEdits(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_15GraphDifference_2getEdits[] = " Get the required edits.\n\n\t\tReturns\n\t\t-------\n\t\tlist\n\t\t\tA list of graph events\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GraphDifference_3getEdits(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getEdits (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15GraphDifference_2getEdits(((struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphDifference_2getEdits(struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *__pyx_v_self) {
  NetworKit::GraphEvent __pyx_9genexpr15__pyx_v_ev;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  std::vector<NetworKit::GraphEvent>  __pyx_t_2;
  std::vector<NetworKit::GraphEvent> ::iterator __pyx_t_3;
  std::vector<NetworKit::GraphEvent>  *__pyx_t_4;
  NetworKit::GraphEvent __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;
  __Pyx_RefNannySetupContext("getEdits", 0);

  /* "networkit/_NetworKit.pyx":8345
 * 		"""
 * 		cdef _GraphEvent ev
 * 		return [GraphEvent(ev.type, ev.u, ev.v, ev.w) for ev in (<_GraphDifference*>(self._this)).getEdits()]             # <<<<<<<<<<<<<<
 * 
 * 	def getNumberOfEdits(self):
 */
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8345, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    try {
      __pyx_t_2 = ((NetworKit::GraphDifference *)__pyx_v_self->__pyx_base._this)->getEdits();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 8345, __pyx_L1_error)
    }
    __pyx_t_4 = &__pyx_t_2;
    __pyx_t_3 = __pyx_t_4->begin();
    for (;;) {
      if (!(__pyx_t_3 != __pyx_t_4->end())) break;
      __pyx_t_5 = *__pyx_t_3;
      ++__pyx_t_3;
      __pyx_9genexpr15__pyx_v_ev = __pyx_t_5;
      __pyx_t_6 = __Pyx_PyInt_From_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_9genexpr15__pyx_v_ev.type); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = __Pyx_PyInt_From_uint64_t(__pyx_9genexpr15__pyx_v_ev.u); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 8345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = __Pyx_PyInt_From_uint64_t(__pyx_9genexpr15__pyx_v_ev.v); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_9 = PyFloat_FromDouble(__pyx_9genexpr15__pyx_v_ev.w); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = PyTuple_New(4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 8345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_GIVEREF(__pyx_t_6);
      PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_6);
      __Pyx_GIVEREF(__pyx_t_7);
      PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_7);
      __Pyx_GIVEREF(__pyx_t_8);
      PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_8);
      __Pyx_GIVEREF(__pyx_t_9);
      PyTuple_SET_ITEM(__pyx_t_10, 3, __pyx_t_9);
      __pyx_t_6 = 0;
      __pyx_t_7 = 0;
      __pyx_t_8 = 0;
      __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphEvent), __pyx_t_10, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_9))) __PYX_ERR(0, 8345, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":8336
 * 		self._G2 = G2
 * 
 * 	def getEdits(self):             # <<<<<<<<<<<<<<
 * 		""" Get the required edits.
 * 
 */

  /* 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_AddTraceback("networkit._NetworKit.GraphDifference.getEdits", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8347
 * 		return [GraphEvent(ev.type, ev.u, ev.v, ev.w) for ev in (<_GraphDifference*>(self._this)).getEdits()]
 * 
 * 	def getNumberOfEdits(self):             # <<<<<<<<<<<<<<
 * 		""" Get the required number of edits.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GraphDifference_5getNumberOfEdits(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_15GraphDifference_4getNumberOfEdits[] = " Get the required number of edits.\n\n\t\tReturns\n\t\t-------\n\t\tint\n\t\t\tThe number of edits.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GraphDifference_5getNumberOfEdits(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNumberOfEdits (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15GraphDifference_4getNumberOfEdits(((struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphDifference_4getNumberOfEdits(struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getNumberOfEdits", 0);

  /* "networkit/_NetworKit.pyx":8355
 * 			The number of edits.
 * 		"""
 * 		return (<_GraphDifference*>(self._this)).getNumberOfEdits()             # <<<<<<<<<<<<<<
 * 
 * 	def getNumberOfNodeAdditions(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::GraphDifference *)__pyx_v_self->__pyx_base._this)->getNumberOfEdits();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8355, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":8347
 * 		return [GraphEvent(ev.type, ev.u, ev.v, ev.w) for ev in (<_GraphDifference*>(self._this)).getEdits()]
 * 
 * 	def getNumberOfEdits(self):             # <<<<<<<<<<<<<<
 * 		""" Get the required number of edits.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GraphDifference.getNumberOfEdits", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8357
 * 		return (<_GraphDifference*>(self._this)).getNumberOfEdits()
 * 
 * 	def getNumberOfNodeAdditions(self):             # <<<<<<<<<<<<<<
 * 		""" Get the required number of node additions.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GraphDifference_7getNumberOfNodeAdditions(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_15GraphDifference_6getNumberOfNodeAdditions[] = " Get the required number of node additions.\n\n\t\tReturns\n\t\t-------\n\t\tint\n\t\t\tThe number of node additions.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GraphDifference_7getNumberOfNodeAdditions(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNumberOfNodeAdditions (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15GraphDifference_6getNumberOfNodeAdditions(((struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphDifference_6getNumberOfNodeAdditions(struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getNumberOfNodeAdditions", 0);

  /* "networkit/_NetworKit.pyx":8365
 * 			The number of node additions.
 * 		"""
 * 		return (<_GraphDifference*>(self._this)).getNumberOfNodeAdditions()             # <<<<<<<<<<<<<<
 * 
 * 	def getNumberOfNodeRemovals(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::GraphDifference *)__pyx_v_self->__pyx_base._this)->getNumberOfNodeAdditions();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8365, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":8357
 * 		return (<_GraphDifference*>(self._this)).getNumberOfEdits()
 * 
 * 	def getNumberOfNodeAdditions(self):             # <<<<<<<<<<<<<<
 * 		""" Get the required number of node additions.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GraphDifference.getNumberOfNodeAdditions", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8367
 * 		return (<_GraphDifference*>(self._this)).getNumberOfNodeAdditions()
 * 
 * 	def getNumberOfNodeRemovals(self):             # <<<<<<<<<<<<<<
 * 		""" Get the required number of node removals.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GraphDifference_9getNumberOfNodeRemovals(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_15GraphDifference_8getNumberOfNodeRemovals[] = " Get the required number of node removals.\n\n\t\tReturns\n\t\t-------\n\t\tint\n\t\t\tThe number of node removals.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GraphDifference_9getNumberOfNodeRemovals(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNumberOfNodeRemovals (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15GraphDifference_8getNumberOfNodeRemovals(((struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphDifference_8getNumberOfNodeRemovals(struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getNumberOfNodeRemovals", 0);

  /* "networkit/_NetworKit.pyx":8375
 * 			The number of node removals.
 * 		"""
 * 		return (<_GraphDifference*>(self._this)).getNumberOfNodeRemovals()             # <<<<<<<<<<<<<<
 * 
 * 	def getNumberOfNodeRestorations(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::GraphDifference *)__pyx_v_self->__pyx_base._this)->getNumberOfNodeRemovals();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8375, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":8367
 * 		return (<_GraphDifference*>(self._this)).getNumberOfNodeAdditions()
 * 
 * 	def getNumberOfNodeRemovals(self):             # <<<<<<<<<<<<<<
 * 		""" Get the required number of node removals.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GraphDifference.getNumberOfNodeRemovals", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8377
 * 		return (<_GraphDifference*>(self._this)).getNumberOfNodeRemovals()
 * 
 * 	def getNumberOfNodeRestorations(self):             # <<<<<<<<<<<<<<
 * 		""" Get the required number of node restorations.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GraphDifference_11getNumberOfNodeRestorations(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_15GraphDifference_10getNumberOfNodeRestorations[] = " Get the required number of node restorations.\n\n\t\tReturns\n\t\t-------\n\t\tint\n\t\t\tThe number of node restorations.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GraphDifference_11getNumberOfNodeRestorations(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNumberOfNodeRestorations (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15GraphDifference_10getNumberOfNodeRestorations(((struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphDifference_10getNumberOfNodeRestorations(struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getNumberOfNodeRestorations", 0);

  /* "networkit/_NetworKit.pyx":8385
 * 			The number of node restorations.
 * 		"""
 * 		return (<_GraphDifference*>(self._this)).getNumberOfNodeRestorations()             # <<<<<<<<<<<<<<
 * 
 * 	def getNumberOfEdgeAdditions(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::GraphDifference *)__pyx_v_self->__pyx_base._this)->getNumberOfNodeRestorations();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8385, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":8377
 * 		return (<_GraphDifference*>(self._this)).getNumberOfNodeRemovals()
 * 
 * 	def getNumberOfNodeRestorations(self):             # <<<<<<<<<<<<<<
 * 		""" Get the required number of node restorations.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GraphDifference.getNumberOfNodeRestorations", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8387
 * 		return (<_GraphDifference*>(self._this)).getNumberOfNodeRestorations()
 * 
 * 	def getNumberOfEdgeAdditions(self):             # <<<<<<<<<<<<<<
 * 		""" Get the required number of edge additions.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GraphDifference_13getNumberOfEdgeAdditions(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_15GraphDifference_12getNumberOfEdgeAdditions[] = " Get the required number of edge additions.\n\n\t\tReturns\n\t\t-------\n\t\tint\n\t\t\tThe number of edge additions.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GraphDifference_13getNumberOfEdgeAdditions(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNumberOfEdgeAdditions (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15GraphDifference_12getNumberOfEdgeAdditions(((struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphDifference_12getNumberOfEdgeAdditions(struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getNumberOfEdgeAdditions", 0);

  /* "networkit/_NetworKit.pyx":8395
 * 			The number of edge additions.
 * 		"""
 * 		return (<_GraphDifference*>(self._this)).getNumberOfEdgeAdditions()             # <<<<<<<<<<<<<<
 * 
 * 	def getNumberOfEdgeRemovals(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::GraphDifference *)__pyx_v_self->__pyx_base._this)->getNumberOfEdgeAdditions();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8395, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":8387
 * 		return (<_GraphDifference*>(self._this)).getNumberOfNodeRestorations()
 * 
 * 	def getNumberOfEdgeAdditions(self):             # <<<<<<<<<<<<<<
 * 		""" Get the required number of edge additions.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GraphDifference.getNumberOfEdgeAdditions", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8397
 * 		return (<_GraphDifference*>(self._this)).getNumberOfEdgeAdditions()
 * 
 * 	def getNumberOfEdgeRemovals(self):             # <<<<<<<<<<<<<<
 * 		""" Get the required number of edge removals.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GraphDifference_15getNumberOfEdgeRemovals(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_15GraphDifference_14getNumberOfEdgeRemovals[] = " Get the required number of edge removals.\n\n\t\tReturns\n\t\t-------\n\t\tint\n\t\t\tThe number of edge removals.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GraphDifference_15getNumberOfEdgeRemovals(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNumberOfEdgeRemovals (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15GraphDifference_14getNumberOfEdgeRemovals(((struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphDifference_14getNumberOfEdgeRemovals(struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getNumberOfEdgeRemovals", 0);

  /* "networkit/_NetworKit.pyx":8405
 * 			The number of edge removals.
 * 		"""
 * 		return (<_GraphDifference*>(self._this)).getNumberOfEdgeRemovals()             # <<<<<<<<<<<<<<
 * 
 * 	def getNumberOfEdgeWeightUpdates(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::GraphDifference *)__pyx_v_self->__pyx_base._this)->getNumberOfEdgeRemovals();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8405, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8405, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":8397
 * 		return (<_GraphDifference*>(self._this)).getNumberOfEdgeAdditions()
 * 
 * 	def getNumberOfEdgeRemovals(self):             # <<<<<<<<<<<<<<
 * 		""" Get the required number of edge removals.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GraphDifference.getNumberOfEdgeRemovals", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8407
 * 		return (<_GraphDifference*>(self._this)).getNumberOfEdgeRemovals()
 * 
 * 	def getNumberOfEdgeWeightUpdates(self):             # <<<<<<<<<<<<<<
 * 		""" Get the required number of edge weight updates.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GraphDifference_17getNumberOfEdgeWeightUpdates(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_15GraphDifference_16getNumberOfEdgeWeightUpdates[] = " Get the required number of edge weight updates.\n\n\t\tReturns\n\t\t-------\n\t\tint\n\t\t\tThe number of edge weight updates.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GraphDifference_17getNumberOfEdgeWeightUpdates(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNumberOfEdgeWeightUpdates (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15GraphDifference_16getNumberOfEdgeWeightUpdates(((struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphDifference_16getNumberOfEdgeWeightUpdates(struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getNumberOfEdgeWeightUpdates", 0);

  /* "networkit/_NetworKit.pyx":8415
 * 			The number of edge weight updates.
 * 		"""
 * 		return (<_GraphDifference*>(self._this)).getNumberOfEdgeWeightUpdates()             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/centrality/ApproxBetweenness.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::GraphDifference *)__pyx_v_self->__pyx_base._this)->getNumberOfEdgeWeightUpdates();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8415, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":8407
 * 		return (<_GraphDifference*>(self._this)).getNumberOfEdgeRemovals()
 * 
 * 	def getNumberOfEdgeWeightUpdates(self):             # <<<<<<<<<<<<<<
 * 		""" Get the required number of edge weight updates.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GraphDifference.getNumberOfEdgeWeightUpdates", __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_9networkit_10_NetworKit_15GraphDifference_19__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GraphDifference_19__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15GraphDifference_18__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphDifference_18__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__299, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphDifference.__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_9networkit_10_NetworKit_15GraphDifference_21__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GraphDifference_21__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15GraphDifference_20__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphDifference_20__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__300, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphDifference.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8450
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, epsilon=0.01, delta=0.1, universalConstant=1.0):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _ApproxBetweenness(G._this, epsilon, delta, universalConstant)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_17ApproxBetweenness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_17ApproxBetweenness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_epsilon = 0;
  PyObject *__pyx_v_delta = 0;
  PyObject *__pyx_v_universalConstant = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_epsilon,&__pyx_n_s_delta,&__pyx_n_s_universalConstant,0};
    PyObject* values[4] = {0,0,0,0};
    values[1] = ((PyObject *)__pyx_float_0_01);
    values[2] = ((PyObject *)__pyx_float_0_1);
    values[3] = ((PyObject *)__pyx_float_1_0);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_epsilon);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_delta);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_universalConstant);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8450, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_epsilon = values[1];
    __pyx_v_delta = values[2];
    __pyx_v_universalConstant = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8450, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ApproxBetweenness.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 8450, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17ApproxBetweenness___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness *)__pyx_v_self), __pyx_v_G, __pyx_v_epsilon, __pyx_v_delta, __pyx_v_universalConstant);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_17ApproxBetweenness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_epsilon, PyObject *__pyx_v_delta, PyObject *__pyx_v_universalConstant) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  double __pyx_t_2;
  double __pyx_t_3;
  NetworKit::ApproxBetweenness *__pyx_t_4;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":8451
 * 
 * 	def __cinit__(self, Graph G, epsilon=0.01, delta=0.1, universalConstant=1.0):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _ApproxBetweenness(G._this, epsilon, delta, universalConstant)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":8452
 * 	def __cinit__(self, Graph G, epsilon=0.01, delta=0.1, universalConstant=1.0):
 * 		self._G = G
 * 		self._this = new _ApproxBetweenness(G._this, epsilon, delta, universalConstant)             # <<<<<<<<<<<<<<
 * 
 * 	def numberOfSamples(self):
 */
  __pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_epsilon); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 8452, __pyx_L1_error)
  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_delta); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 8452, __pyx_L1_error)
  __pyx_t_3 = __pyx_PyFloat_AsDouble(__pyx_v_universalConstant); if (unlikely((__pyx_t_3 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 8452, __pyx_L1_error)
  try {
    __pyx_t_4 = new NetworKit::ApproxBetweenness(__pyx_v_G->_this, __pyx_t_1, __pyx_t_2, __pyx_t_3);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8452, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_4;

  /* "networkit/_NetworKit.pyx":8450
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, epsilon=0.01, delta=0.1, universalConstant=1.0):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _ApproxBetweenness(G._this, epsilon, delta, universalConstant)
 */

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

/* "networkit/_NetworKit.pyx":8454
 * 		self._this = new _ApproxBetweenness(G._this, epsilon, delta, universalConstant)
 * 
 * 	def numberOfSamples(self):             # <<<<<<<<<<<<<<
 * 		return (<_ApproxBetweenness*>(self._this)).numberOfSamples()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_17ApproxBetweenness_3numberOfSamples(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17ApproxBetweenness_3numberOfSamples(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("numberOfSamples (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17ApproxBetweenness_2numberOfSamples(((struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17ApproxBetweenness_2numberOfSamples(struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("numberOfSamples", 0);

  /* "networkit/_NetworKit.pyx":8455
 * 
 * 	def numberOfSamples(self):
 * 		return (<_ApproxBetweenness*>(self._this)).numberOfSamples()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::ApproxBetweenness *)__pyx_v_self->__pyx_base.__pyx_base._this)->numberOfSamples();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8455, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8455, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":8454
 * 		self._this = new _ApproxBetweenness(G._this, epsilon, delta, universalConstant)
 * 
 * 	def numberOfSamples(self):             # <<<<<<<<<<<<<<
 * 		return (<_ApproxBetweenness*>(self._this)).numberOfSamples()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.ApproxBetweenness.numberOfSamples", __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_9networkit_10_NetworKit_17ApproxBetweenness_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17ApproxBetweenness_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17ApproxBetweenness_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17ApproxBetweenness_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__301, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ApproxBetweenness.__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_9networkit_10_NetworKit_17ApproxBetweenness_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17ApproxBetweenness_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17ApproxBetweenness_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17ApproxBetweenness_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__302, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ApproxBetweenness.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8510
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, err = 0.01, delta = 0.1, k = 0,             # <<<<<<<<<<<<<<
 * 				  unionSample = 0, startFactor = 100):
 * 		self._this = new _KadabraBetweenness(G._this, err, delta, k, unionSample,
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_18KadabraBetweenness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_18KadabraBetweenness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_err = 0;
  PyObject *__pyx_v_delta = 0;
  PyObject *__pyx_v_k = 0;
  PyObject *__pyx_v_unionSample = 0;
  PyObject *__pyx_v_startFactor = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_err,&__pyx_n_s_delta,&__pyx_n_s_k,&__pyx_n_s_unionSample,&__pyx_n_s_startFactor,0};
    PyObject* values[6] = {0,0,0,0,0,0};
    values[1] = ((PyObject *)__pyx_float_0_01);
    values[2] = ((PyObject *)__pyx_float_0_1);
    values[3] = ((PyObject *)__pyx_int_0);
    values[4] = ((PyObject *)__pyx_int_0);
    values[5] = ((PyObject *)__pyx_int_100);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_err);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_delta);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k);
          if (value) { values[3] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_unionSample);
          if (value) { values[4] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_startFactor);
          if (value) { values[5] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8510, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_err = values[1];
    __pyx_v_delta = values[2];
    __pyx_v_k = values[3];
    __pyx_v_unionSample = values[4];
    __pyx_v_startFactor = values[5];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8510, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.KadabraBetweenness.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 8510, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *)__pyx_v_self), __pyx_v_G, __pyx_v_err, __pyx_v_delta, __pyx_v_k, __pyx_v_unionSample, __pyx_v_startFactor);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_err, PyObject *__pyx_v_delta, PyObject *__pyx_v_k, PyObject *__pyx_v_unionSample, PyObject *__pyx_v_startFactor) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  double __pyx_t_2;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_3;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_4;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_5;
  NetworKit::KadabraBetweenness *__pyx_t_6;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":8512
 * 	def __cinit__(self, Graph G, err = 0.01, delta = 0.1, k = 0,
 * 				  unionSample = 0, startFactor = 100):
 * 		self._this = new _KadabraBetweenness(G._this, err, delta, k, unionSample,             # <<<<<<<<<<<<<<
 * 										   startFactor)
 * 
 */
  __pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_err); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 8512, __pyx_L1_error)
  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_delta); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 8512, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyInt_As_uint64_t(__pyx_v_k); if (unlikely((__pyx_t_3 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8512, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyInt_As_uint64_t(__pyx_v_unionSample); if (unlikely((__pyx_t_4 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8512, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":8513
 * 				  unionSample = 0, startFactor = 100):
 * 		self._this = new _KadabraBetweenness(G._this, err, delta, k, unionSample,
 * 										   startFactor)             # <<<<<<<<<<<<<<
 * 
 * 	def ranking(self):
 */
  __pyx_t_5 = __Pyx_PyInt_As_uint64_t(__pyx_v_startFactor); if (unlikely((__pyx_t_5 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8513, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":8512
 * 	def __cinit__(self, Graph G, err = 0.01, delta = 0.1, k = 0,
 * 				  unionSample = 0, startFactor = 100):
 * 		self._this = new _KadabraBetweenness(G._this, err, delta, k, unionSample,             # <<<<<<<<<<<<<<
 * 										   startFactor)
 * 
 */
  try {
    __pyx_t_6 = new NetworKit::KadabraBetweenness(__pyx_v_G->_this, __pyx_t_1, __pyx_t_2, __pyx_t_3, __pyx_t_4, __pyx_t_5);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8512, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_6;

  /* "networkit/_NetworKit.pyx":8510
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, err = 0.01, delta = 0.1, k = 0,             # <<<<<<<<<<<<<<
 * 				  unionSample = 0, startFactor = 100):
 * 		self._this = new _KadabraBetweenness(G._this, err, delta, k, unionSample,
 */

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

/* "networkit/_NetworKit.pyx":8515
 * 										   startFactor)
 * 
 * 	def ranking(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the ranking of the nodes according to their approximated
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_18KadabraBetweenness_3ranking(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_18KadabraBetweenness_2ranking[] = "\n\t\tReturns the ranking of the nodes according to their approximated\n\t\tbetweenness centrality.\n\n\t\tReturns\n\t\t-------\n\t\tlist(int, double)\n\t\t\tA list of pairs (node, betweenness) representing the top-k ranking.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_18KadabraBetweenness_3ranking(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("ranking (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness_2ranking(((struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness_2ranking(struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,double> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("ranking", 0);

  /* "networkit/_NetworKit.pyx":8525
 * 			A list of pairs (node, betweenness) representing the top-k ranking.
 * 		"""
 * 		return (<_KadabraBetweenness*>(self._this)).ranking()             # <<<<<<<<<<<<<<
 * 
 * 	def topkNodesList(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::KadabraBetweenness *)__pyx_v_self->__pyx_base._this)->ranking();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8525, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c_double_3e___(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":8515
 * 										   startFactor)
 * 
 * 	def ranking(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the ranking of the nodes according to their approximated
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.KadabraBetweenness.ranking", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8527
 * 		return (<_KadabraBetweenness*>(self._this)).ranking()
 * 
 * 	def topkNodesList(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns Nodes of the graph sorted by their approximated betweenness
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_18KadabraBetweenness_5topkNodesList(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_18KadabraBetweenness_4topkNodesList[] = "\n\t\tReturns Nodes of the graph sorted by their approximated betweenness\n\t\tcentrality.\n\n\t\tReturns\n\t\t-------\n\t\tlist(int)\n\t\t\tA list with the top-k nodes with highest approximated betweenness\n\t\t\tcentrality.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_18KadabraBetweenness_5topkNodesList(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("topkNodesList (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness_4topkNodesList(((struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness_4topkNodesList(struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("topkNodesList", 0);

  /* "networkit/_NetworKit.pyx":8538
 * 			centrality.
 * 		"""
 * 		return (<_KadabraBetweenness*>(self._this)).topkNodesList()             # <<<<<<<<<<<<<<
 * 
 * 	def topkScoresList(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::KadabraBetweenness *)__pyx_v_self->__pyx_base._this)->topkNodesList();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8538, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8538, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":8527
 * 		return (<_KadabraBetweenness*>(self._this)).ranking()
 * 
 * 	def topkNodesList(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns Nodes of the graph sorted by their approximated betweenness
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.KadabraBetweenness.topkNodesList", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8540
 * 		return (<_KadabraBetweenness*>(self._this)).topkNodesList()
 * 
 * 	def topkScoresList(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the sorted list of approximated betweenness centrality scores.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_18KadabraBetweenness_7topkScoresList(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_18KadabraBetweenness_6topkScoresList[] = "\n\t\tReturns the sorted list of approximated betweenness centrality scores.\n\n\t\tReturns\n\t\t-------\n\t\tlist(double)\n\t\t\tA list with the top-k scores of the nodes with highest approximated\n\t\t\tbetweenness centrality.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_18KadabraBetweenness_7topkScoresList(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("topkScoresList (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness_6topkScoresList(((struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness_6topkScoresList(struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<double>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("topkScoresList", 0);

  /* "networkit/_NetworKit.pyx":8550
 * 			betweenness centrality.
 * 		"""
 * 		return (<_KadabraBetweenness*>(self._this)).topkScoresList()             # <<<<<<<<<<<<<<
 * 
 * 	def scores(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::KadabraBetweenness *)__pyx_v_self->__pyx_base._this)->topkScoresList();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8550, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_double(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":8540
 * 		return (<_KadabraBetweenness*>(self._this)).topkNodesList()
 * 
 * 	def topkScoresList(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the sorted list of approximated betweenness centrality scores.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.KadabraBetweenness.topkScoresList", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8552
 * 		return (<_KadabraBetweenness*>(self._this)).topkScoresList()
 * 
 * 	def scores(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the approximated betweenness centrality score of all the nodes of
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_18KadabraBetweenness_9scores(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_18KadabraBetweenness_8scores[] = "\n\t\tReturns the approximated betweenness centrality score of all the nodes of\n\t\tthe graph.\n\n\t\tReturns\n\t\t-------\n\t\tlist(double)\n\t\t\tA list with the approximated betweenness centrality score of each node of\n\t\t\tthe graph.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_18KadabraBetweenness_9scores(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("scores (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness_8scores(((struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness_8scores(struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<double>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("scores", 0);

  /* "networkit/_NetworKit.pyx":8563
 * 			the graph.
 * 		"""
 * 		return (<_KadabraBetweenness*>(self._this)).scores()             # <<<<<<<<<<<<<<
 * 
 * 	def getNumberOfIterations(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::KadabraBetweenness *)__pyx_v_self->__pyx_base._this)->scores();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8563, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_double(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8563, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":8552
 * 		return (<_KadabraBetweenness*>(self._this)).topkScoresList()
 * 
 * 	def scores(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the approximated betweenness centrality score of all the nodes of
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.KadabraBetweenness.scores", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8565
 * 		return (<_KadabraBetweenness*>(self._this)).scores()
 * 
 * 	def getNumberOfIterations(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the total number of samples.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_18KadabraBetweenness_11getNumberOfIterations(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_18KadabraBetweenness_10getNumberOfIterations[] = "\n\t\tReturns the total number of samples.\n\n\t\tReturns\n\t\t-------\n\t\tcount\n\t\t\tThe total number of shortest paths sampled by the algorithm.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_18KadabraBetweenness_11getNumberOfIterations(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNumberOfIterations (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness_10getNumberOfIterations(((struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness_10getNumberOfIterations(struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getNumberOfIterations", 0);

  /* "networkit/_NetworKit.pyx":8574
 * 			The total number of shortest paths sampled by the algorithm.
 * 		"""
 * 		return (<_KadabraBetweenness*>(self._this)).getNumberOfIterations()             # <<<<<<<<<<<<<<
 * 
 * 	def getOmega(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::KadabraBetweenness *)__pyx_v_self->__pyx_base._this)->getNumberOfIterations();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8574, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":8565
 * 		return (<_KadabraBetweenness*>(self._this)).scores()
 * 
 * 	def getNumberOfIterations(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the total number of samples.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.KadabraBetweenness.getNumberOfIterations", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8576
 * 		return (<_KadabraBetweenness*>(self._this)).getNumberOfIterations()
 * 
 * 	def getOmega(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the upper bound of the required number of samples.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_18KadabraBetweenness_13getOmega(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_18KadabraBetweenness_12getOmega[] = "\n\t\tReturns the upper bound of the required number of samples.\n\n\t\tReturns\n\t\t-------\n\t\tcount\n\t\t\tUpper bound of the number of shortest paths to be sampled.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_18KadabraBetweenness_13getOmega(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getOmega (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness_12getOmega(((struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness_12getOmega(struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getOmega", 0);

  /* "networkit/_NetworKit.pyx":8585
 * 			Upper bound of the number of shortest paths to be sampled.
 * 		"""
 * 		return(<_KadabraBetweenness*>(self._this)).getOmega()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::KadabraBetweenness *)__pyx_v_self->__pyx_base._this)->getOmega();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8585, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":8576
 * 		return (<_KadabraBetweenness*>(self._this)).getNumberOfIterations()
 * 
 * 	def getOmega(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the upper bound of the required number of samples.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.KadabraBetweenness.getOmega", __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_9networkit_10_NetworKit_18KadabraBetweenness_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_18KadabraBetweenness_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness_14__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__303, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.KadabraBetweenness.__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_9networkit_10_NetworKit_18KadabraBetweenness_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_18KadabraBetweenness_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness_16__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_18KadabraBetweenness_16__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__304, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.KadabraBetweenness.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8619
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, nSamples, normalized=False, parallel=False):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _EstimateBetweenness(G._this, nSamples, normalized, parallel)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_19EstimateBetweenness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_19EstimateBetweenness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_nSamples = 0;
  PyObject *__pyx_v_normalized = 0;
  PyObject *__pyx_v_parallel = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_nSamples,&__pyx_n_s_normalized,&__pyx_n_s_parallel,0};
    PyObject* values[4] = {0,0,0,0};
    values[2] = ((PyObject *)Py_False);
    values[3] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nSamples)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 4, 1); __PYX_ERR(0, 8619, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_normalized);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_parallel);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8619, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_nSamples = values[1];
    __pyx_v_normalized = values[2];
    __pyx_v_parallel = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8619, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EstimateBetweenness.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 8619, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19EstimateBetweenness___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_EstimateBetweenness *)__pyx_v_self), __pyx_v_G, __pyx_v_nSamples, __pyx_v_normalized, __pyx_v_parallel);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_19EstimateBetweenness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EstimateBetweenness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_nSamples, PyObject *__pyx_v_normalized, PyObject *__pyx_v_parallel) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  bool __pyx_t_2;
  bool __pyx_t_3;
  NetworKit::EstimateBetweenness *__pyx_t_4;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":8620
 * 
 * 	def __cinit__(self, Graph G, nSamples, normalized=False, parallel=False):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _EstimateBetweenness(G._this, nSamples, normalized, parallel)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":8621
 * 	def __cinit__(self, Graph G, nSamples, normalized=False, parallel=False):
 * 		self._G = G
 * 		self._this = new _EstimateBetweenness(G._this, nSamples, normalized, parallel)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_nSamples); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8621, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_normalized); if (unlikely((__pyx_t_2 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8621, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_parallel); if (unlikely((__pyx_t_3 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8621, __pyx_L1_error)
  try {
    __pyx_t_4 = new NetworKit::EstimateBetweenness(__pyx_v_G->_this, __pyx_t_1, __pyx_t_2, __pyx_t_3);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8621, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_4;

  /* "networkit/_NetworKit.pyx":8619
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, nSamples, normalized=False, parallel=False):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _EstimateBetweenness(G._this, nSamples, normalized, parallel)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EstimateBetweenness.__cinit__", __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_9networkit_10_NetworKit_19EstimateBetweenness_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19EstimateBetweenness_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19EstimateBetweenness_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EstimateBetweenness *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_19EstimateBetweenness_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EstimateBetweenness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__305, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EstimateBetweenness.__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_9networkit_10_NetworKit_19EstimateBetweenness_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19EstimateBetweenness_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19EstimateBetweenness_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EstimateBetweenness *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_19EstimateBetweenness_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EstimateBetweenness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__306, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EstimateBetweenness.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8651
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, nSamples, normalized=False, parallel=False):             # <<<<<<<<<<<<<<
 * 		from warnings import warn
 * 		warn("ApproxBetweenness2 is deprecated; use EstimateBetweenness instead.", DeprecationWarning)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_18ApproxBetweenness2_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_18ApproxBetweenness2_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_nSamples = 0;
  PyObject *__pyx_v_normalized = 0;
  PyObject *__pyx_v_parallel = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_nSamples,&__pyx_n_s_normalized,&__pyx_n_s_parallel,0};
    PyObject* values[4] = {0,0,0,0};
    values[2] = ((PyObject *)Py_False);
    values[3] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nSamples)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 4, 1); __PYX_ERR(0, 8651, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_normalized);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_parallel);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8651, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_nSamples = values[1];
    __pyx_v_normalized = values[2];
    __pyx_v_parallel = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8651, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ApproxBetweenness2.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 8651, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18ApproxBetweenness2___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness2 *)__pyx_v_self), __pyx_v_G, __pyx_v_nSamples, __pyx_v_normalized, __pyx_v_parallel);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_18ApproxBetweenness2___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness2 *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_nSamples, PyObject *__pyx_v_normalized, PyObject *__pyx_v_parallel) {
  PyObject *__pyx_v_warn = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_3;
  bool __pyx_t_4;
  bool __pyx_t_5;
  NetworKit::EstimateBetweenness *__pyx_t_6;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":8652
 * 
 * 	def __cinit__(self, Graph G, nSamples, normalized=False, parallel=False):
 * 		from warnings import warn             # <<<<<<<<<<<<<<
 * 		warn("ApproxBetweenness2 is deprecated; use EstimateBetweenness instead.", DeprecationWarning)
 * 		self._G = G
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_warn);
  __Pyx_GIVEREF(__pyx_n_s_warn);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_warn);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_warn = __pyx_t_1;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":8653
 * 	def __cinit__(self, Graph G, nSamples, normalized=False, parallel=False):
 * 		from warnings import warn
 * 		warn("ApproxBetweenness2 is deprecated; use EstimateBetweenness instead.", DeprecationWarning)             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _EstimateBetweenness(G._this, nSamples, normalized, parallel)
 */
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_v_warn, __pyx_tuple__307, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":8654
 * 		from warnings import warn
 * 		warn("ApproxBetweenness2 is deprecated; use EstimateBetweenness instead.", DeprecationWarning)
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _EstimateBetweenness(G._this, nSamples, normalized, parallel)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":8655
 * 		warn("ApproxBetweenness2 is deprecated; use EstimateBetweenness instead.", DeprecationWarning)
 * 		self._G = G
 * 		self._this = new _EstimateBetweenness(G._this, nSamples, normalized, parallel)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_3 = __Pyx_PyInt_As_uint64_t(__pyx_v_nSamples); if (unlikely((__pyx_t_3 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8655, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_normalized); if (unlikely((__pyx_t_4 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8655, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_parallel); if (unlikely((__pyx_t_5 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8655, __pyx_L1_error)
  try {
    __pyx_t_6 = new NetworKit::EstimateBetweenness(__pyx_v_G->_this, __pyx_t_3, __pyx_t_4, __pyx_t_5);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8655, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_6;

  /* "networkit/_NetworKit.pyx":8651
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, nSamples, normalized=False, parallel=False):             # <<<<<<<<<<<<<<
 * 		from warnings import warn
 * 		warn("ApproxBetweenness2 is deprecated; use EstimateBetweenness instead.", DeprecationWarning)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.ApproxBetweenness2.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_warn);
  __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_9networkit_10_NetworKit_18ApproxBetweenness2_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_18ApproxBetweenness2_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18ApproxBetweenness2_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness2 *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_18ApproxBetweenness2_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness2 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__308, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ApproxBetweenness2.__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_9networkit_10_NetworKit_18ApproxBetweenness2_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_18ApproxBetweenness2_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18ApproxBetweenness2_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness2 *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_18ApproxBetweenness2_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness2 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__309, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ApproxBetweenness2.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8704
 * 	SUM = 2
 * 
 * 	def __cinit__(self, Graph G, nSamples, epsilon=0.1, normalized=False, _ClosenessType type=OUTBOUND):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _ApproxCloseness(G._this, nSamples, epsilon, normalized, type)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_15ApproxCloseness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_15ApproxCloseness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_nSamples = 0;
  PyObject *__pyx_v_epsilon = 0;
  PyObject *__pyx_v_normalized = 0;
  enum NetworKit::ApproxCloseness::CLOSENESS_TYPE __pyx_v_type;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_nSamples,&__pyx_n_s_epsilon,&__pyx_n_s_normalized,&__pyx_n_s_type,0};
    PyObject* values[5] = {0,0,0,0,0};
    values[2] = ((PyObject *)__pyx_float_0_1);
    values[3] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nSamples)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 5, 1); __PYX_ERR(0, 8704, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_epsilon);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_normalized);
          if (value) { values[3] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_type);
          if (value) { values[4] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8704, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_nSamples = values[1];
    __pyx_v_epsilon = values[2];
    __pyx_v_normalized = values[3];
    if (values[4]) {
      __pyx_v_type = ((enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)__Pyx_PyInt_As_enum__NetworKit_3a__3a_ApproxCloseness_3a__3a_CLOSENESS_TYPE(values[4])); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 8704, __pyx_L3_error)
    } else {
      __pyx_v_type = __pyx_k__310;
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8704, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ApproxCloseness.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 8704, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15ApproxCloseness___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_ApproxCloseness *)__pyx_v_self), __pyx_v_G, __pyx_v_nSamples, __pyx_v_epsilon, __pyx_v_normalized, __pyx_v_type);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_15ApproxCloseness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ApproxCloseness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_nSamples, PyObject *__pyx_v_epsilon, PyObject *__pyx_v_normalized, enum NetworKit::ApproxCloseness::CLOSENESS_TYPE __pyx_v_type) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  float __pyx_t_2;
  bool __pyx_t_3;
  NetworKit::ApproxCloseness *__pyx_t_4;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":8705
 * 
 * 	def __cinit__(self, Graph G, nSamples, epsilon=0.1, normalized=False, _ClosenessType type=OUTBOUND):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _ApproxCloseness(G._this, nSamples, epsilon, normalized, type)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":8706
 * 	def __cinit__(self, Graph G, nSamples, epsilon=0.1, normalized=False, _ClosenessType type=OUTBOUND):
 * 		self._G = G
 * 		self._this = new _ApproxCloseness(G._this, nSamples, epsilon, normalized, type)             # <<<<<<<<<<<<<<
 * 
 * 	def getSquareErrorEstimates(self):
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_nSamples); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8706, __pyx_L1_error)
  __pyx_t_2 = __pyx_PyFloat_AsFloat(__pyx_v_epsilon); if (unlikely((__pyx_t_2 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 8706, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_normalized); if (unlikely((__pyx_t_3 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8706, __pyx_L1_error)
  try {
    __pyx_t_4 = new NetworKit::ApproxCloseness(__pyx_v_G->_this, __pyx_t_1, __pyx_t_2, __pyx_t_3, __pyx_v_type);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8706, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_4;

  /* "networkit/_NetworKit.pyx":8704
 * 	SUM = 2
 * 
 * 	def __cinit__(self, Graph G, nSamples, epsilon=0.1, normalized=False, _ClosenessType type=OUTBOUND):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _ApproxCloseness(G._this, nSamples, epsilon, normalized, type)
 */

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

/* "networkit/_NetworKit.pyx":8708
 * 		self._this = new _ApproxCloseness(G._this, nSamples, epsilon, normalized, type)
 * 
 * 	def getSquareErrorEstimates(self):             # <<<<<<<<<<<<<<
 * 		""" Return a vector containing the square error estimates for all nodes.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15ApproxCloseness_3getSquareErrorEstimates(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_15ApproxCloseness_2getSquareErrorEstimates[] = " Return a vector containing the square error estimates for all nodes.\n\n\t\tReturns\n\t\t-------\n\t\tvector\n\t\t\tA vector of doubles.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_15ApproxCloseness_3getSquareErrorEstimates(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getSquareErrorEstimates (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15ApproxCloseness_2getSquareErrorEstimates(((struct __pyx_obj_9networkit_10_NetworKit_ApproxCloseness *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15ApproxCloseness_2getSquareErrorEstimates(struct __pyx_obj_9networkit_10_NetworKit_ApproxCloseness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<double>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getSquareErrorEstimates", 0);

  /* "networkit/_NetworKit.pyx":8716
 * 			A vector of doubles.
 * 		"""
 * 		return (<_ApproxCloseness*>(self._this)).getSquareErrorEstimates()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::ApproxCloseness *)__pyx_v_self->__pyx_base.__pyx_base._this)->getSquareErrorEstimates();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8716, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_double(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":8708
 * 		self._this = new _ApproxCloseness(G._this, nSamples, epsilon, normalized, type)
 * 
 * 	def getSquareErrorEstimates(self):             # <<<<<<<<<<<<<<
 * 		""" Return a vector containing the square error estimates for all nodes.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.ApproxCloseness.getSquareErrorEstimates", __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_9networkit_10_NetworKit_15ApproxCloseness_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15ApproxCloseness_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15ApproxCloseness_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ApproxCloseness *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15ApproxCloseness_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ApproxCloseness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__311, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ApproxCloseness.__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_9networkit_10_NetworKit_15ApproxCloseness_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15ApproxCloseness_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15ApproxCloseness_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ApproxCloseness *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_15ApproxCloseness_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ApproxCloseness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__312, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ApproxCloseness.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8740
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, double damp=0.85, double tol=1e-9):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _PageRank(G._this, damp, tol)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_8PageRank_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_8PageRank_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  double __pyx_v_damp;
  double __pyx_v_tol;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_damp,&__pyx_n_s_tol,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_damp);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tol);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8740, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    if (values[1]) {
      __pyx_v_damp = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_damp == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 8740, __pyx_L3_error)
    } else {
      __pyx_v_damp = ((double)0.85);
    }
    if (values[2]) {
      __pyx_v_tol = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_tol == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 8740, __pyx_L3_error)
    } else {
      __pyx_v_tol = ((double)1e-9);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8740, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PageRank.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 8740, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8PageRank___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_PageRank *)__pyx_v_self), __pyx_v_G, __pyx_v_damp, __pyx_v_tol);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_8PageRank___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PageRank *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, double __pyx_v_damp, double __pyx_v_tol) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::PageRank *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":8741
 * 
 * 	def __cinit__(self, Graph G, double damp=0.85, double tol=1e-9):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _PageRank(G._this, damp, tol)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":8742
 * 	def __cinit__(self, Graph G, double damp=0.85, double tol=1e-9):
 * 		self._G = G
 * 		self._this = new _PageRank(G._this, damp, tol)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  try {
    __pyx_t_1 = new NetworKit::PageRank(__pyx_v_G->_this, __pyx_v_damp, __pyx_v_tol);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8742, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":8740
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, double damp=0.85, double tol=1e-9):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _PageRank(G._this, damp, tol)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PageRank.__cinit__", __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_9networkit_10_NetworKit_8PageRank_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_8PageRank_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8PageRank_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PageRank *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_8PageRank_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PageRank *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__313, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PageRank.__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_9networkit_10_NetworKit_8PageRank_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_8PageRank_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8PageRank_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PageRank *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_8PageRank_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PageRank *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__314, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PageRank.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8767
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, double tol=1e-9):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _EigenvectorCentrality(G._this, tol)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_21EigenvectorCentrality_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_21EigenvectorCentrality_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  double __pyx_v_tol;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_tol,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tol);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8767, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    if (values[1]) {
      __pyx_v_tol = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_tol == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 8767, __pyx_L3_error)
    } else {
      __pyx_v_tol = ((double)1e-9);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8767, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EigenvectorCentrality.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 8767, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21EigenvectorCentrality___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_EigenvectorCentrality *)__pyx_v_self), __pyx_v_G, __pyx_v_tol);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_21EigenvectorCentrality___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EigenvectorCentrality *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, double __pyx_v_tol) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::EigenvectorCentrality *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":8768
 * 
 * 	def __cinit__(self, Graph G, double tol=1e-9):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _EigenvectorCentrality(G._this, tol)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":8769
 * 	def __cinit__(self, Graph G, double tol=1e-9):
 * 		self._G = G
 * 		self._this = new _EigenvectorCentrality(G._this, tol)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  try {
    __pyx_t_1 = new NetworKit::EigenvectorCentrality(__pyx_v_G->_this, __pyx_v_tol);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8769, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":8767
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, double tol=1e-9):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _EigenvectorCentrality(G._this, tol)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EigenvectorCentrality.__cinit__", __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_9networkit_10_NetworKit_21EigenvectorCentrality_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21EigenvectorCentrality_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21EigenvectorCentrality_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EigenvectorCentrality *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21EigenvectorCentrality_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EigenvectorCentrality *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__315, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EigenvectorCentrality.__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_9networkit_10_NetworKit_21EigenvectorCentrality_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21EigenvectorCentrality_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21EigenvectorCentrality_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EigenvectorCentrality *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_21EigenvectorCentrality_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EigenvectorCentrality *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__316, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EigenvectorCentrality.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8801
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, bool_t normalized=False, bool_t enforceBucketQueueAlgorithm=False, bool_t storeNodeOrder = False):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _CoreDecomposition(G._this, normalized, enforceBucketQueueAlgorithm, storeNodeOrder)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_17CoreDecomposition_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_17CoreDecomposition_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  bool __pyx_v_normalized;
  bool __pyx_v_enforceBucketQueueAlgorithm;
  bool __pyx_v_storeNodeOrder;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_normalized,&__pyx_n_s_enforceBucketQueueAlgorithm,&__pyx_n_s_storeNodeOrder,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_normalized);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_enforceBucketQueueAlgorithm);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_storeNodeOrder);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8801, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    if (values[1]) {
      __pyx_v_normalized = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_normalized == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8801, __pyx_L3_error)
    } else {
      __pyx_v_normalized = ((bool)0);
    }
    if (values[2]) {
      __pyx_v_enforceBucketQueueAlgorithm = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_enforceBucketQueueAlgorithm == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8801, __pyx_L3_error)
    } else {
      __pyx_v_enforceBucketQueueAlgorithm = ((bool)0);
    }
    if (values[3]) {
      __pyx_v_storeNodeOrder = __Pyx_PyObject_IsTrue(values[3]); if (unlikely((__pyx_v_storeNodeOrder == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8801, __pyx_L3_error)
    } else {
      __pyx_v_storeNodeOrder = ((bool)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8801, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.CoreDecomposition.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 8801, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17CoreDecomposition___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_CoreDecomposition *)__pyx_v_self), __pyx_v_G, __pyx_v_normalized, __pyx_v_enforceBucketQueueAlgorithm, __pyx_v_storeNodeOrder);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_17CoreDecomposition___cinit__(struct __pyx_obj_9networkit_10_NetworKit_CoreDecomposition *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, bool __pyx_v_normalized, bool __pyx_v_enforceBucketQueueAlgorithm, bool __pyx_v_storeNodeOrder) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::CoreDecomposition *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":8802
 * 
 * 	def __cinit__(self, Graph G, bool_t normalized=False, bool_t enforceBucketQueueAlgorithm=False, bool_t storeNodeOrder = False):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _CoreDecomposition(G._this, normalized, enforceBucketQueueAlgorithm, storeNodeOrder)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":8803
 * 	def __cinit__(self, Graph G, bool_t normalized=False, bool_t enforceBucketQueueAlgorithm=False, bool_t storeNodeOrder = False):
 * 		self._G = G
 * 		self._this = new _CoreDecomposition(G._this, normalized, enforceBucketQueueAlgorithm, storeNodeOrder)             # <<<<<<<<<<<<<<
 * 
 * 	def maxCoreNumber(self):
 */
  try {
    __pyx_t_1 = new NetworKit::CoreDecomposition(__pyx_v_G->_this, __pyx_v_normalized, __pyx_v_enforceBucketQueueAlgorithm, __pyx_v_storeNodeOrder);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8803, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":8801
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, bool_t normalized=False, bool_t enforceBucketQueueAlgorithm=False, bool_t storeNodeOrder = False):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _CoreDecomposition(G._this, normalized, enforceBucketQueueAlgorithm, storeNodeOrder)
 */

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

/* "networkit/_NetworKit.pyx":8805
 * 		self._this = new _CoreDecomposition(G._this, normalized, enforceBucketQueueAlgorithm, storeNodeOrder)
 * 
 * 	def maxCoreNumber(self):             # <<<<<<<<<<<<<<
 * 		""" Get maximum core number.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_17CoreDecomposition_3maxCoreNumber(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_17CoreDecomposition_2maxCoreNumber[] = " Get maximum core number.\n\n\t\tReturns\n\t\t-------\n\t\tindex\n\t\t\tThe maximum core number.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_17CoreDecomposition_3maxCoreNumber(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("maxCoreNumber (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17CoreDecomposition_2maxCoreNumber(((struct __pyx_obj_9networkit_10_NetworKit_CoreDecomposition *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17CoreDecomposition_2maxCoreNumber(struct __pyx_obj_9networkit_10_NetworKit_CoreDecomposition *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_index __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("maxCoreNumber", 0);

  /* "networkit/_NetworKit.pyx":8813
 * 			The maximum core number.
 * 		"""
 * 		return (<_CoreDecomposition*>(self._this)).maxCoreNumber()             # <<<<<<<<<<<<<<
 * 
 * 	def getCover(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::CoreDecomposition *)__pyx_v_self->__pyx_base.__pyx_base._this)->maxCoreNumber();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8813, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":8805
 * 		self._this = new _CoreDecomposition(G._this, normalized, enforceBucketQueueAlgorithm, storeNodeOrder)
 * 
 * 	def maxCoreNumber(self):             # <<<<<<<<<<<<<<
 * 		""" Get maximum core number.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.CoreDecomposition.maxCoreNumber", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8815
 * 		return (<_CoreDecomposition*>(self._this)).maxCoreNumber()
 * 
 * 	def getCover(self):             # <<<<<<<<<<<<<<
 * 		""" Get the k-cores as cover.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_17CoreDecomposition_5getCover(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_17CoreDecomposition_4getCover[] = " Get the k-cores as cover.\n\n\t\tReturns\n\t\t-------\n\t\tvector\n\t\t\tThe k-cores as sets of nodes, indexed by k.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_17CoreDecomposition_5getCover(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getCover (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17CoreDecomposition_4getCover(((struct __pyx_obj_9networkit_10_NetworKit_CoreDecomposition *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17CoreDecomposition_4getCover(struct __pyx_obj_9networkit_10_NetworKit_CoreDecomposition *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Cover __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("getCover", 0);

  /* "networkit/_NetworKit.pyx":8823
 * 			The k-cores as sets of nodes, indexed by k.
 * 		"""
 * 		return Cover().setThis((<_CoreDecomposition*>(self._this)).getCover())             # <<<<<<<<<<<<<<
 * 
 * 	def getPartition(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Cover)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8823, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = ((NetworKit::CoreDecomposition *)__pyx_v_self->__pyx_base.__pyx_base._this)->getCover();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8823, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Cover *)((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Cover *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8823, __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;

  /* "networkit/_NetworKit.pyx":8815
 * 		return (<_CoreDecomposition*>(self._this)).maxCoreNumber()
 * 
 * 	def getCover(self):             # <<<<<<<<<<<<<<
 * 		""" Get the k-cores as cover.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.CoreDecomposition.getCover", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8825
 * 		return Cover().setThis((<_CoreDecomposition*>(self._this)).getCover())
 * 
 * 	def getPartition(self):             # <<<<<<<<<<<<<<
 * 		""" Get the k-shells as a partition object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_17CoreDecomposition_7getPartition(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_17CoreDecomposition_6getPartition[] = " Get the k-shells as a partition object.\n\n\t\tReturns\n\t\t-------\n\t\tnetworkit.Partition\n\t\t\tThe k-shells\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_17CoreDecomposition_7getPartition(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPartition (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17CoreDecomposition_6getPartition(((struct __pyx_obj_9networkit_10_NetworKit_CoreDecomposition *)__pyx_v_self));

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

static PyObject *__pyx_pf_9networkit_10_NetworKit_17CoreDecomposition_6getPartition(struct __pyx_obj_9networkit_10_NetworKit_CoreDecomposition *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Partition __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("getPartition", 0);

  /* "networkit/_NetworKit.pyx":8833
 * 			The k-shells
 * 		"""
 * 		return Partition().setThis((<_CoreDecomposition*>(self._this)).getPartition())             # <<<<<<<<<<<<<<
 * 
 * 	def getNodeOrder(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Partition)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = ((NetworKit::CoreDecomposition *)__pyx_v_self->__pyx_base.__pyx_base._this)->getPartition();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8833, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Partition *)((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8833, __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;

  /* "networkit/_NetworKit.pyx":8825
 * 		return Cover().setThis((<_CoreDecomposition*>(self._this)).getCover())
 * 
 * 	def getPartition(self):             # <<<<<<<<<<<<<<
 * 		""" Get the k-shells as a partition object.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.CoreDecomposition.getPartition", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8835
 * 		return Partition().setThis((<_CoreDecomposition*>(self._this)).getPartition())
 * 
 * 	def getNodeOrder(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get the node order.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_17CoreDecomposition_9getNodeOrder(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_17CoreDecomposition_8getNodeOrder[] = "\n\t\tGet the node order.\n\n\t\tThis is only possible when storeNodeOrder was set.\n\n\t\tReturns\n\t\t-------\n\t\tlist\n\t\t\tThe nodes sorted by increasing core number.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_17CoreDecomposition_9getNodeOrder(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNodeOrder (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17CoreDecomposition_8getNodeOrder(((struct __pyx_obj_9networkit_10_NetworKit_CoreDecomposition *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_17CoreDecomposition_8getNodeOrder(struct __pyx_obj_9networkit_10_NetworKit_CoreDecomposition *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getNodeOrder", 0);

  /* "networkit/_NetworKit.pyx":8846
 * 			The nodes sorted by increasing core number.
 * 		"""
 * 		return (<_CoreDecomposition*>(self._this)).getNodeOrder()             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/centrality/LocalClusteringCoefficient.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::CoreDecomposition *)__pyx_v_self->__pyx_base.__pyx_base._this)->getNodeOrder();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8846, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8846, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":8835
 * 		return Partition().setThis((<_CoreDecomposition*>(self._this)).getPartition())
 * 
 * 	def getNodeOrder(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get the node order.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.CoreDecomposition.getNodeOrder", __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_9networkit_10_NetworKit_17CoreDecomposition_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17CoreDecomposition_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17CoreDecomposition_10__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_CoreDecomposition *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_17CoreDecomposition_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CoreDecomposition *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__317, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.CoreDecomposition.__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_9networkit_10_NetworKit_17CoreDecomposition_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17CoreDecomposition_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17CoreDecomposition_12__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_CoreDecomposition *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_17CoreDecomposition_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CoreDecomposition *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__318, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.CoreDecomposition.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8878
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, bool_t turbo = False):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _LocalClusteringCoefficient(G._this, turbo)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_26LocalClusteringCoefficient_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_26LocalClusteringCoefficient_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  bool __pyx_v_turbo;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_turbo,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_turbo);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8878, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    if (values[1]) {
      __pyx_v_turbo = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_turbo == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8878, __pyx_L3_error)
    } else {
      __pyx_v_turbo = ((bool)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8878, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LocalClusteringCoefficient.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 8878, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26LocalClusteringCoefficient___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_LocalClusteringCoefficient *)__pyx_v_self), __pyx_v_G, __pyx_v_turbo);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_26LocalClusteringCoefficient___cinit__(struct __pyx_obj_9networkit_10_NetworKit_LocalClusteringCoefficient *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, bool __pyx_v_turbo) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::LocalClusteringCoefficient *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":8879
 * 
 * 	def __cinit__(self, Graph G, bool_t turbo = False):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _LocalClusteringCoefficient(G._this, turbo)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":8880
 * 	def __cinit__(self, Graph G, bool_t turbo = False):
 * 		self._G = G
 * 		self._this = new _LocalClusteringCoefficient(G._this, turbo)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  try {
    __pyx_t_1 = new NetworKit::LocalClusteringCoefficient(__pyx_v_G->_this, __pyx_v_turbo);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8880, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":8878
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, bool_t turbo = False):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _LocalClusteringCoefficient(G._this, turbo)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LocalClusteringCoefficient.__cinit__", __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_9networkit_10_NetworKit_26LocalClusteringCoefficient_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_26LocalClusteringCoefficient_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26LocalClusteringCoefficient_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LocalClusteringCoefficient *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_26LocalClusteringCoefficient_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalClusteringCoefficient *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__319, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LocalClusteringCoefficient.__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_9networkit_10_NetworKit_26LocalClusteringCoefficient_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_26LocalClusteringCoefficient_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26LocalClusteringCoefficient_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LocalClusteringCoefficient *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_26LocalClusteringCoefficient_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalClusteringCoefficient *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__320, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LocalClusteringCoefficient.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8900
 * 	"""
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _Sfigality(G._this)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_9Sfigality_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_9Sfigality_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8900, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8900, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Sfigality.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 8900, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Sfigality___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_Sfigality *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_9Sfigality___cinit__(struct __pyx_obj_9networkit_10_NetworKit_Sfigality *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::Sfigality *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":8901
 * 
 * 	def __cinit__(self, Graph G):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _Sfigality(G._this)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":8902
 * 	def __cinit__(self, Graph G):
 * 		self._G = G
 * 		self._this = new _Sfigality(G._this)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  try {
    __pyx_t_1 = new NetworKit::Sfigality(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8902, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":8900
 * 	"""
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _Sfigality(G._this)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Sfigality.__cinit__", __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_9networkit_10_NetworKit_9Sfigality_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Sfigality_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Sfigality_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Sfigality *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Sfigality_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Sfigality *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__321, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Sfigality.__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_9networkit_10_NetworKit_9Sfigality_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Sfigality_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Sfigality_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Sfigality *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Sfigality_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Sfigality *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__322, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Sfigality.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8945
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G, epsilon=0.01, delta=0.1, storePredecessors = True, universalConstant=1.0):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _DynApproxBetweenness(G._this, epsilon, delta, storePredecessors, universalConstant)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_20DynApproxBetweenness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_20DynApproxBetweenness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_epsilon = 0;
  PyObject *__pyx_v_delta = 0;
  PyObject *__pyx_v_storePredecessors = 0;
  PyObject *__pyx_v_universalConstant = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_epsilon,&__pyx_n_s_delta,&__pyx_n_s_storePredecessors,&__pyx_n_s_universalConstant,0};
    PyObject* values[5] = {0,0,0,0,0};
    values[1] = ((PyObject *)__pyx_float_0_01);
    values[2] = ((PyObject *)__pyx_float_0_1);
    values[3] = ((PyObject *)Py_True);
    values[4] = ((PyObject *)__pyx_float_1_0);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_epsilon);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_delta);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_storePredecessors);
          if (value) { values[3] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_universalConstant);
          if (value) { values[4] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 8945, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_epsilon = values[1];
    __pyx_v_delta = values[2];
    __pyx_v_storePredecessors = values[3];
    __pyx_v_universalConstant = values[4];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 8945, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynApproxBetweenness.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 8945, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *)__pyx_v_self), __pyx_v_G, __pyx_v_epsilon, __pyx_v_delta, __pyx_v_storePredecessors, __pyx_v_universalConstant);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_epsilon, PyObject *__pyx_v_delta, PyObject *__pyx_v_storePredecessors, PyObject *__pyx_v_universalConstant) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  double __pyx_t_2;
  bool __pyx_t_3;
  double __pyx_t_4;
  NetworKit::DynApproxBetweenness *__pyx_t_5;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":8946
 * 
 * 	def __cinit__(self, Graph G, epsilon=0.01, delta=0.1, storePredecessors = True, universalConstant=1.0):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _DynApproxBetweenness(G._this, epsilon, delta, storePredecessors, universalConstant)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":8947
 * 	def __cinit__(self, Graph G, epsilon=0.01, delta=0.1, storePredecessors = True, universalConstant=1.0):
 * 		self._G = G
 * 		self._this = new _DynApproxBetweenness(G._this, epsilon, delta, storePredecessors, universalConstant)             # <<<<<<<<<<<<<<
 * 
 * 	def update(self, ev):
 */
  __pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_epsilon); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 8947, __pyx_L1_error)
  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_delta); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 8947, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_storePredecessors); if (unlikely((__pyx_t_3 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8947, __pyx_L1_error)
  __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_v_universalConstant); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 8947, __pyx_L1_error)
  try {
    __pyx_t_5 = new NetworKit::DynApproxBetweenness(__pyx_v_G->_this, __pyx_t_1, __pyx_t_2, __pyx_t_3, __pyx_t_4);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8947, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_5;

  /* "networkit/_NetworKit.pyx":8945
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G, epsilon=0.01, delta=0.1, storePredecessors = True, universalConstant=1.0):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _DynApproxBetweenness(G._this, epsilon, delta, storePredecessors, universalConstant)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynApproxBetweenness.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8949
 * 		self._this = new _DynApproxBetweenness(G._this, epsilon, delta, storePredecessors, universalConstant)
 * 
 * 	def update(self, ev):             # <<<<<<<<<<<<<<
 * 		""" Updates the betweenness centralities after the edge insertions.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20DynApproxBetweenness_3update(PyObject *__pyx_v_self, PyObject *__pyx_v_ev); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_20DynApproxBetweenness_2update[] = " Updates the betweenness centralities after the edge insertions.\n\n\t\tParameters\n\t\t----------\n\t\tev : GraphEvent.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_20DynApproxBetweenness_3update(PyObject *__pyx_v_self, PyObject *__pyx_v_ev) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("update (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness_2update(((struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *)__pyx_v_self), ((PyObject *)__pyx_v_ev));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness_2update(struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *__pyx_v_self, PyObject *__pyx_v_ev) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum NetworKit::GraphEvent::Type __pyx_t_2;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_3;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_4;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_5;
  NetworKit::GraphEvent __pyx_t_6;
  __Pyx_RefNannySetupContext("update", 0);

  /* "networkit/_NetworKit.pyx":8956
 * 		ev : GraphEvent.
 * 		"""
 * 		(<_DynApproxBetweenness*>(self._this)).update(_GraphEvent(ev.type, ev.u, ev.v, ev.w))             # <<<<<<<<<<<<<<
 * 
 * 	def updateBatch(self, batch):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum NetworKit::GraphEvent::Type)__Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 8956, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_u); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_As_uint64_t(__pyx_t_1); if (unlikely((__pyx_t_3 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8956, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_v); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyInt_As_uint64_t(__pyx_t_1); if (unlikely((__pyx_t_4 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8956, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_w); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 8956, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  try {
    __pyx_t_6 = NetworKit::GraphEvent(__pyx_t_2, __pyx_t_3, __pyx_t_4, __pyx_t_5);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8956, __pyx_L1_error)
  }
  try {
    ((NetworKit::DynApproxBetweenness *)__pyx_v_self->__pyx_base._this)->update(__pyx_t_6);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8956, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":8949
 * 		self._this = new _DynApproxBetweenness(G._this, epsilon, delta, storePredecessors, universalConstant)
 * 
 * 	def update(self, ev):             # <<<<<<<<<<<<<<
 * 		""" Updates the betweenness centralities after the edge insertions.
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynApproxBetweenness.update", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8958
 * 		(<_DynApproxBetweenness*>(self._this)).update(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 
 * 	def updateBatch(self, batch):             # <<<<<<<<<<<<<<
 * 		""" Updates the betweenness centralities after the batch `batch` of edge insertions.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20DynApproxBetweenness_5updateBatch(PyObject *__pyx_v_self, PyObject *__pyx_v_batch); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_20DynApproxBetweenness_4updateBatch[] = " Updates the betweenness centralities after the batch `batch` of edge insertions.\n\n\t\tParameters\n\t\t----------\n\t\tbatch : list of GraphEvent.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_20DynApproxBetweenness_5updateBatch(PyObject *__pyx_v_self, PyObject *__pyx_v_batch) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("updateBatch (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness_4updateBatch(((struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *)__pyx_v_self), ((PyObject *)__pyx_v_batch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness_4updateBatch(struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *__pyx_v_self, PyObject *__pyx_v_batch) {
  std::vector<NetworKit::GraphEvent>  __pyx_v__batch;
  PyObject *__pyx_v_ev = 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;
  enum NetworKit::GraphEvent::Type __pyx_t_5;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_6;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_7;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_8;
  NetworKit::GraphEvent __pyx_t_9;
  __Pyx_RefNannySetupContext("updateBatch", 0);

  /* "networkit/_NetworKit.pyx":8966
 * 		"""
 * 		cdef vector[_GraphEvent] _batch
 * 		for ev in batch:             # <<<<<<<<<<<<<<
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		(<_DynApproxBetweenness*>(self._this)).updateBatch(_batch)
 */
  if (likely(PyList_CheckExact(__pyx_v_batch)) || PyTuple_CheckExact(__pyx_v_batch)) {
    __pyx_t_1 = __pyx_v_batch; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_batch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8966, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8966, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 8966, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8966, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 8966, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8966, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 8966, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_ev, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "networkit/_NetworKit.pyx":8967
 * 		cdef vector[_GraphEvent] _batch
 * 		for ev in batch:
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))             # <<<<<<<<<<<<<<
 * 		(<_DynApproxBetweenness*>(self._this)).updateBatch(_batch)
 * 
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8967, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = ((enum NetworKit::GraphEvent::Type)__Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 8967, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_u); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8967, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyInt_As_uint64_t(__pyx_t_4); if (unlikely((__pyx_t_6 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8967, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_v); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8967, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = __Pyx_PyInt_As_uint64_t(__pyx_t_4); if (unlikely((__pyx_t_7 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8967, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_w); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8967, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_8 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 8967, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    try {
      __pyx_t_9 = NetworKit::GraphEvent(__pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 8967, __pyx_L1_error)
    }
    try {
      __pyx_v__batch.push_back(__pyx_t_9);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 8967, __pyx_L1_error)
    }

    /* "networkit/_NetworKit.pyx":8966
 * 		"""
 * 		cdef vector[_GraphEvent] _batch
 * 		for ev in batch:             # <<<<<<<<<<<<<<
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		(<_DynApproxBetweenness*>(self._this)).updateBatch(_batch)
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":8968
 * 		for ev in batch:
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		(<_DynApproxBetweenness*>(self._this)).updateBatch(_batch)             # <<<<<<<<<<<<<<
 * 
 * 	def scores(self):
 */
  try {
    ((NetworKit::DynApproxBetweenness *)__pyx_v_self->__pyx_base._this)->updateBatch(__pyx_v__batch);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8968, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":8958
 * 		(<_DynApproxBetweenness*>(self._this)).update(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 
 * 	def updateBatch(self, batch):             # <<<<<<<<<<<<<<
 * 		""" Updates the betweenness centralities after the batch `batch` of edge insertions.
 * 
 */

  /* 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_AddTraceback("networkit._NetworKit.DynApproxBetweenness.updateBatch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8970
 * 		(<_DynApproxBetweenness*>(self._this)).updateBatch(_batch)
 * 
 * 	def scores(self):             # <<<<<<<<<<<<<<
 * 		""" Get a vector containing the betweenness score for each node in the graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20DynApproxBetweenness_7scores(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_20DynApproxBetweenness_6scores[] = " Get a vector containing the betweenness score for each node in the graph.\n\n\t\tReturns\n\t\t-------\n\t\tvector\n\t\t\tThe betweenness scores calculated by run().\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_20DynApproxBetweenness_7scores(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("scores (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness_6scores(((struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness_6scores(struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<double>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("scores", 0);

  /* "networkit/_NetworKit.pyx":8978
 * 			The betweenness scores calculated by run().
 * 		"""
 * 		return (<_DynApproxBetweenness*>(self._this)).scores()             # <<<<<<<<<<<<<<
 * 
 * 	def score(self, v):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::DynApproxBetweenness *)__pyx_v_self->__pyx_base._this)->scores();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8978, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_double(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":8970
 * 		(<_DynApproxBetweenness*>(self._this)).updateBatch(_batch)
 * 
 * 	def scores(self):             # <<<<<<<<<<<<<<
 * 		""" Get a vector containing the betweenness score for each node in the graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.DynApproxBetweenness.scores", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8980
 * 		return (<_DynApproxBetweenness*>(self._this)).scores()
 * 
 * 	def score(self, v):             # <<<<<<<<<<<<<<
 * 		""" Get the betweenness score of node `v` calculated by run().
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20DynApproxBetweenness_9score(PyObject *__pyx_v_self, PyObject *__pyx_v_v); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_20DynApproxBetweenness_8score[] = " Get the betweenness score of node `v` calculated by run().\n\n\t\tParameters\n\t\t----------\n\t\tv : node\n\t\t\tA node.\n\n\t\tReturns\n\t\t-------\n\t\tdouble\n\t\t\tThe betweenness score of node `v.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_20DynApproxBetweenness_9score(PyObject *__pyx_v_self, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("score (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness_8score(((struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *)__pyx_v_self), ((PyObject *)__pyx_v_v));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness_8score(struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *__pyx_v_self, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  double __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("score", 0);

  /* "networkit/_NetworKit.pyx":8993
 * 			The betweenness score of node `v.
 * 		"""
 * 		return (<_DynApproxBetweenness*>(self._this)).score(v)             # <<<<<<<<<<<<<<
 * 
 * 	def ranking(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 8993, __pyx_L1_error)
  try {
    __pyx_t_2 = ((NetworKit::DynApproxBetweenness *)__pyx_v_self->__pyx_base._this)->score(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 8993, __pyx_L1_error)
  }
  __pyx_t_3 = PyFloat_FromDouble(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8993, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":8980
 * 		return (<_DynApproxBetweenness*>(self._this)).scores()
 * 
 * 	def score(self, v):             # <<<<<<<<<<<<<<
 * 		""" Get the betweenness score of node `v` calculated by run().
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.DynApproxBetweenness.score", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":8995
 * 		return (<_DynApproxBetweenness*>(self._this)).score(v)
 * 
 * 	def ranking(self):             # <<<<<<<<<<<<<<
 * 		""" Get a vector of pairs sorted into descending order. Each pair contains a node and the corresponding score
 * 		calculated by run().
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20DynApproxBetweenness_11ranking(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_20DynApproxBetweenness_10ranking[] = " Get a vector of pairs sorted into descending order. Each pair contains a node and the corresponding score\n\t\tcalculated by run().\n\n\t\tReturns\n\t\t-------\n\t\tvector\n\t\t\tA vector of pairs.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_20DynApproxBetweenness_11ranking(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("ranking (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness_10ranking(((struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness_10ranking(struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,double> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("ranking", 0);

  /* "networkit/_NetworKit.pyx":9004
 * 			A vector of pairs.
 * 		"""
 * 		return (<_DynApproxBetweenness*>(self._this)).ranking()             # <<<<<<<<<<<<<<
 * 
 * 	def getNumberOfSamples(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::DynApproxBetweenness *)__pyx_v_self->__pyx_base._this)->ranking();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9004, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c_double_3e___(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":8995
 * 		return (<_DynApproxBetweenness*>(self._this)).score(v)
 * 
 * 	def ranking(self):             # <<<<<<<<<<<<<<
 * 		""" Get a vector of pairs sorted into descending order. Each pair contains a node and the corresponding score
 * 		calculated by run().
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.DynApproxBetweenness.ranking", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9006
 * 		return (<_DynApproxBetweenness*>(self._this)).ranking()
 * 
 * 	def getNumberOfSamples(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get number of path samples used in last calculation.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20DynApproxBetweenness_13getNumberOfSamples(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_20DynApproxBetweenness_12getNumberOfSamples[] = "\n\t\tGet number of path samples used in last calculation.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_20DynApproxBetweenness_13getNumberOfSamples(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNumberOfSamples (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness_12getNumberOfSamples(((struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness_12getNumberOfSamples(struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getNumberOfSamples", 0);

  /* "networkit/_NetworKit.pyx":9010
 * 		Get number of path samples used in last calculation.
 * 		"""
 * 		return (<_DynApproxBetweenness*>(self._this)).getNumberOfSamples()             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/centrality/DynBetweenness.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::DynApproxBetweenness *)__pyx_v_self->__pyx_base._this)->getNumberOfSamples();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9010, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9006
 * 		return (<_DynApproxBetweenness*>(self._this)).ranking()
 * 
 * 	def getNumberOfSamples(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get number of path samples used in last calculation.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.DynApproxBetweenness.getNumberOfSamples", __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_9networkit_10_NetworKit_20DynApproxBetweenness_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20DynApproxBetweenness_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness_14__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__323, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynApproxBetweenness.__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_9networkit_10_NetworKit_20DynApproxBetweenness_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20DynApproxBetweenness_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness_16__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20DynApproxBetweenness_16__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__324, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynApproxBetweenness.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9035
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _DynBetweenness(G._this)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_14DynBetweenness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_14DynBetweenness_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 9035, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9035, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynBetweenness.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 9035, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14DynBetweenness___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_14DynBetweenness___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::DynBetweenness *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":9036
 * 
 * 	def __cinit__(self, Graph G):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _DynBetweenness(G._this)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":9037
 * 	def __cinit__(self, Graph G):
 * 		self._G = G
 * 		self._this = new _DynBetweenness(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def update(self, ev):
 */
  try {
    __pyx_t_1 = new NetworKit::DynBetweenness(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9037, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":9035
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _DynBetweenness(G._this)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynBetweenness.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9039
 * 		self._this = new _DynBetweenness(G._this)
 * 
 * 	def update(self, ev):             # <<<<<<<<<<<<<<
 * 		""" Updates the betweenness centralities after the edge insertions.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_14DynBetweenness_3update(PyObject *__pyx_v_self, PyObject *__pyx_v_ev); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_14DynBetweenness_2update[] = " Updates the betweenness centralities after the edge insertions.\n\n\t\tParameters\n\t\t----------\n\t\tev : GraphEvent.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_14DynBetweenness_3update(PyObject *__pyx_v_self, PyObject *__pyx_v_ev) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("update (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14DynBetweenness_2update(((struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *)__pyx_v_self), ((PyObject *)__pyx_v_ev));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_14DynBetweenness_2update(struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *__pyx_v_self, PyObject *__pyx_v_ev) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum NetworKit::GraphEvent::Type __pyx_t_2;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_3;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_4;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_5;
  NetworKit::GraphEvent __pyx_t_6;
  __Pyx_RefNannySetupContext("update", 0);

  /* "networkit/_NetworKit.pyx":9046
 * 		ev : GraphEvent.
 * 		"""
 * 		(<_DynBetweenness*>(self._this)).update(_GraphEvent(ev.type, ev.u, ev.v, ev.w))             # <<<<<<<<<<<<<<
 * 
 * 	def updateBatch(self, batch):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum NetworKit::GraphEvent::Type)__Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 9046, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_u); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_As_uint64_t(__pyx_t_1); if (unlikely((__pyx_t_3 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9046, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_v); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyInt_As_uint64_t(__pyx_t_1); if (unlikely((__pyx_t_4 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9046, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_w); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 9046, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  try {
    __pyx_t_6 = NetworKit::GraphEvent(__pyx_t_2, __pyx_t_3, __pyx_t_4, __pyx_t_5);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9046, __pyx_L1_error)
  }
  try {
    ((NetworKit::DynBetweenness *)__pyx_v_self->__pyx_base._this)->update(__pyx_t_6);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9046, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":9039
 * 		self._this = new _DynBetweenness(G._this)
 * 
 * 	def update(self, ev):             # <<<<<<<<<<<<<<
 * 		""" Updates the betweenness centralities after the edge insertions.
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynBetweenness.update", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9048
 * 		(<_DynBetweenness*>(self._this)).update(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 
 * 	def updateBatch(self, batch):             # <<<<<<<<<<<<<<
 * 		""" Updates the betweenness centralities after the batch `batch` of edge insertions.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_14DynBetweenness_5updateBatch(PyObject *__pyx_v_self, PyObject *__pyx_v_batch); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_14DynBetweenness_4updateBatch[] = " Updates the betweenness centralities after the batch `batch` of edge insertions.\n\n\t\tParameters\n\t\t----------\n\t\tbatch : list of GraphEvent.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_14DynBetweenness_5updateBatch(PyObject *__pyx_v_self, PyObject *__pyx_v_batch) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("updateBatch (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14DynBetweenness_4updateBatch(((struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *)__pyx_v_self), ((PyObject *)__pyx_v_batch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_14DynBetweenness_4updateBatch(struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *__pyx_v_self, PyObject *__pyx_v_batch) {
  std::vector<NetworKit::GraphEvent>  __pyx_v__batch;
  PyObject *__pyx_v_ev = 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;
  enum NetworKit::GraphEvent::Type __pyx_t_5;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_6;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_7;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_8;
  NetworKit::GraphEvent __pyx_t_9;
  __Pyx_RefNannySetupContext("updateBatch", 0);

  /* "networkit/_NetworKit.pyx":9056
 * 		"""
 * 		cdef vector[_GraphEvent] _batch
 * 		for ev in batch:             # <<<<<<<<<<<<<<
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		(<_DynBetweenness*>(self._this)).updateBatch(_batch)
 */
  if (likely(PyList_CheckExact(__pyx_v_batch)) || PyTuple_CheckExact(__pyx_v_batch)) {
    __pyx_t_1 = __pyx_v_batch; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_batch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9056, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9056, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 9056, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9056, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 9056, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9056, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 9056, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_ev, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "networkit/_NetworKit.pyx":9057
 * 		cdef vector[_GraphEvent] _batch
 * 		for ev in batch:
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))             # <<<<<<<<<<<<<<
 * 		(<_DynBetweenness*>(self._this)).updateBatch(_batch)
 * 
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = ((enum NetworKit::GraphEvent::Type)__Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 9057, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_u); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyInt_As_uint64_t(__pyx_t_4); if (unlikely((__pyx_t_6 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9057, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_v); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = __Pyx_PyInt_As_uint64_t(__pyx_t_4); if (unlikely((__pyx_t_7 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9057, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_w); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_8 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 9057, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    try {
      __pyx_t_9 = NetworKit::GraphEvent(__pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 9057, __pyx_L1_error)
    }
    try {
      __pyx_v__batch.push_back(__pyx_t_9);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 9057, __pyx_L1_error)
    }

    /* "networkit/_NetworKit.pyx":9056
 * 		"""
 * 		cdef vector[_GraphEvent] _batch
 * 		for ev in batch:             # <<<<<<<<<<<<<<
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		(<_DynBetweenness*>(self._this)).updateBatch(_batch)
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":9058
 * 		for ev in batch:
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		(<_DynBetweenness*>(self._this)).updateBatch(_batch)             # <<<<<<<<<<<<<<
 * 
 * 	def scores(self):
 */
  try {
    ((NetworKit::DynBetweenness *)__pyx_v_self->__pyx_base._this)->updateBatch(__pyx_v__batch);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9058, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":9048
 * 		(<_DynBetweenness*>(self._this)).update(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 
 * 	def updateBatch(self, batch):             # <<<<<<<<<<<<<<
 * 		""" Updates the betweenness centralities after the batch `batch` of edge insertions.
 * 
 */

  /* 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_AddTraceback("networkit._NetworKit.DynBetweenness.updateBatch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9060
 * 		(<_DynBetweenness*>(self._this)).updateBatch(_batch)
 * 
 * 	def scores(self):             # <<<<<<<<<<<<<<
 * 		""" Get a vector containing the betweenness score for each node in the graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_14DynBetweenness_7scores(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_14DynBetweenness_6scores[] = " Get a vector containing the betweenness score for each node in the graph.\n\n\t\tReturns\n\t\t-------\n\t\tvector\n\t\t\tThe betweenness scores calculated by run().\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_14DynBetweenness_7scores(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("scores (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14DynBetweenness_6scores(((struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_14DynBetweenness_6scores(struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<double>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("scores", 0);

  /* "networkit/_NetworKit.pyx":9068
 * 			The betweenness scores calculated by run().
 * 		"""
 * 		return (<_DynBetweenness*>(self._this)).scores()             # <<<<<<<<<<<<<<
 * 
 * 	def score(self, v):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::DynBetweenness *)__pyx_v_self->__pyx_base._this)->scores();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9068, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_double(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9068, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9060
 * 		(<_DynBetweenness*>(self._this)).updateBatch(_batch)
 * 
 * 	def scores(self):             # <<<<<<<<<<<<<<
 * 		""" Get a vector containing the betweenness score for each node in the graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.DynBetweenness.scores", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9070
 * 		return (<_DynBetweenness*>(self._this)).scores()
 * 
 * 	def score(self, v):             # <<<<<<<<<<<<<<
 * 		""" Get the betweenness score of node `v` calculated by run().
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_14DynBetweenness_9score(PyObject *__pyx_v_self, PyObject *__pyx_v_v); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_14DynBetweenness_8score[] = " Get the betweenness score of node `v` calculated by run().\n\n\t\tParameters\n\t\t----------\n\t\tv : node\n\t\t\tA node.\n\n\t\tReturns\n\t\t-------\n\t\tdouble\n\t\t\tThe betweenness score of node `v.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_14DynBetweenness_9score(PyObject *__pyx_v_self, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("score (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14DynBetweenness_8score(((struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *)__pyx_v_self), ((PyObject *)__pyx_v_v));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_14DynBetweenness_8score(struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *__pyx_v_self, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  double __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("score", 0);

  /* "networkit/_NetworKit.pyx":9083
 * 			The betweenness score of node `v.
 * 		"""
 * 		return (<_DynBetweenness*>(self._this)).score(v)             # <<<<<<<<<<<<<<
 * 
 * 	def ranking(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9083, __pyx_L1_error)
  try {
    __pyx_t_2 = ((NetworKit::DynBetweenness *)__pyx_v_self->__pyx_base._this)->score(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9083, __pyx_L1_error)
  }
  __pyx_t_3 = PyFloat_FromDouble(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9070
 * 		return (<_DynBetweenness*>(self._this)).scores()
 * 
 * 	def score(self, v):             # <<<<<<<<<<<<<<
 * 		""" Get the betweenness score of node `v` calculated by run().
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.DynBetweenness.score", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9085
 * 		return (<_DynBetweenness*>(self._this)).score(v)
 * 
 * 	def ranking(self):             # <<<<<<<<<<<<<<
 * 		""" Get a vector of pairs sorted into descending order. Each pair contains a node and the corresponding score
 * 		calculated by run().
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_14DynBetweenness_11ranking(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_14DynBetweenness_10ranking[] = " Get a vector of pairs sorted into descending order. Each pair contains a node and the corresponding score\n\t\tcalculated by run().\n\n\t\tReturns\n\t\t-------\n\t\tvector\n\t\t\tA vector of pairs.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_14DynBetweenness_11ranking(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("ranking (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14DynBetweenness_10ranking(((struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_14DynBetweenness_10ranking(struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,double> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("ranking", 0);

  /* "networkit/_NetworKit.pyx":9094
 * 			A vector of pairs.
 * 		"""
 * 		return (<_DynBetweenness*>(self._this)).ranking()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::DynBetweenness *)__pyx_v_self->__pyx_base._this)->ranking();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9094, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c_double_3e___(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9094, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9085
 * 		return (<_DynBetweenness*>(self._this)).score(v)
 * 
 * 	def ranking(self):             # <<<<<<<<<<<<<<
 * 		""" Get a vector of pairs sorted into descending order. Each pair contains a node and the corresponding score
 * 		calculated by run().
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.DynBetweenness.ranking", __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_9networkit_10_NetworKit_14DynBetweenness_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14DynBetweenness_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14DynBetweenness_12__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_14DynBetweenness_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__325, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynBetweenness.__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_9networkit_10_NetworKit_14DynBetweenness_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14DynBetweenness_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14DynBetweenness_14__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_14DynBetweenness_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__326, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynBetweenness.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9128
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G, node):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _DynBetweennessOneNode(G._this, node)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_node = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_node,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); __PYX_ERR(0, 9128, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 9128, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_node = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9128, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynBetweennessOneNode.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 9128, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *)__pyx_v_self), __pyx_v_G, __pyx_v_node);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_node) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  NetworKit::DynBetweennessOneNode *__pyx_t_2;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":9129
 * 
 * 	def __cinit__(self, Graph G, node):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _DynBetweennessOneNode(G._this, node)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":9130
 * 	def __cinit__(self, Graph G, node):
 * 		self._G = G
 * 		self._this = new _DynBetweennessOneNode(G._this, node)             # <<<<<<<<<<<<<<
 * 
 * 	# this is necessary so that the C++ object gets properly garbage collected
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_node); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9130, __pyx_L1_error)
  try {
    __pyx_t_2 = new NetworKit::DynBetweennessOneNode(__pyx_v_G->_this, __pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9130, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_2;

  /* "networkit/_NetworKit.pyx":9128
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G, node):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _DynBetweennessOneNode(G._this, node)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynBetweennessOneNode.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9133
 * 
 * 	# this is necessary so that the C++ object gets properly garbage collected
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":9134
 * 	# this is necessary so that the C++ object gets properly garbage collected
 * 	def __dealloc__(self):
 * 		del self._this             # <<<<<<<<<<<<<<
 * 
 * 	def run(self):
 */
  delete __pyx_v_self->_this;

  /* "networkit/_NetworKit.pyx":9133
 * 
 * 	# this is necessary so that the C++ object gets properly garbage collected
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":9136
 * 		del self._this
 * 
 * 	def run(self):             # <<<<<<<<<<<<<<
 * 		with nogil:
 * 			self._this.run()
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_5run(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_5run(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_4run(((struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_4run(struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":9137
 * 
 * 	def run(self):
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.run()
 * 		return self
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":9138
 * 	def run(self):
 * 		with nogil:
 * 			self._this.run()             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
        try {
          __pyx_v_self->_this->run();
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 9138, __pyx_L4_error)
        }
      }

      /* "networkit/_NetworKit.pyx":9137
 * 
 * 	def run(self):
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.run()
 * 		return self
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":9139
 * 		with nogil:
 * 			self._this.run()
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def update(self, ev):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9136
 * 		del self._this
 * 
 * 	def run(self):             # <<<<<<<<<<<<<<
 * 		with nogil:
 * 			self._this.run()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynBetweennessOneNode.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9141
 * 		return self
 * 
 * 	def update(self, ev):             # <<<<<<<<<<<<<<
 * 		""" Updates the betweenness centralities after the batch `batch` of edge insertions.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_7update(PyObject *__pyx_v_self, PyObject *__pyx_v_ev); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_21DynBetweennessOneNode_6update[] = " Updates the betweenness centralities after the batch `batch` of edge insertions.\n\n\t\tParameters\n\t\t----------\n\t\tev : edge insertion.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_7update(PyObject *__pyx_v_self, PyObject *__pyx_v_ev) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("update (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_6update(((struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *)__pyx_v_self), ((PyObject *)__pyx_v_ev));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_6update(struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *__pyx_v_self, PyObject *__pyx_v_ev) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum NetworKit::GraphEvent::Type __pyx_t_2;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_3;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_4;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_5;
  NetworKit::GraphEvent __pyx_t_6;
  __Pyx_RefNannySetupContext("update", 0);

  /* "networkit/_NetworKit.pyx":9148
 * 		ev : edge insertion.
 * 		"""
 * 		self._this.update(_GraphEvent(ev.type, ev.u, ev.v, ev.w))             # <<<<<<<<<<<<<<
 * 
 * 	def updateBatch(self, batch):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum NetworKit::GraphEvent::Type)__Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 9148, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_u); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_As_uint64_t(__pyx_t_1); if (unlikely((__pyx_t_3 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9148, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_v); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyInt_As_uint64_t(__pyx_t_1); if (unlikely((__pyx_t_4 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9148, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_w); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 9148, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  try {
    __pyx_t_6 = NetworKit::GraphEvent(__pyx_t_2, __pyx_t_3, __pyx_t_4, __pyx_t_5);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9148, __pyx_L1_error)
  }
  try {
    __pyx_v_self->_this->update(__pyx_t_6);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9148, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":9141
 * 		return self
 * 
 * 	def update(self, ev):             # <<<<<<<<<<<<<<
 * 		""" Updates the betweenness centralities after the batch `batch` of edge insertions.
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynBetweennessOneNode.update", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9150
 * 		self._this.update(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 
 * 	def updateBatch(self, batch):             # <<<<<<<<<<<<<<
 * 		""" Updates the betweenness centrality of node x after the batch `batch` of edge insertions.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_9updateBatch(PyObject *__pyx_v_self, PyObject *__pyx_v_batch); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_21DynBetweennessOneNode_8updateBatch[] = " Updates the betweenness centrality of node x after the batch `batch` of edge insertions.\n\n\t\tParameters\n\t\t----------\n\t\tbatch : list of GraphEvent.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_9updateBatch(PyObject *__pyx_v_self, PyObject *__pyx_v_batch) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("updateBatch (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_8updateBatch(((struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *)__pyx_v_self), ((PyObject *)__pyx_v_batch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_8updateBatch(struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *__pyx_v_self, PyObject *__pyx_v_batch) {
  std::vector<NetworKit::GraphEvent>  __pyx_v__batch;
  PyObject *__pyx_v_ev = 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;
  enum NetworKit::GraphEvent::Type __pyx_t_5;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_6;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_7;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_8;
  NetworKit::GraphEvent __pyx_t_9;
  __Pyx_RefNannySetupContext("updateBatch", 0);

  /* "networkit/_NetworKit.pyx":9158
 * 		"""
 * 		cdef vector[_GraphEvent] _batch
 * 		for ev in batch:             # <<<<<<<<<<<<<<
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		self._this.updateBatch(_batch)
 */
  if (likely(PyList_CheckExact(__pyx_v_batch)) || PyTuple_CheckExact(__pyx_v_batch)) {
    __pyx_t_1 = __pyx_v_batch; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_batch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9158, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9158, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 9158, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9158, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 9158, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9158, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 9158, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_ev, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "networkit/_NetworKit.pyx":9159
 * 		cdef vector[_GraphEvent] _batch
 * 		for ev in batch:
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))             # <<<<<<<<<<<<<<
 * 		self._this.updateBatch(_batch)
 * 
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = ((enum NetworKit::GraphEvent::Type)__Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 9159, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_u); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyInt_As_uint64_t(__pyx_t_4); if (unlikely((__pyx_t_6 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9159, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_v); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = __Pyx_PyInt_As_uint64_t(__pyx_t_4); if (unlikely((__pyx_t_7 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9159, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_w); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_8 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 9159, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    try {
      __pyx_t_9 = NetworKit::GraphEvent(__pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 9159, __pyx_L1_error)
    }
    try {
      __pyx_v__batch.push_back(__pyx_t_9);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 9159, __pyx_L1_error)
    }

    /* "networkit/_NetworKit.pyx":9158
 * 		"""
 * 		cdef vector[_GraphEvent] _batch
 * 		for ev in batch:             # <<<<<<<<<<<<<<
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		self._this.updateBatch(_batch)
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":9160
 * 		for ev in batch:
 * 			_batch.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		self._this.updateBatch(_batch)             # <<<<<<<<<<<<<<
 * 
 * 	def getDistance(self, u, v):
 */
  try {
    __pyx_v_self->_this->updateBatch(__pyx_v__batch);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9160, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":9150
 * 		self._this.update(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 
 * 	def updateBatch(self, batch):             # <<<<<<<<<<<<<<
 * 		""" Updates the betweenness centrality of node x after the batch `batch` of edge insertions.
 * 
 */

  /* 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_AddTraceback("networkit._NetworKit.DynBetweennessOneNode.updateBatch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9162
 * 		self._this.updateBatch(_batch)
 * 
 * 	def getDistance(self, u, v):             # <<<<<<<<<<<<<<
 * 		""" Returns the distance between node u and node v.
 * 		"""
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_11getDistance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_21DynBetweennessOneNode_10getDistance[] = " Returns the distance between node u and node v.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_11getDistance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_u = 0;
  PyObject *__pyx_v_v = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDistance (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("getDistance", 1, 2, 2, 1); __PYX_ERR(0, 9162, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getDistance") < 0)) __PYX_ERR(0, 9162, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = values[0];
    __pyx_v_v = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getDistance", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9162, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynBetweennessOneNode.getDistance", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_10getDistance(((struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_10getDistance(struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_2;
  double __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("getDistance", 0);

  /* "networkit/_NetworKit.pyx":9165
 * 		""" Returns the distance between node u and node v.
 * 		"""
 * 		return self._this.getDistance(u, v)             # <<<<<<<<<<<<<<
 * 
 * 	def getSigma(self, u, v):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9165, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9165, __pyx_L1_error)
  try {
    __pyx_t_3 = __pyx_v_self->_this->getDistance(__pyx_t_1, __pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9165, __pyx_L1_error)
  }
  __pyx_t_4 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9162
 * 		self._this.updateBatch(_batch)
 * 
 * 	def getDistance(self, u, v):             # <<<<<<<<<<<<<<
 * 		""" Returns the distance between node u and node v.
 * 		"""
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("networkit._NetworKit.DynBetweennessOneNode.getDistance", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9167
 * 		return self._this.getDistance(u, v)
 * 
 * 	def getSigma(self, u, v):             # <<<<<<<<<<<<<<
 * 		""" Returns the number of shortest paths between node u and node v.
 * 		"""
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_13getSigma(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_21DynBetweennessOneNode_12getSigma[] = " Returns the number of shortest paths between node u and node v.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_13getSigma(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_u = 0;
  PyObject *__pyx_v_v = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getSigma (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("getSigma", 1, 2, 2, 1); __PYX_ERR(0, 9167, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getSigma") < 0)) __PYX_ERR(0, 9167, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = values[0];
    __pyx_v_v = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getSigma", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9167, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynBetweennessOneNode.getSigma", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_12getSigma(((struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_12getSigma(struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_2;
  double __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("getSigma", 0);

  /* "networkit/_NetworKit.pyx":9170
 * 		""" Returns the number of shortest paths between node u and node v.
 * 		"""
 * 		return self._this.getSigma(u, v)             # <<<<<<<<<<<<<<
 * 
 * 	def getSigmax(self, u, v):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9170, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9170, __pyx_L1_error)
  try {
    __pyx_t_3 = __pyx_v_self->_this->getSigma(__pyx_t_1, __pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9170, __pyx_L1_error)
  }
  __pyx_t_4 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9170, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9167
 * 		return self._this.getDistance(u, v)
 * 
 * 	def getSigma(self, u, v):             # <<<<<<<<<<<<<<
 * 		""" Returns the number of shortest paths between node u and node v.
 * 		"""
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("networkit._NetworKit.DynBetweennessOneNode.getSigma", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9172
 * 		return self._this.getSigma(u, v)
 * 
 * 	def getSigmax(self, u, v):             # <<<<<<<<<<<<<<
 * 		""" Returns the number of shortest paths between node u and node v that go through x.
 * 		"""
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_15getSigmax(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_21DynBetweennessOneNode_14getSigmax[] = " Returns the number of shortest paths between node u and node v that go through x.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_15getSigmax(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_u = 0;
  PyObject *__pyx_v_v = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getSigmax (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("getSigmax", 1, 2, 2, 1); __PYX_ERR(0, 9172, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getSigmax") < 0)) __PYX_ERR(0, 9172, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = values[0];
    __pyx_v_v = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getSigmax", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9172, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynBetweennessOneNode.getSigmax", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_14getSigmax(((struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_14getSigmax(struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_2;
  double __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("getSigmax", 0);

  /* "networkit/_NetworKit.pyx":9175
 * 		""" Returns the number of shortest paths between node u and node v that go through x.
 * 		"""
 * 		return self._this.getSigmax(u, v)             # <<<<<<<<<<<<<<
 * 
 * 	def getbcx(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9175, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9175, __pyx_L1_error)
  try {
    __pyx_t_3 = __pyx_v_self->_this->getSigmax(__pyx_t_1, __pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9175, __pyx_L1_error)
  }
  __pyx_t_4 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9172
 * 		return self._this.getSigma(u, v)
 * 
 * 	def getSigmax(self, u, v):             # <<<<<<<<<<<<<<
 * 		""" Returns the number of shortest paths between node u and node v that go through x.
 * 		"""
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("networkit._NetworKit.DynBetweennessOneNode.getSigmax", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9177
 * 		return self._this.getSigmax(u, v)
 * 
 * 	def getbcx(self):             # <<<<<<<<<<<<<<
 * 		""" Returns the betweenness centrality score of node x
 * 		"""
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_17getbcx(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_21DynBetweennessOneNode_16getbcx[] = " Returns the betweenness centrality score of node x\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_17getbcx(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getbcx (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_16getbcx(((struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_16getbcx(struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getbcx", 0);

  /* "networkit/_NetworKit.pyx":9180
 * 		""" Returns the betweenness centrality score of node x
 * 		"""
 * 		return self._this.getbcx()             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/centrality/PermanenceCentrality.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this->getbcx();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9180, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9180, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9177
 * 		return self._this.getSigmax(u, v)
 * 
 * 	def getbcx(self):             # <<<<<<<<<<<<<<
 * 		""" Returns the betweenness centrality score of node x
 * 		"""
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.DynBetweennessOneNode.getbcx", __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_9networkit_10_NetworKit_21DynBetweennessOneNode_19__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_19__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_18__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_18__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__327, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynBetweennessOneNode.__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_9networkit_10_NetworKit_21DynBetweennessOneNode_21__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_21__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_20__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21DynBetweennessOneNode_20__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__328, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynBetweennessOneNode.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9206
 * 	cdef Partition _P
 * 
 * 	def __cinit__(self, Graph G, Partition P):             # <<<<<<<<<<<<<<
 * 		self._this = new _PermanenceCentrality(G._this, P._this)
 * 		self._G = G
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_20PermanenceCentrality_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_20PermanenceCentrality_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_P = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_P,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_P)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); __PYX_ERR(0, 9206, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 9206, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_P = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9206, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PermanenceCentrality.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 9206, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_P), __pyx_ptype_9networkit_10_NetworKit_Partition, 1, "P", 0))) __PYX_ERR(0, 9206, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20PermanenceCentrality___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_PermanenceCentrality *)__pyx_v_self), __pyx_v_G, __pyx_v_P);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_20PermanenceCentrality___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PermanenceCentrality *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_P) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::PermanenceCentrality *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":9207
 * 
 * 	def __cinit__(self, Graph G, Partition P):
 * 		self._this = new _PermanenceCentrality(G._this, P._this)             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._P = P
 */
  try {
    __pyx_t_1 = new NetworKit::PermanenceCentrality(__pyx_v_G->_this, __pyx_v_P->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9207, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":9208
 * 	def __cinit__(self, Graph G, Partition P):
 * 		self._this = new _PermanenceCentrality(G._this, P._this)
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._P = P
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":9209
 * 		self._this = new _PermanenceCentrality(G._this, P._this)
 * 		self._G = G
 * 		self._P = P             # <<<<<<<<<<<<<<
 * 
 * 	def getIntraClustering(self, node u):
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_P));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_P));
  __Pyx_GOTREF(__pyx_v_self->_P);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_P));
  __pyx_v_self->_P = __pyx_v_P;

  /* "networkit/_NetworKit.pyx":9206
 * 	cdef Partition _P
 * 
 * 	def __cinit__(self, Graph G, Partition P):             # <<<<<<<<<<<<<<
 * 		self._this = new _PermanenceCentrality(G._this, P._this)
 * 		self._G = G
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PermanenceCentrality.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9211
 * 		self._P = P
 * 
 * 	def getIntraClustering(self, node u):             # <<<<<<<<<<<<<<
 * 		return (<_PermanenceCentrality*>(self._this)).getIntraClustering(u)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20PermanenceCentrality_3getIntraClustering(PyObject *__pyx_v_self, PyObject *__pyx_arg_u); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20PermanenceCentrality_3getIntraClustering(PyObject *__pyx_v_self, PyObject *__pyx_arg_u) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getIntraClustering (wrapper)", 0);
  assert(__pyx_arg_u); {
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(__pyx_arg_u); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9211, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PermanenceCentrality.getIntraClustering", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20PermanenceCentrality_2getIntraClustering(((struct __pyx_obj_9networkit_10_NetworKit_PermanenceCentrality *)__pyx_v_self), ((__pyx_t_9networkit_10_NetworKit_node)__pyx_v_u));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20PermanenceCentrality_2getIntraClustering(struct __pyx_obj_9networkit_10_NetworKit_PermanenceCentrality *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getIntraClustering", 0);

  /* "networkit/_NetworKit.pyx":9212
 * 
 * 	def getIntraClustering(self, node u):
 * 		return (<_PermanenceCentrality*>(self._this)).getIntraClustering(u)             # <<<<<<<<<<<<<<
 * 
 * 	def getPermanence(self, node u):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::PermanenceCentrality *)__pyx_v_self->__pyx_base._this)->getIntraClustering(__pyx_v_u);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9212, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9211
 * 		self._P = P
 * 
 * 	def getIntraClustering(self, node u):             # <<<<<<<<<<<<<<
 * 		return (<_PermanenceCentrality*>(self._this)).getIntraClustering(u)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.PermanenceCentrality.getIntraClustering", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9214
 * 		return (<_PermanenceCentrality*>(self._this)).getIntraClustering(u)
 * 
 * 	def getPermanence(self, node u):             # <<<<<<<<<<<<<<
 * 		return (<_PermanenceCentrality*>(self._this)).getPermanence(u)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20PermanenceCentrality_5getPermanence(PyObject *__pyx_v_self, PyObject *__pyx_arg_u); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20PermanenceCentrality_5getPermanence(PyObject *__pyx_v_self, PyObject *__pyx_arg_u) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPermanence (wrapper)", 0);
  assert(__pyx_arg_u); {
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(__pyx_arg_u); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9214, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PermanenceCentrality.getPermanence", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20PermanenceCentrality_4getPermanence(((struct __pyx_obj_9networkit_10_NetworKit_PermanenceCentrality *)__pyx_v_self), ((__pyx_t_9networkit_10_NetworKit_node)__pyx_v_u));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20PermanenceCentrality_4getPermanence(struct __pyx_obj_9networkit_10_NetworKit_PermanenceCentrality *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getPermanence", 0);

  /* "networkit/_NetworKit.pyx":9215
 * 
 * 	def getPermanence(self, node u):
 * 		return (<_PermanenceCentrality*>(self._this)).getPermanence(u)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/centrality/LocalPartitionCoverage.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::PermanenceCentrality *)__pyx_v_self->__pyx_base._this)->getPermanence(__pyx_v_u);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9215, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9214
 * 		return (<_PermanenceCentrality*>(self._this)).getIntraClustering(u)
 * 
 * 	def getPermanence(self, node u):             # <<<<<<<<<<<<<<
 * 		return (<_PermanenceCentrality*>(self._this)).getPermanence(u)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.PermanenceCentrality.getPermanence", __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_9networkit_10_NetworKit_20PermanenceCentrality_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20PermanenceCentrality_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20PermanenceCentrality_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PermanenceCentrality *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20PermanenceCentrality_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PermanenceCentrality *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__329, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PermanenceCentrality.__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_9networkit_10_NetworKit_20PermanenceCentrality_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20PermanenceCentrality_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20PermanenceCentrality_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PermanenceCentrality *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20PermanenceCentrality_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PermanenceCentrality *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__330, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PermanenceCentrality.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9238
 * 	cdef Partition _P
 * 
 * 	def __cinit__(self, Graph G not None, Partition P not None):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._P = P
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_22LocalPartitionCoverage_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_22LocalPartitionCoverage_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_P = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_P,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_P)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); __PYX_ERR(0, 9238, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 9238, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_P = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9238, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LocalPartitionCoverage.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 9238, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_P), __pyx_ptype_9networkit_10_NetworKit_Partition, 0, "P", 0))) __PYX_ERR(0, 9238, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22LocalPartitionCoverage___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionCoverage *)__pyx_v_self), __pyx_v_G, __pyx_v_P);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_22LocalPartitionCoverage___cinit__(struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionCoverage *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_P) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::LocalPartitionCoverage *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":9239
 * 
 * 	def __cinit__(self, Graph G not None, Partition P not None):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._P = P
 * 		self._this = new _LocalPartitionCoverage(G._this, P._this)
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":9240
 * 	def __cinit__(self, Graph G not None, Partition P not None):
 * 		self._G = G
 * 		self._P = P             # <<<<<<<<<<<<<<
 * 		self._this = new _LocalPartitionCoverage(G._this, P._this)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_P));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_P));
  __Pyx_GOTREF(__pyx_v_self->_P);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_P));
  __pyx_v_self->_P = __pyx_v_P;

  /* "networkit/_NetworKit.pyx":9241
 * 		self._G = G
 * 		self._P = P
 * 		self._this = new _LocalPartitionCoverage(G._this, P._this)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/centrality/LaplacianCentrality.hpp>":
 */
  try {
    __pyx_t_1 = new NetworKit::LocalPartitionCoverage(__pyx_v_G->_this, __pyx_v_P->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9241, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":9238
 * 	cdef Partition _P
 * 
 * 	def __cinit__(self, Graph G not None, Partition P not None):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._P = P
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LocalPartitionCoverage.__cinit__", __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_9networkit_10_NetworKit_22LocalPartitionCoverage_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_22LocalPartitionCoverage_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22LocalPartitionCoverage_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionCoverage *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_22LocalPartitionCoverage_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionCoverage *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__331, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LocalPartitionCoverage.__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_9networkit_10_NetworKit_22LocalPartitionCoverage_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_22LocalPartitionCoverage_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22LocalPartitionCoverage_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionCoverage *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_22LocalPartitionCoverage_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionCoverage *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__332, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LocalPartitionCoverage.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9266
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, normalized = False):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _LaplacianCentrality(G._this, normalized)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_19LaplacianCentrality_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_19LaplacianCentrality_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_normalized = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_normalized,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_normalized);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 9266, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_normalized = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9266, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LaplacianCentrality.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 9266, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19LaplacianCentrality___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_LaplacianCentrality *)__pyx_v_self), __pyx_v_G, __pyx_v_normalized);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_19LaplacianCentrality___cinit__(struct __pyx_obj_9networkit_10_NetworKit_LaplacianCentrality *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_normalized) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  NetworKit::LaplacianCentrality *__pyx_t_2;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":9267
 * 
 * 	def __cinit__(self, Graph G, normalized = False):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _LaplacianCentrality(G._this, normalized)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":9268
 * 	def __cinit__(self, Graph G, normalized = False):
 * 		self._G = G
 * 		self._this = new _LaplacianCentrality(G._this, normalized)             # <<<<<<<<<<<<<<
 * 
 * # Module: dynamic
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_normalized); if (unlikely((__pyx_t_1 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9268, __pyx_L1_error)
  try {
    __pyx_t_2 = new NetworKit::LaplacianCentrality(__pyx_v_G->_this, __pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9268, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_2;

  /* "networkit/_NetworKit.pyx":9266
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, normalized = False):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _LaplacianCentrality(G._this, normalized)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LaplacianCentrality.__cinit__", __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_9networkit_10_NetworKit_19LaplacianCentrality_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19LaplacianCentrality_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19LaplacianCentrality_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LaplacianCentrality *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19LaplacianCentrality_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LaplacianCentrality *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__333, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LaplacianCentrality.__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_9networkit_10_NetworKit_19LaplacianCentrality_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19LaplacianCentrality_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19LaplacianCentrality_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LaplacianCentrality *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19LaplacianCentrality_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LaplacianCentrality *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__334, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LaplacianCentrality.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9311
 * 
 * 	property type:
 * 		def __get__(self):             # <<<<<<<<<<<<<<
 * 			return self._this.type
 * 		def __set__(self, t):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphEvent_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphEvent_4type_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphEvent_4type___get__(((struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphEvent_4type___get__(struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "networkit/_NetworKit.pyx":9312
 * 	property type:
 * 		def __get__(self):
 * 			return self._this.type             # <<<<<<<<<<<<<<
 * 		def __set__(self, t):
 * 			self._this.type = t
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_v_self->_this.type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9311
 * 
 * 	property type:
 * 		def __get__(self):             # <<<<<<<<<<<<<<
 * 			return self._this.type
 * 		def __set__(self, t):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphEvent.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9313
 * 		def __get__(self):
 * 			return self._this.type
 * 		def __set__(self, t):             # <<<<<<<<<<<<<<
 * 			self._this.type = t
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_10GraphEvent_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_t); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_10GraphEvent_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_t) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphEvent_4type_2__set__(((struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *)__pyx_v_self), ((PyObject *)__pyx_v_t));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_10GraphEvent_4type_2__set__(struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self, PyObject *__pyx_v_t) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  enum NetworKit::GraphEvent::Type __pyx_t_1;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "networkit/_NetworKit.pyx":9314
 * 			return self._this.type
 * 		def __set__(self, t):
 * 			self._this.type = t             # <<<<<<<<<<<<<<
 * 
 * 	property u:
 */
  __pyx_t_1 = ((enum NetworKit::GraphEvent::Type)__Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_v_t)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 9314, __pyx_L1_error)
  __pyx_v_self->_this.type = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":9313
 * 		def __get__(self):
 * 			return self._this.type
 * 		def __set__(self, t):             # <<<<<<<<<<<<<<
 * 			self._this.type = t
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphEvent.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9317
 * 
 * 	property u:
 * 		def __get__(self):             # <<<<<<<<<<<<<<
 * 			return self._this.u
 * 		def __set__(self, u):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphEvent_1u_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphEvent_1u_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphEvent_1u___get__(((struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphEvent_1u___get__(struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "networkit/_NetworKit.pyx":9318
 * 	property u:
 * 		def __get__(self):
 * 			return self._this.u             # <<<<<<<<<<<<<<
 * 		def __set__(self, u):
 * 			self._this.u = u
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_self->_this.u); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9318, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9317
 * 
 * 	property u:
 * 		def __get__(self):             # <<<<<<<<<<<<<<
 * 			return self._this.u
 * 		def __set__(self, u):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphEvent.u.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9319
 * 		def __get__(self):
 * 			return self._this.u
 * 		def __set__(self, u):             # <<<<<<<<<<<<<<
 * 			self._this.u = u
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_10GraphEvent_1u_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_u); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_10GraphEvent_1u_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_u) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphEvent_1u_2__set__(((struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *)__pyx_v_self), ((PyObject *)__pyx_v_u));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_10GraphEvent_1u_2__set__(struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self, PyObject *__pyx_v_u) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "networkit/_NetworKit.pyx":9320
 * 			return self._this.u
 * 		def __set__(self, u):
 * 			self._this.u = u             # <<<<<<<<<<<<<<
 * 
 * 	property v:
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9320, __pyx_L1_error)
  __pyx_v_self->_this.u = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":9319
 * 		def __get__(self):
 * 			return self._this.u
 * 		def __set__(self, u):             # <<<<<<<<<<<<<<
 * 			self._this.u = u
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphEvent.u.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9323
 * 
 * 	property v:
 * 		def __get__(self):             # <<<<<<<<<<<<<<
 * 			return self._this.v
 * 		def __set__(self, v):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphEvent_1v_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphEvent_1v_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphEvent_1v___get__(((struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphEvent_1v___get__(struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "networkit/_NetworKit.pyx":9324
 * 	property v:
 * 		def __get__(self):
 * 			return self._this.v             # <<<<<<<<<<<<<<
 * 		def __set__(self, v):
 * 			self._this.v = v
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_self->_this.v); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9324, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9323
 * 
 * 	property v:
 * 		def __get__(self):             # <<<<<<<<<<<<<<
 * 			return self._this.v
 * 		def __set__(self, v):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphEvent.v.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9325
 * 		def __get__(self):
 * 			return self._this.v
 * 		def __set__(self, v):             # <<<<<<<<<<<<<<
 * 			self._this.v = v
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_10GraphEvent_1v_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_v); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_10GraphEvent_1v_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_v) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphEvent_1v_2__set__(((struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *)__pyx_v_self), ((PyObject *)__pyx_v_v));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_10GraphEvent_1v_2__set__(struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self, PyObject *__pyx_v_v) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "networkit/_NetworKit.pyx":9326
 * 			return self._this.v
 * 		def __set__(self, v):
 * 			self._this.v = v             # <<<<<<<<<<<<<<
 * 
 * 	property w:
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9326, __pyx_L1_error)
  __pyx_v_self->_this.v = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":9325
 * 		def __get__(self):
 * 			return self._this.v
 * 		def __set__(self, v):             # <<<<<<<<<<<<<<
 * 			self._this.v = v
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphEvent.v.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9329
 * 
 * 	property w:
 * 		def __get__(self):             # <<<<<<<<<<<<<<
 * 			return self._this.w
 * 		def __set__(self, w):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphEvent_1w_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphEvent_1w_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphEvent_1w___get__(((struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphEvent_1w___get__(struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "networkit/_NetworKit.pyx":9330
 * 	property w:
 * 		def __get__(self):
 * 			return self._this.w             # <<<<<<<<<<<<<<
 * 		def __set__(self, w):
 * 			self._this.w = w
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_this.w); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9329
 * 
 * 	property w:
 * 		def __get__(self):             # <<<<<<<<<<<<<<
 * 			return self._this.w
 * 		def __set__(self, w):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphEvent.w.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9331
 * 		def __get__(self):
 * 			return self._this.w
 * 		def __set__(self, w):             # <<<<<<<<<<<<<<
 * 			self._this.w = w
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_10GraphEvent_1w_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_w); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_10GraphEvent_1w_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_w) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphEvent_1w_2__set__(((struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *)__pyx_v_self), ((PyObject *)__pyx_v_w));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_10GraphEvent_1w_2__set__(struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self, PyObject *__pyx_v_w) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_1;
  __Pyx_RefNannySetupContext("__set__", 0);

  /* "networkit/_NetworKit.pyx":9332
 * 			return self._this.w
 * 		def __set__(self, w):
 * 			self._this.w = w             # <<<<<<<<<<<<<<
 * 
 * 	def __cinit__(self, _GraphEventType type, node u, node v, edgeweight w):
 */
  __pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_w); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 9332, __pyx_L1_error)
  __pyx_v_self->_this.w = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":9331
 * 		def __get__(self):
 * 			return self._this.w
 * 		def __set__(self, w):             # <<<<<<<<<<<<<<
 * 			self._this.w = w
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphEvent.w.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9334
 * 			self._this.w = w
 * 
 * 	def __cinit__(self, _GraphEventType type, node u, node v, edgeweight w):             # <<<<<<<<<<<<<<
 * 		self._this = _GraphEvent(type, u, v, w)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_10GraphEvent_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_10GraphEvent_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  enum NetworKit::GraphEvent::Type __pyx_v_type;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_v_w;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_type,&__pyx_n_s_u,&__pyx_n_s_v,&__pyx_n_s_w,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 4, 4, 1); __PYX_ERR(0, 9334, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 4, 4, 2); __PYX_ERR(0, 9334, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_w)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 4, 4, 3); __PYX_ERR(0, 9334, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 9334, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_type = ((enum NetworKit::GraphEvent::Type)__Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(values[0])); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 9334, __pyx_L3_error)
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9334, __pyx_L3_error)
    __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[2]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9334, __pyx_L3_error)
    __pyx_v_w = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_w == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 9334, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9334, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphEvent.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphEvent___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *)__pyx_v_self), __pyx_v_type, __pyx_v_u, __pyx_v_v, __pyx_v_w);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_10GraphEvent___cinit__(struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self, enum NetworKit::GraphEvent::Type __pyx_v_type, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v, __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_v_w) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::GraphEvent __pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":9335
 * 
 * 	def __cinit__(self, _GraphEventType type, node u, node v, edgeweight w):
 * 		self._this = _GraphEvent(type, u, v, w)             # <<<<<<<<<<<<<<
 * 
 * 	def toString(self):
 */
  try {
    __pyx_t_1 = NetworKit::GraphEvent(__pyx_v_type, __pyx_v_u, __pyx_v_v, __pyx_v_w);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9335, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":9334
 * 			self._this.w = w
 * 
 * 	def __cinit__(self, _GraphEventType type, node u, node v, edgeweight w):             # <<<<<<<<<<<<<<
 * 		self._this = _GraphEvent(type, u, v, w)
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphEvent.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9337
 * 		self._this = _GraphEvent(type, u, v, w)
 * 
 * 	def toString(self):             # <<<<<<<<<<<<<<
 * 		return self._this.toString().decode("utf-8")
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphEvent_3toString(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphEvent_3toString(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("toString (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphEvent_2toString(((struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphEvent_2toString(struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::string __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("toString", 0);

  /* "networkit/_NetworKit.pyx":9338
 * 
 * 	def toString(self):
 * 		return self._this.toString().decode("utf-8")             # <<<<<<<<<<<<<<
 * 
 * 	def __repr__(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.toString();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9338, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_decode_cpp_string(__pyx_t_1, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9337
 * 		self._this = _GraphEvent(type, u, v, w)
 * 
 * 	def toString(self):             # <<<<<<<<<<<<<<
 * 		return self._this.toString().decode("utf-8")
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GraphEvent.toString", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9340
 * 		return self._this.toString().decode("utf-8")
 * 
 * 	def __repr__(self):             # <<<<<<<<<<<<<<
 * 		return self.toString()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphEvent_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphEvent_5__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphEvent_4__repr__(((struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphEvent_4__repr__(struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "networkit/_NetworKit.pyx":9341
 * 
 * 	def __repr__(self):
 * 		return self.toString()             # <<<<<<<<<<<<<<
 * 
 * 	def __eq__(self, GraphEvent other not None):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_toString); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9341, __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;

  /* "networkit/_NetworKit.pyx":9340
 * 		return self._this.toString().decode("utf-8")
 * 
 * 	def __repr__(self):             # <<<<<<<<<<<<<<
 * 		return self.toString()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.GraphEvent.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9343
 * 		return self.toString()
 * 
 * 	def __eq__(self, GraphEvent other not None):             # <<<<<<<<<<<<<<
 * 		return _GraphEvent_equal(self._this, other._this)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphEvent_7__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphEvent_7__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_other), __pyx_ptype_9networkit_10_NetworKit_GraphEvent, 0, "other", 0))) __PYX_ERR(0, 9343, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphEvent_6__eq__(((struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *)__pyx_v_self), ((struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *)__pyx_v_other));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphEvent_6__eq__(struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "networkit/_NetworKit.pyx":9344
 * 
 * 	def __eq__(self, GraphEvent other not None):
 * 		return _GraphEvent_equal(self._this, other._this)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = NetworKit::GraphEvent::equal(__pyx_v_self->_this, __pyx_v_other->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9344, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9344, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9343
 * 		return self.toString()
 * 
 * 	def __eq__(self, GraphEvent other not None):             # <<<<<<<<<<<<<<
 * 		return _GraphEvent_equal(self._this, other._this)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GraphEvent.__eq__", __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_9networkit_10_NetworKit_10GraphEvent_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphEvent_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphEvent_8__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphEvent_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__335, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphEvent.__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_9networkit_10_NetworKit_10GraphEvent_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_10GraphEvent_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_10GraphEvent_10__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_10GraphEvent_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__336, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphEvent.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9356
 * 	cdef _DGSStreamParser* _this
 * 
 * 	def __cinit__(self, path, mapped=True, baseIndex=0):             # <<<<<<<<<<<<<<
 * 		self._this = new _DGSStreamParser(stdstring(path), mapped, baseIndex)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_15DGSStreamParser_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_15DGSStreamParser_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_path = 0;
  PyObject *__pyx_v_mapped = 0;
  PyObject *__pyx_v_baseIndex = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_path,&__pyx_n_s_mapped,&__pyx_n_s_baseIndex,0};
    PyObject* values[3] = {0,0,0};
    values[1] = ((PyObject *)Py_True);
    values[2] = ((PyObject *)__pyx_int_0);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_path)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_mapped);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_baseIndex);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 9356, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_path = values[0];
    __pyx_v_mapped = values[1];
    __pyx_v_baseIndex = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9356, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DGSStreamParser.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15DGSStreamParser___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_DGSStreamParser *)__pyx_v_self), __pyx_v_path, __pyx_v_mapped, __pyx_v_baseIndex);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_15DGSStreamParser___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DGSStreamParser *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_mapped, PyObject *__pyx_v_baseIndex) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::string __pyx_t_4;
  bool __pyx_t_5;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_6;
  NetworKit::DGSStreamParser *__pyx_t_7;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":9357
 * 
 * 	def __cinit__(self, path, mapped=True, baseIndex=0):
 * 		self._this = new _DGSStreamParser(stdstring(path), mapped, baseIndex)             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_path) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_path);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 9357, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_mapped); if (unlikely((__pyx_t_5 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9357, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyInt_As_uint64_t(__pyx_v_baseIndex); if (unlikely((__pyx_t_6 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9357, __pyx_L1_error)
  try {
    __pyx_t_7 = new NetworKit::DGSStreamParser(__pyx_t_4, __pyx_t_5, __pyx_t_6);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9357, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_7;

  /* "networkit/_NetworKit.pyx":9356
 * 	cdef _DGSStreamParser* _this
 * 
 * 	def __cinit__(self, path, mapped=True, baseIndex=0):             # <<<<<<<<<<<<<<
 * 		self._this = new _DGSStreamParser(stdstring(path), mapped, baseIndex)
 * 
 */

  /* 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("networkit._NetworKit.DGSStreamParser.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9359
 * 		self._this = new _DGSStreamParser(stdstring(path), mapped, baseIndex)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_15DGSStreamParser_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_15DGSStreamParser_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_15DGSStreamParser_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_DGSStreamParser *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9networkit_10_NetworKit_15DGSStreamParser_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_DGSStreamParser *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":9360
 * 
 * 	def __dealloc__(self):
 * 		del self._this             # <<<<<<<<<<<<<<
 * 
 * 	def getStream(self):
 */
  delete __pyx_v_self->_this;

  /* "networkit/_NetworKit.pyx":9359
 * 		self._this = new _DGSStreamParser(stdstring(path), mapped, baseIndex)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":9362
 * 		del self._this
 * 
 * 	def getStream(self):             # <<<<<<<<<<<<<<
 * 		return [GraphEvent(ev.type, ev.u, ev.v, ev.w) for ev in self._this.getStream()]
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15DGSStreamParser_5getStream(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15DGSStreamParser_5getStream(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getStream (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15DGSStreamParser_4getStream(((struct __pyx_obj_9networkit_10_NetworKit_DGSStreamParser *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15DGSStreamParser_4getStream(struct __pyx_obj_9networkit_10_NetworKit_DGSStreamParser *__pyx_v_self) {
  NetworKit::GraphEvent __pyx_9genexpr16__pyx_v_ev;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  std::vector<NetworKit::GraphEvent>  __pyx_t_2;
  std::vector<NetworKit::GraphEvent> ::iterator __pyx_t_3;
  std::vector<NetworKit::GraphEvent>  *__pyx_t_4;
  NetworKit::GraphEvent __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;
  __Pyx_RefNannySetupContext("getStream", 0);

  /* "networkit/_NetworKit.pyx":9363
 * 
 * 	def getStream(self):
 * 		return [GraphEvent(ev.type, ev.u, ev.v, ev.w) for ev in self._this.getStream()]             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9363, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    try {
      __pyx_t_2 = __pyx_v_self->_this->getStream();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 9363, __pyx_L1_error)
    }
    __pyx_t_4 = &__pyx_t_2;
    __pyx_t_3 = __pyx_t_4->begin();
    for (;;) {
      if (!(__pyx_t_3 != __pyx_t_4->end())) break;
      __pyx_t_5 = *__pyx_t_3;
      ++__pyx_t_3;
      __pyx_9genexpr16__pyx_v_ev = __pyx_t_5;
      __pyx_t_6 = __Pyx_PyInt_From_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_9genexpr16__pyx_v_ev.type); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9363, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = __Pyx_PyInt_From_uint64_t(__pyx_9genexpr16__pyx_v_ev.u); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9363, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = __Pyx_PyInt_From_uint64_t(__pyx_9genexpr16__pyx_v_ev.v); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9363, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_9 = PyFloat_FromDouble(__pyx_9genexpr16__pyx_v_ev.w); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9363, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = PyTuple_New(4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9363, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_GIVEREF(__pyx_t_6);
      PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_6);
      __Pyx_GIVEREF(__pyx_t_7);
      PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_7);
      __Pyx_GIVEREF(__pyx_t_8);
      PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_8);
      __Pyx_GIVEREF(__pyx_t_9);
      PyTuple_SET_ITEM(__pyx_t_10, 3, __pyx_t_9);
      __pyx_t_6 = 0;
      __pyx_t_7 = 0;
      __pyx_t_8 = 0;
      __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphEvent), __pyx_t_10, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9363, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_9))) __PYX_ERR(0, 9363, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9362
 * 		del self._this
 * 
 * 	def getStream(self):             # <<<<<<<<<<<<<<
 * 		return [GraphEvent(ev.type, ev.u, ev.v, ev.w) for ev in self._this.getStream()]
 * 
 */

  /* 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_AddTraceback("networkit._NetworKit.DGSStreamParser.getStream", __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_9networkit_10_NetworKit_15DGSStreamParser_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15DGSStreamParser_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15DGSStreamParser_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DGSStreamParser *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15DGSStreamParser_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DGSStreamParser *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__337, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DGSStreamParser.__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_9networkit_10_NetworKit_15DGSStreamParser_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15DGSStreamParser_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15DGSStreamParser_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DGSStreamParser *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15DGSStreamParser_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DGSStreamParser *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__338, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DGSStreamParser.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9375
 * 	cdef _DGSWriter* _this
 * 
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _DGSWriter()
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_9DGSWriter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_9DGSWriter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9DGSWriter___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_DGSWriter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_9DGSWriter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DGSWriter *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::DGSWriter *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":9376
 * 
 * 	def __cinit__(self):
 * 		self._this = new _DGSWriter()             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  try {
    __pyx_t_1 = new NetworKit::DGSWriter();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9376, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":9375
 * 	cdef _DGSWriter* _this
 * 
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _DGSWriter()
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DGSWriter.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9378
 * 		self._this = new _DGSWriter()
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_9DGSWriter_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_9DGSWriter_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_9DGSWriter_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_DGSWriter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9networkit_10_NetworKit_9DGSWriter_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_DGSWriter *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":9379
 * 
 * 	def __dealloc__(self):
 * 		del self._this             # <<<<<<<<<<<<<<
 * 
 * 	def write(self, stream, path):
 */
  delete __pyx_v_self->_this;

  /* "networkit/_NetworKit.pyx":9378
 * 		self._this = new _DGSWriter()
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":9381
 * 		del self._this
 * 
 * 	def write(self, stream, path):             # <<<<<<<<<<<<<<
 * 		cdef vector[_GraphEvent] _stream
 * 		for ev in stream:
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9DGSWriter_5write(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_9DGSWriter_5write(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_stream = 0;
  PyObject *__pyx_v_path = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("write (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_stream,&__pyx_n_s_path,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_stream)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_path)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("write", 1, 2, 2, 1); __PYX_ERR(0, 9381, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write") < 0)) __PYX_ERR(0, 9381, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_stream = values[0];
    __pyx_v_path = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("write", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9381, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DGSWriter.write", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9DGSWriter_4write(((struct __pyx_obj_9networkit_10_NetworKit_DGSWriter *)__pyx_v_self), __pyx_v_stream, __pyx_v_path);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_9DGSWriter_4write(struct __pyx_obj_9networkit_10_NetworKit_DGSWriter *__pyx_v_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_path) {
  std::vector<NetworKit::GraphEvent>  __pyx_v__stream;
  PyObject *__pyx_v_ev = 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;
  enum NetworKit::GraphEvent::Type __pyx_t_5;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_6;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_7;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_8;
  NetworKit::GraphEvent __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  std::string __pyx_t_11;
  __Pyx_RefNannySetupContext("write", 0);

  /* "networkit/_NetworKit.pyx":9383
 * 	def write(self, stream, path):
 * 		cdef vector[_GraphEvent] _stream
 * 		for ev in stream:             # <<<<<<<<<<<<<<
 * 			_stream.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		self._this.write(_stream, stdstring(path))
 */
  if (likely(PyList_CheckExact(__pyx_v_stream)) || PyTuple_CheckExact(__pyx_v_stream)) {
    __pyx_t_1 = __pyx_v_stream; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9383, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9383, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 9383, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9383, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 9383, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9383, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 9383, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_ev, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "networkit/_NetworKit.pyx":9384
 * 		cdef vector[_GraphEvent] _stream
 * 		for ev in stream:
 * 			_stream.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))             # <<<<<<<<<<<<<<
 * 		self._this.write(_stream, stdstring(path))
 * 
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = ((enum NetworKit::GraphEvent::Type)__Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 9384, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_u); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyInt_As_uint64_t(__pyx_t_4); if (unlikely((__pyx_t_6 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9384, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_v); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = __Pyx_PyInt_As_uint64_t(__pyx_t_4); if (unlikely((__pyx_t_7 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9384, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_w); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_8 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 9384, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    try {
      __pyx_t_9 = NetworKit::GraphEvent(__pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 9384, __pyx_L1_error)
    }
    try {
      __pyx_v__stream.push_back(__pyx_t_9);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 9384, __pyx_L1_error)
    }

    /* "networkit/_NetworKit.pyx":9383
 * 	def write(self, stream, path):
 * 		cdef vector[_GraphEvent] _stream
 * 		for ev in stream:             # <<<<<<<<<<<<<<
 * 			_stream.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		self._this.write(_stream, stdstring(path))
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":9385
 * 		for ev in stream:
 * 			_stream.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		self._this.write(_stream, stdstring(path))             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_1 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_10, __pyx_v_path) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_path);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_11 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 9385, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  try {
    __pyx_v_self->_this->write(__pyx_v__stream, __pyx_t_11);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9385, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":9381
 * 		del self._this
 * 
 * 	def write(self, stream, path):             # <<<<<<<<<<<<<<
 * 		cdef vector[_GraphEvent] _stream
 * 		for ev in stream:
 */

  /* 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_10);
  __Pyx_AddTraceback("networkit._NetworKit.DGSWriter.write", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ev);
  __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_9networkit_10_NetworKit_9DGSWriter_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_9DGSWriter_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9DGSWriter_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DGSWriter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_9DGSWriter_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DGSWriter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__339, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DGSWriter.__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_9networkit_10_NetworKit_9DGSWriter_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_9DGSWriter_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9DGSWriter_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DGSWriter *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_9DGSWriter_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DGSWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__340, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DGSWriter.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9433
 * 	cdef _DynamicPathGenerator* _this
 * 
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _DynamicPathGenerator()
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_20DynamicPathGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_20DynamicPathGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20DynamicPathGenerator___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_DynamicPathGenerator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_20DynamicPathGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynamicPathGenerator *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::DynamicPathGenerator *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":9434
 * 
 * 	def __cinit__(self):
 * 		self._this = new _DynamicPathGenerator()             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  try {
    __pyx_t_1 = new NetworKit::DynamicPathGenerator();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9434, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":9433
 * 	cdef _DynamicPathGenerator* _this
 * 
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _DynamicPathGenerator()
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynamicPathGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9436
 * 		self._this = new _DynamicPathGenerator()
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_20DynamicPathGenerator_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_20DynamicPathGenerator_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_20DynamicPathGenerator_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_DynamicPathGenerator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9networkit_10_NetworKit_20DynamicPathGenerator_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_DynamicPathGenerator *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":9437
 * 
 * 	def __dealloc__(self):
 * 		del self._this             # <<<<<<<<<<<<<<
 * 
 * 	def generate(self, nSteps):
 */
  delete __pyx_v_self->_this;

  /* "networkit/_NetworKit.pyx":9436
 * 		self._this = new _DynamicPathGenerator()
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":9439
 * 		del self._this
 * 
 * 	def generate(self, nSteps):             # <<<<<<<<<<<<<<
 * 		return [GraphEvent(ev.type, ev.u, ev.v, ev.w) for ev in self._this.generate(nSteps)]
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20DynamicPathGenerator_5generate(PyObject *__pyx_v_self, PyObject *__pyx_v_nSteps); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20DynamicPathGenerator_5generate(PyObject *__pyx_v_self, PyObject *__pyx_v_nSteps) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generate (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20DynamicPathGenerator_4generate(((struct __pyx_obj_9networkit_10_NetworKit_DynamicPathGenerator *)__pyx_v_self), ((PyObject *)__pyx_v_nSteps));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20DynamicPathGenerator_4generate(struct __pyx_obj_9networkit_10_NetworKit_DynamicPathGenerator *__pyx_v_self, PyObject *__pyx_v_nSteps) {
  NetworKit::GraphEvent __pyx_9genexpr17__pyx_v_ev;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_2;
  std::vector<NetworKit::GraphEvent>  __pyx_t_3;
  std::vector<NetworKit::GraphEvent> ::iterator __pyx_t_4;
  std::vector<NetworKit::GraphEvent>  *__pyx_t_5;
  NetworKit::GraphEvent __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;
  __Pyx_RefNannySetupContext("generate", 0);

  /* "networkit/_NetworKit.pyx":9440
 * 
 * 	def generate(self, nSteps):
 * 		return [GraphEvent(ev.type, ev.u, ev.v, ev.w) for ev in self._this.generate(nSteps)]             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9440, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_nSteps); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9440, __pyx_L1_error)
    try {
      __pyx_t_3 = __pyx_v_self->_this->generate(__pyx_t_2);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 9440, __pyx_L1_error)
    }
    __pyx_t_5 = &__pyx_t_3;
    __pyx_t_4 = __pyx_t_5->begin();
    for (;;) {
      if (!(__pyx_t_4 != __pyx_t_5->end())) break;
      __pyx_t_6 = *__pyx_t_4;
      ++__pyx_t_4;
      __pyx_9genexpr17__pyx_v_ev = __pyx_t_6;
      __pyx_t_7 = __Pyx_PyInt_From_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_9genexpr17__pyx_v_ev.type); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9440, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = __Pyx_PyInt_From_uint64_t(__pyx_9genexpr17__pyx_v_ev.u); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9440, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_9 = __Pyx_PyInt_From_uint64_t(__pyx_9genexpr17__pyx_v_ev.v); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9440, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = PyFloat_FromDouble(__pyx_9genexpr17__pyx_v_ev.w); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9440, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_11 = PyTuple_New(4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 9440, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_GIVEREF(__pyx_t_7);
      PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_7);
      __Pyx_GIVEREF(__pyx_t_8);
      PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_8);
      __Pyx_GIVEREF(__pyx_t_9);
      PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_9);
      __Pyx_GIVEREF(__pyx_t_10);
      PyTuple_SET_ITEM(__pyx_t_11, 3, __pyx_t_10);
      __pyx_t_7 = 0;
      __pyx_t_8 = 0;
      __pyx_t_9 = 0;
      __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphEvent), __pyx_t_11, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9440, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_10))) __PYX_ERR(0, 9440, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9439
 * 		del self._this
 * 
 * 	def generate(self, nSteps):             # <<<<<<<<<<<<<<
 * 		return [GraphEvent(ev.type, ev.u, ev.v, ev.w) for ev in self._this.generate(nSteps)]
 * 
 */

  /* 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_AddTraceback("networkit._NetworKit.DynamicPathGenerator.generate", __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_9networkit_10_NetworKit_20DynamicPathGenerator_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20DynamicPathGenerator_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20DynamicPathGenerator_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynamicPathGenerator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20DynamicPathGenerator_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynamicPathGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__341, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynamicPathGenerator.__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_9networkit_10_NetworKit_20DynamicPathGenerator_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20DynamicPathGenerator_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20DynamicPathGenerator_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynamicPathGenerator *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20DynamicPathGenerator_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynamicPathGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__342, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynamicPathGenerator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9459
 * 	cdef _DynamicDorogovtsevMendesGenerator* _this
 * 
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _DynamicDorogovtsevMendesGenerator()
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::DynamicDorogovtsevMendesGenerator *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":9460
 * 
 * 	def __cinit__(self):
 * 		self._this = new _DynamicDorogovtsevMendesGenerator()             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  try {
    __pyx_t_1 = new NetworKit::DynamicDorogovtsevMendesGenerator();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9460, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":9459
 * 	cdef _DynamicDorogovtsevMendesGenerator* _this
 * 
 * 	def __cinit__(self):             # <<<<<<<<<<<<<<
 * 		self._this = new _DynamicDorogovtsevMendesGenerator()
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynamicDorogovtsevMendesGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9462
 * 		self._this = new _DynamicDorogovtsevMendesGenerator()
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":9463
 * 
 * 	def __dealloc__(self):
 * 		del self._this             # <<<<<<<<<<<<<<
 * 
 * 	def generate(self, nSteps):
 */
  delete __pyx_v_self->_this;

  /* "networkit/_NetworKit.pyx":9462
 * 		self._this = new _DynamicDorogovtsevMendesGenerator()
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":9465
 * 		del self._this
 * 
 * 	def generate(self, nSteps):             # <<<<<<<<<<<<<<
 * 		""" Generate event stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_5generate(PyObject *__pyx_v_self, PyObject *__pyx_v_nSteps); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_4generate[] = " Generate event stream.\n\n\t\tParameters\n\t\t----------\n\t\tnSteps : count\n\t\t\tNumber of time steps in the event stream.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_5generate(PyObject *__pyx_v_self, PyObject *__pyx_v_nSteps) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generate (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_4generate(((struct __pyx_obj_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator *)__pyx_v_self), ((PyObject *)__pyx_v_nSteps));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_4generate(struct __pyx_obj_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator *__pyx_v_self, PyObject *__pyx_v_nSteps) {
  NetworKit::GraphEvent __pyx_9genexpr18__pyx_v_ev;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_2;
  std::vector<NetworKit::GraphEvent>  __pyx_t_3;
  std::vector<NetworKit::GraphEvent> ::iterator __pyx_t_4;
  std::vector<NetworKit::GraphEvent>  *__pyx_t_5;
  NetworKit::GraphEvent __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;
  __Pyx_RefNannySetupContext("generate", 0);

  /* "networkit/_NetworKit.pyx":9473
 * 			Number of time steps in the event stream.
 * 		"""
 * 		return [GraphEvent(ev.type, ev.u, ev.v, ev.w) for ev in self._this.generate(nSteps)]             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/generators/DynamicPubWebGenerator.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9473, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_nSteps); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9473, __pyx_L1_error)
    try {
      __pyx_t_3 = __pyx_v_self->_this->generate(__pyx_t_2);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 9473, __pyx_L1_error)
    }
    __pyx_t_5 = &__pyx_t_3;
    __pyx_t_4 = __pyx_t_5->begin();
    for (;;) {
      if (!(__pyx_t_4 != __pyx_t_5->end())) break;
      __pyx_t_6 = *__pyx_t_4;
      ++__pyx_t_4;
      __pyx_9genexpr18__pyx_v_ev = __pyx_t_6;
      __pyx_t_7 = __Pyx_PyInt_From_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_9genexpr18__pyx_v_ev.type); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9473, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = __Pyx_PyInt_From_uint64_t(__pyx_9genexpr18__pyx_v_ev.u); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9473, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_9 = __Pyx_PyInt_From_uint64_t(__pyx_9genexpr18__pyx_v_ev.v); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9473, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = PyFloat_FromDouble(__pyx_9genexpr18__pyx_v_ev.w); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9473, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_11 = PyTuple_New(4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 9473, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_GIVEREF(__pyx_t_7);
      PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_7);
      __Pyx_GIVEREF(__pyx_t_8);
      PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_8);
      __Pyx_GIVEREF(__pyx_t_9);
      PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_9);
      __Pyx_GIVEREF(__pyx_t_10);
      PyTuple_SET_ITEM(__pyx_t_11, 3, __pyx_t_10);
      __pyx_t_7 = 0;
      __pyx_t_8 = 0;
      __pyx_t_9 = 0;
      __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphEvent), __pyx_t_11, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9473, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_10))) __PYX_ERR(0, 9473, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9465
 * 		del self._this
 * 
 * 	def generate(self, nSteps):             # <<<<<<<<<<<<<<
 * 		""" Generate event stream.
 * 
 */

  /* 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_AddTraceback("networkit._NetworKit.DynamicDorogovtsevMendesGenerator.generate", __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_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__343, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynamicDorogovtsevMendesGenerator.__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_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__344, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynamicDorogovtsevMendesGenerator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9487
 * 	cdef _DynamicPubWebGenerator* _this
 * 
 * 	def __cinit__(self, numNodes, numberOfDenseAreas, neighborhoodRadius, maxNumberOfNeighbors):             # <<<<<<<<<<<<<<
 * 		self._this = new _DynamicPubWebGenerator(numNodes, numberOfDenseAreas, neighborhoodRadius, maxNumberOfNeighbors)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_22DynamicPubWebGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_22DynamicPubWebGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_numNodes = 0;
  PyObject *__pyx_v_numberOfDenseAreas = 0;
  PyObject *__pyx_v_neighborhoodRadius = 0;
  PyObject *__pyx_v_maxNumberOfNeighbors = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_numNodes,&__pyx_n_s_numberOfDenseAreas,&__pyx_n_s_neighborhoodRadius,&__pyx_n_s_maxNumberOfNeighbors,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numNodes)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numberOfDenseAreas)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 4, 4, 1); __PYX_ERR(0, 9487, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_neighborhoodRadius)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 4, 4, 2); __PYX_ERR(0, 9487, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_maxNumberOfNeighbors)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 4, 4, 3); __PYX_ERR(0, 9487, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 9487, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_numNodes = values[0];
    __pyx_v_numberOfDenseAreas = values[1];
    __pyx_v_neighborhoodRadius = values[2];
    __pyx_v_maxNumberOfNeighbors = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9487, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynamicPubWebGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22DynamicPubWebGenerator___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator *)__pyx_v_self), __pyx_v_numNodes, __pyx_v_numberOfDenseAreas, __pyx_v_neighborhoodRadius, __pyx_v_maxNumberOfNeighbors);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_22DynamicPubWebGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator *__pyx_v_self, PyObject *__pyx_v_numNodes, PyObject *__pyx_v_numberOfDenseAreas, PyObject *__pyx_v_neighborhoodRadius, PyObject *__pyx_v_maxNumberOfNeighbors) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_2;
  float __pyx_t_3;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_4;
  NetworKit::DynamicPubWebGenerator *__pyx_t_5;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":9488
 * 
 * 	def __cinit__(self, numNodes, numberOfDenseAreas, neighborhoodRadius, maxNumberOfNeighbors):
 * 		self._this = new _DynamicPubWebGenerator(numNodes, numberOfDenseAreas, neighborhoodRadius, maxNumberOfNeighbors)             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_numNodes); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9488, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_numberOfDenseAreas); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9488, __pyx_L1_error)
  __pyx_t_3 = __pyx_PyFloat_AsFloat(__pyx_v_neighborhoodRadius); if (unlikely((__pyx_t_3 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 9488, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyInt_As_uint64_t(__pyx_v_maxNumberOfNeighbors); if (unlikely((__pyx_t_4 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9488, __pyx_L1_error)
  try {
    __pyx_t_5 = new NetworKit::DynamicPubWebGenerator(__pyx_t_1, __pyx_t_2, __pyx_t_3, __pyx_t_4);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9488, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_5;

  /* "networkit/_NetworKit.pyx":9487
 * 	cdef _DynamicPubWebGenerator* _this
 * 
 * 	def __cinit__(self, numNodes, numberOfDenseAreas, neighborhoodRadius, maxNumberOfNeighbors):             # <<<<<<<<<<<<<<
 * 		self._this = new _DynamicPubWebGenerator(numNodes, numberOfDenseAreas, neighborhoodRadius, maxNumberOfNeighbors)
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynamicPubWebGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9490
 * 		self._this = new _DynamicPubWebGenerator(numNodes, numberOfDenseAreas, neighborhoodRadius, maxNumberOfNeighbors)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_22DynamicPubWebGenerator_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_22DynamicPubWebGenerator_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_22DynamicPubWebGenerator_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9networkit_10_NetworKit_22DynamicPubWebGenerator_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":9491
 * 
 * 	def __dealloc__(self):
 * 		del self._this             # <<<<<<<<<<<<<<
 * 
 * 	def generate(self, nSteps):
 */
  delete __pyx_v_self->_this;

  /* "networkit/_NetworKit.pyx":9490
 * 		self._this = new _DynamicPubWebGenerator(numNodes, numberOfDenseAreas, neighborhoodRadius, maxNumberOfNeighbors)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":9493
 * 		del self._this
 * 
 * 	def generate(self, nSteps):             # <<<<<<<<<<<<<<
 * 		""" Generate event stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22DynamicPubWebGenerator_5generate(PyObject *__pyx_v_self, PyObject *__pyx_v_nSteps); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_22DynamicPubWebGenerator_4generate[] = " Generate event stream.\n\n\t\tParameters\n\t\t----------\n\t\tnSteps : count\n\t\t\tNumber of time steps in the event stream.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_22DynamicPubWebGenerator_5generate(PyObject *__pyx_v_self, PyObject *__pyx_v_nSteps) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generate (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22DynamicPubWebGenerator_4generate(((struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator *)__pyx_v_self), ((PyObject *)__pyx_v_nSteps));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynamicPubWebGenerator_4generate(struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator *__pyx_v_self, PyObject *__pyx_v_nSteps) {
  NetworKit::GraphEvent __pyx_9genexpr19__pyx_v_ev;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_2;
  std::vector<NetworKit::GraphEvent>  __pyx_t_3;
  std::vector<NetworKit::GraphEvent> ::iterator __pyx_t_4;
  std::vector<NetworKit::GraphEvent>  *__pyx_t_5;
  NetworKit::GraphEvent __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;
  __Pyx_RefNannySetupContext("generate", 0);

  /* "networkit/_NetworKit.pyx":9501
 * 			Number of time steps in the event stream.
 * 		"""
 * 		return [GraphEvent(ev.type, ev.u, ev.v, ev.w) for ev in self._this.generate(nSteps)]             # <<<<<<<<<<<<<<
 * 
 * 	def getGraph(self):
 */
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9501, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_nSteps); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9501, __pyx_L1_error)
    try {
      __pyx_t_3 = __pyx_v_self->_this->generate(__pyx_t_2);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 9501, __pyx_L1_error)
    }
    __pyx_t_5 = &__pyx_t_3;
    __pyx_t_4 = __pyx_t_5->begin();
    for (;;) {
      if (!(__pyx_t_4 != __pyx_t_5->end())) break;
      __pyx_t_6 = *__pyx_t_4;
      ++__pyx_t_4;
      __pyx_9genexpr19__pyx_v_ev = __pyx_t_6;
      __pyx_t_7 = __Pyx_PyInt_From_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_9genexpr19__pyx_v_ev.type); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9501, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = __Pyx_PyInt_From_uint64_t(__pyx_9genexpr19__pyx_v_ev.u); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9501, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_9 = __Pyx_PyInt_From_uint64_t(__pyx_9genexpr19__pyx_v_ev.v); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9501, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = PyFloat_FromDouble(__pyx_9genexpr19__pyx_v_ev.w); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9501, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_11 = PyTuple_New(4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 9501, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_GIVEREF(__pyx_t_7);
      PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_7);
      __Pyx_GIVEREF(__pyx_t_8);
      PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_8);
      __Pyx_GIVEREF(__pyx_t_9);
      PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_9);
      __Pyx_GIVEREF(__pyx_t_10);
      PyTuple_SET_ITEM(__pyx_t_11, 3, __pyx_t_10);
      __pyx_t_7 = 0;
      __pyx_t_8 = 0;
      __pyx_t_9 = 0;
      __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphEvent), __pyx_t_11, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9501, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_10))) __PYX_ERR(0, 9501, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9493
 * 		del self._this
 * 
 * 	def generate(self, nSteps):             # <<<<<<<<<<<<<<
 * 		""" Generate event stream.
 * 
 */

  /* 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_AddTraceback("networkit._NetworKit.DynamicPubWebGenerator.generate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9503
 * 		return [GraphEvent(ev.type, ev.u, ev.v, ev.w) for ev in self._this.generate(nSteps)]
 * 
 * 	def getGraph(self):             # <<<<<<<<<<<<<<
 * 		return Graph().setThis(self._this.getGraph())
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22DynamicPubWebGenerator_7getGraph(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_22DynamicPubWebGenerator_7getGraph(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getGraph (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22DynamicPubWebGenerator_6getGraph(((struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynamicPubWebGenerator_6getGraph(struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Graph __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("getGraph", 0);

  /* "networkit/_NetworKit.pyx":9504
 * 
 * 	def getGraph(self):
 * 		return Graph().setThis(self._this.getGraph())             # <<<<<<<<<<<<<<
 * 
 * 	def getCoordinates(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = __pyx_v_self->_this->getGraph();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9504, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9504, __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;

  /* "networkit/_NetworKit.pyx":9503
 * 		return [GraphEvent(ev.type, ev.u, ev.v, ev.w) for ev in self._this.generate(nSteps)]
 * 
 * 	def getGraph(self):             # <<<<<<<<<<<<<<
 * 		return Graph().setThis(self._this.getGraph())
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.DynamicPubWebGenerator.getGraph", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9506
 * 		return Graph().setThis(self._this.getGraph())
 * 
 * 	def getCoordinates(self):             # <<<<<<<<<<<<<<
 * 		"""The coordinates currently assumed for each node"""
 * 		return toPoint2DVector((<_DynamicPubWebGenerator*>(self._this)).getCoordinates())
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22DynamicPubWebGenerator_9getCoordinates(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_22DynamicPubWebGenerator_8getCoordinates[] = "The coordinates currently assumed for each node";
static PyObject *__pyx_pw_9networkit_10_NetworKit_22DynamicPubWebGenerator_9getCoordinates(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getCoordinates (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22DynamicPubWebGenerator_8getCoordinates(((struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynamicPubWebGenerator_8getCoordinates(struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("getCoordinates", 0);

  /* "networkit/_NetworKit.pyx":9508
 * 	def getCoordinates(self):
 * 		"""The coordinates currently assumed for each node"""
 * 		return toPoint2DVector((<_DynamicPubWebGenerator*>(self._this)).getCoordinates())             # <<<<<<<<<<<<<<
 * 
 * 	def getNewCoordinates(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9networkit_10_NetworKit_toPoint2DVector(((NetworKit::DynamicPubWebGenerator *)__pyx_v_self->_this)->getCoordinates()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9508, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9506
 * 		return Graph().setThis(self._this.getGraph())
 * 
 * 	def getCoordinates(self):             # <<<<<<<<<<<<<<
 * 		"""The coordinates currently assumed for each node"""
 * 		return toPoint2DVector((<_DynamicPubWebGenerator*>(self._this)).getCoordinates())
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynamicPubWebGenerator.getCoordinates", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9510
 * 		return toPoint2DVector((<_DynamicPubWebGenerator*>(self._this)).getCoordinates())
 * 
 * 	def getNewCoordinates(self):             # <<<<<<<<<<<<<<
 * 		"""List [(node-id, (coordx, coordy)] of points added during last generate call."""
 * 		return toNodePoint2DVector((<_DynamicPubWebGenerator*>(self._this)).getNewCoordinates())
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22DynamicPubWebGenerator_11getNewCoordinates(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_22DynamicPubWebGenerator_10getNewCoordinates[] = "List [(node-id, (coordx, coordy)] of points added during last generate call.";
static PyObject *__pyx_pw_9networkit_10_NetworKit_22DynamicPubWebGenerator_11getNewCoordinates(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNewCoordinates (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22DynamicPubWebGenerator_10getNewCoordinates(((struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynamicPubWebGenerator_10getNewCoordinates(struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("getNewCoordinates", 0);

  /* "networkit/_NetworKit.pyx":9512
 * 	def getNewCoordinates(self):
 * 		"""List [(node-id, (coordx, coordy)] of points added during last generate call."""
 * 		return toNodePoint2DVector((<_DynamicPubWebGenerator*>(self._this)).getNewCoordinates())             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/generators/DynamicHyperbolicGenerator.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9networkit_10_NetworKit_toNodePoint2DVector(((NetworKit::DynamicPubWebGenerator *)__pyx_v_self->_this)->getNewCoordinates()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9512, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9510
 * 		return toPoint2DVector((<_DynamicPubWebGenerator*>(self._this)).getCoordinates())
 * 
 * 	def getNewCoordinates(self):             # <<<<<<<<<<<<<<
 * 		"""List [(node-id, (coordx, coordy)] of points added during last generate call."""
 * 		return toNodePoint2DVector((<_DynamicPubWebGenerator*>(self._this)).getNewCoordinates())
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynamicPubWebGenerator.getNewCoordinates", __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_9networkit_10_NetworKit_22DynamicPubWebGenerator_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_22DynamicPubWebGenerator_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22DynamicPubWebGenerator_12__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynamicPubWebGenerator_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__345, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynamicPubWebGenerator.__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_9networkit_10_NetworKit_22DynamicPubWebGenerator_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_22DynamicPubWebGenerator_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22DynamicPubWebGenerator_14__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_22DynamicPubWebGenerator_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__346, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynamicPubWebGenerator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9526
 * 	cdef _DynamicHyperbolicGenerator* _this
 * 
 * 	def __cinit__(self, numNodes, avgDegree = 6, gamma = 3, T = 0, moveEachStep = 1, moveDistance = 0.1):             # <<<<<<<<<<<<<<
 * 		""" Dynamic graph generator according to the hyperbolic unit disk model.
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_numNodes = 0;
  CYTHON_UNUSED PyObject *__pyx_v_avgDegree = 0;
  PyObject *__pyx_v_gamma = 0;
  CYTHON_UNUSED PyObject *__pyx_v_T = 0;
  CYTHON_UNUSED PyObject *__pyx_v_moveEachStep = 0;
  CYTHON_UNUSED PyObject *__pyx_v_moveDistance = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_numNodes,&__pyx_n_s_avgDegree,&__pyx_n_s_gamma,&__pyx_n_s_T,&__pyx_n_s_moveEachStep,&__pyx_n_s_moveDistance,0};
    PyObject* values[6] = {0,0,0,0,0,0};
    values[1] = ((PyObject *)__pyx_int_6);
    values[2] = ((PyObject *)__pyx_int_3);
    values[3] = ((PyObject *)__pyx_int_0);
    values[4] = ((PyObject *)__pyx_int_1);
    values[5] = ((PyObject *)__pyx_float_0_1);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numNodes)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_avgDegree);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_gamma);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_T);
          if (value) { values[3] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_moveEachStep);
          if (value) { values[4] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_moveDistance);
          if (value) { values[5] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 9526, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_numNodes = values[0];
    __pyx_v_avgDegree = values[1];
    __pyx_v_gamma = values[2];
    __pyx_v_T = values[3];
    __pyx_v_moveEachStep = values[4];
    __pyx_v_moveDistance = values[5];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9526, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynamicHyperbolicGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26DynamicHyperbolicGenerator___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_DynamicHyperbolicGenerator *)__pyx_v_self), __pyx_v_numNodes, __pyx_v_avgDegree, __pyx_v_gamma, __pyx_v_T, __pyx_v_moveEachStep, __pyx_v_moveDistance);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_26DynamicHyperbolicGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynamicHyperbolicGenerator *__pyx_v_self, PyObject *__pyx_v_numNodes, CYTHON_UNUSED PyObject *__pyx_v_avgDegree, PyObject *__pyx_v_gamma, CYTHON_UNUSED PyObject *__pyx_v_T, CYTHON_UNUSED PyObject *__pyx_v_moveEachStep, CYTHON_UNUSED PyObject *__pyx_v_moveDistance) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_3;
  NetworKit::DynamicHyperbolicGenerator *__pyx_t_4;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":9544
 * 			base value for the node movements
 * 		"""
 * 		if gamma <= 2:             # <<<<<<<<<<<<<<
 * 				raise ValueError("Exponent of power-law degree distribution must be > 2")
 * 		self._this = new _DynamicHyperbolicGenerator(numNodes, avgDegree = 6, gamma = 3, T = 0, moveEachStep = 1, moveDistance = 0.1)
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_gamma, __pyx_int_2, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9544, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 9544, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(__pyx_t_2)) {

    /* "networkit/_NetworKit.pyx":9545
 * 		"""
 * 		if gamma <= 2:
 * 				raise ValueError("Exponent of power-law degree distribution must be > 2")             # <<<<<<<<<<<<<<
 * 		self._this = new _DynamicHyperbolicGenerator(numNodes, avgDegree = 6, gamma = 3, T = 0, moveEachStep = 1, moveDistance = 0.1)
 * 
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__78, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9545, __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(0, 9545, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":9544
 * 			base value for the node movements
 * 		"""
 * 		if gamma <= 2:             # <<<<<<<<<<<<<<
 * 				raise ValueError("Exponent of power-law degree distribution must be > 2")
 * 		self._this = new _DynamicHyperbolicGenerator(numNodes, avgDegree = 6, gamma = 3, T = 0, moveEachStep = 1, moveDistance = 0.1)
 */
  }

  /* "networkit/_NetworKit.pyx":9546
 * 		if gamma <= 2:
 * 				raise ValueError("Exponent of power-law degree distribution must be > 2")
 * 		self._this = new _DynamicHyperbolicGenerator(numNodes, avgDegree = 6, gamma = 3, T = 0, moveEachStep = 1, moveDistance = 0.1)             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  __pyx_t_3 = __Pyx_PyInt_As_uint64_t(__pyx_v_numNodes); if (unlikely((__pyx_t_3 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9546, __pyx_L1_error)
  try {
    __pyx_t_4 = new NetworKit::DynamicHyperbolicGenerator(__pyx_t_3, 6.0, 3.0, 0.0, 1.0, 0.1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9546, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_4;

  /* "networkit/_NetworKit.pyx":9526
 * 	cdef _DynamicHyperbolicGenerator* _this
 * 
 * 	def __cinit__(self, numNodes, avgDegree = 6, gamma = 3, T = 0, moveEachStep = 1, moveDistance = 0.1):             # <<<<<<<<<<<<<<
 * 		""" Dynamic graph generator according to the hyperbolic unit disk model.
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynamicHyperbolicGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9548
 * 		self._this = new _DynamicHyperbolicGenerator(numNodes, avgDegree = 6, gamma = 3, T = 0, moveEachStep = 1, moveDistance = 0.1)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_DynamicHyperbolicGenerator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_DynamicHyperbolicGenerator *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":9549
 * 
 * 	def __dealloc__(self):
 * 		del self._this             # <<<<<<<<<<<<<<
 * 
 * 	def generate(self, nSteps):
 */
  delete __pyx_v_self->_this;

  /* "networkit/_NetworKit.pyx":9548
 * 		self._this = new _DynamicHyperbolicGenerator(numNodes, avgDegree = 6, gamma = 3, T = 0, moveEachStep = 1, moveDistance = 0.1)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":9551
 * 		del self._this
 * 
 * 	def generate(self, nSteps):             # <<<<<<<<<<<<<<
 * 		""" Generate event stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_5generate(PyObject *__pyx_v_self, PyObject *__pyx_v_nSteps); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_4generate[] = " Generate event stream.\n\n\t\tParameters\n\t\t----------\n\t\tnSteps : count\n\t\t\tNumber of time steps in the event stream.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_5generate(PyObject *__pyx_v_self, PyObject *__pyx_v_nSteps) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generate (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_4generate(((struct __pyx_obj_9networkit_10_NetworKit_DynamicHyperbolicGenerator *)__pyx_v_self), ((PyObject *)__pyx_v_nSteps));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_4generate(struct __pyx_obj_9networkit_10_NetworKit_DynamicHyperbolicGenerator *__pyx_v_self, PyObject *__pyx_v_nSteps) {
  NetworKit::GraphEvent __pyx_9genexpr20__pyx_v_ev;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_2;
  std::vector<NetworKit::GraphEvent>  __pyx_t_3;
  std::vector<NetworKit::GraphEvent> ::iterator __pyx_t_4;
  std::vector<NetworKit::GraphEvent>  *__pyx_t_5;
  NetworKit::GraphEvent __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;
  __Pyx_RefNannySetupContext("generate", 0);

  /* "networkit/_NetworKit.pyx":9559
 * 			Number of time steps in the event stream.
 * 		"""
 * 		return [GraphEvent(ev.type, ev.u, ev.v, ev.w) for ev in self._this.generate(nSteps)]             # <<<<<<<<<<<<<<
 * 
 * 	def getGraph(self):
 */
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_nSteps); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9559, __pyx_L1_error)
    try {
      __pyx_t_3 = __pyx_v_self->_this->generate(__pyx_t_2);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 9559, __pyx_L1_error)
    }
    __pyx_t_5 = &__pyx_t_3;
    __pyx_t_4 = __pyx_t_5->begin();
    for (;;) {
      if (!(__pyx_t_4 != __pyx_t_5->end())) break;
      __pyx_t_6 = *__pyx_t_4;
      ++__pyx_t_4;
      __pyx_9genexpr20__pyx_v_ev = __pyx_t_6;
      __pyx_t_7 = __Pyx_PyInt_From_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_9genexpr20__pyx_v_ev.type); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9559, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = __Pyx_PyInt_From_uint64_t(__pyx_9genexpr20__pyx_v_ev.u); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9559, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_9 = __Pyx_PyInt_From_uint64_t(__pyx_9genexpr20__pyx_v_ev.v); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9559, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = PyFloat_FromDouble(__pyx_9genexpr20__pyx_v_ev.w); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9559, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_11 = PyTuple_New(4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 9559, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_GIVEREF(__pyx_t_7);
      PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_7);
      __Pyx_GIVEREF(__pyx_t_8);
      PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_8);
      __Pyx_GIVEREF(__pyx_t_9);
      PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_9);
      __Pyx_GIVEREF(__pyx_t_10);
      PyTuple_SET_ITEM(__pyx_t_11, 3, __pyx_t_10);
      __pyx_t_7 = 0;
      __pyx_t_8 = 0;
      __pyx_t_9 = 0;
      __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphEvent), __pyx_t_11, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9559, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_10))) __PYX_ERR(0, 9559, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9551
 * 		del self._this
 * 
 * 	def generate(self, nSteps):             # <<<<<<<<<<<<<<
 * 		""" Generate event stream.
 * 
 */

  /* 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_AddTraceback("networkit._NetworKit.DynamicHyperbolicGenerator.generate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9561
 * 		return [GraphEvent(ev.type, ev.u, ev.v, ev.w) for ev in self._this.generate(nSteps)]
 * 
 * 	def getGraph(self):             # <<<<<<<<<<<<<<
 * 		return Graph().setThis(self._this.getGraph())
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_7getGraph(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_7getGraph(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getGraph (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_6getGraph(((struct __pyx_obj_9networkit_10_NetworKit_DynamicHyperbolicGenerator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_6getGraph(struct __pyx_obj_9networkit_10_NetworKit_DynamicHyperbolicGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Graph __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("getGraph", 0);

  /* "networkit/_NetworKit.pyx":9562
 * 
 * 	def getGraph(self):
 * 		return Graph().setThis(self._this.getGraph())             # <<<<<<<<<<<<<<
 * 
 * 	def getCoordinates(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = __pyx_v_self->_this->getGraph();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9562, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9562, __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;

  /* "networkit/_NetworKit.pyx":9561
 * 		return [GraphEvent(ev.type, ev.u, ev.v, ev.w) for ev in self._this.generate(nSteps)]
 * 
 * 	def getGraph(self):             # <<<<<<<<<<<<<<
 * 		return Graph().setThis(self._this.getGraph())
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.DynamicHyperbolicGenerator.getGraph", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9564
 * 		return Graph().setThis(self._this.getGraph())
 * 
 * 	def getCoordinates(self):             # <<<<<<<<<<<<<<
 * 		""" Get coordinates in the Poincare disk"""
 * 		return toPoint2DVector(self._this.getCoordinates())
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_9getCoordinates(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_8getCoordinates[] = " Get coordinates in the Poincare disk";
static PyObject *__pyx_pw_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_9getCoordinates(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getCoordinates (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_8getCoordinates(((struct __pyx_obj_9networkit_10_NetworKit_DynamicHyperbolicGenerator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_8getCoordinates(struct __pyx_obj_9networkit_10_NetworKit_DynamicHyperbolicGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<NetworKit::Point2D>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getCoordinates", 0);

  /* "networkit/_NetworKit.pyx":9566
 * 	def getCoordinates(self):
 * 		""" Get coordinates in the Poincare disk"""
 * 		return toPoint2DVector(self._this.getCoordinates())             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/generators/DynamicForestFireGenerator.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this->getCoordinates();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9566, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9networkit_10_NetworKit_toPoint2DVector(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9564
 * 		return Graph().setThis(self._this.getGraph())
 * 
 * 	def getCoordinates(self):             # <<<<<<<<<<<<<<
 * 		""" Get coordinates in the Poincare disk"""
 * 		return toPoint2DVector(self._this.getCoordinates())
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.DynamicHyperbolicGenerator.getCoordinates", __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_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_10__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynamicHyperbolicGenerator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynamicHyperbolicGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__347, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynamicHyperbolicGenerator.__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_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_12__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynamicHyperbolicGenerator *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynamicHyperbolicGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__348, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynamicHyperbolicGenerator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9599
 * 	cdef _DynamicForestFireGenerator* _this
 * 
 * 	def __cinit__(self, p, directed, r = 1.0):             # <<<<<<<<<<<<<<
 * 		self._this = new _DynamicForestFireGenerator(p, directed, r)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_26DynamicForestFireGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_26DynamicForestFireGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_p = 0;
  PyObject *__pyx_v_directed = 0;
  PyObject *__pyx_v_r = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_p,&__pyx_n_s_directed,&__pyx_n_s_r,0};
    PyObject* values[3] = {0,0,0};
    values[2] = ((PyObject *)__pyx_float_1_0);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_p)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_directed)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, 1); __PYX_ERR(0, 9599, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_r);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 9599, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_p = values[0];
    __pyx_v_directed = values[1];
    __pyx_v_r = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9599, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynamicForestFireGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26DynamicForestFireGenerator___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_DynamicForestFireGenerator *)__pyx_v_self), __pyx_v_p, __pyx_v_directed, __pyx_v_r);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_26DynamicForestFireGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DynamicForestFireGenerator *__pyx_v_self, PyObject *__pyx_v_p, PyObject *__pyx_v_directed, PyObject *__pyx_v_r) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  bool __pyx_t_2;
  double __pyx_t_3;
  NetworKit::DynamicForestFireGenerator *__pyx_t_4;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":9600
 * 
 * 	def __cinit__(self, p, directed, r = 1.0):
 * 		self._this = new _DynamicForestFireGenerator(p, directed, r)             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  __pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_p); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 9600, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_directed); if (unlikely((__pyx_t_2 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9600, __pyx_L1_error)
  __pyx_t_3 = __pyx_PyFloat_AsDouble(__pyx_v_r); if (unlikely((__pyx_t_3 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 9600, __pyx_L1_error)
  try {
    __pyx_t_4 = new NetworKit::DynamicForestFireGenerator(__pyx_t_1, __pyx_t_2, __pyx_t_3);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9600, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_4;

  /* "networkit/_NetworKit.pyx":9599
 * 	cdef _DynamicForestFireGenerator* _this
 * 
 * 	def __cinit__(self, p, directed, r = 1.0):             # <<<<<<<<<<<<<<
 * 		self._this = new _DynamicForestFireGenerator(p, directed, r)
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DynamicForestFireGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9602
 * 		self._this = new _DynamicForestFireGenerator(p, directed, r)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_26DynamicForestFireGenerator_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_26DynamicForestFireGenerator_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_26DynamicForestFireGenerator_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_DynamicForestFireGenerator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9networkit_10_NetworKit_26DynamicForestFireGenerator_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_DynamicForestFireGenerator *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":9603
 * 
 * 	def __dealloc__(self):
 * 		del self._this             # <<<<<<<<<<<<<<
 * 
 * 	def generate(self, nSteps):
 */
  delete __pyx_v_self->_this;

  /* "networkit/_NetworKit.pyx":9602
 * 		self._this = new _DynamicForestFireGenerator(p, directed, r)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":9605
 * 		del self._this
 * 
 * 	def generate(self, nSteps):             # <<<<<<<<<<<<<<
 * 		""" Generate event stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_26DynamicForestFireGenerator_5generate(PyObject *__pyx_v_self, PyObject *__pyx_v_nSteps); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_26DynamicForestFireGenerator_4generate[] = " Generate event stream.\n\n\t\tParameters\n\t\t----------\n\t\tnSteps : count\n\t\t\tNumber of time steps in the event stream.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_26DynamicForestFireGenerator_5generate(PyObject *__pyx_v_self, PyObject *__pyx_v_nSteps) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generate (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26DynamicForestFireGenerator_4generate(((struct __pyx_obj_9networkit_10_NetworKit_DynamicForestFireGenerator *)__pyx_v_self), ((PyObject *)__pyx_v_nSteps));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_26DynamicForestFireGenerator_4generate(struct __pyx_obj_9networkit_10_NetworKit_DynamicForestFireGenerator *__pyx_v_self, PyObject *__pyx_v_nSteps) {
  NetworKit::GraphEvent __pyx_9genexpr21__pyx_v_ev;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_2;
  std::vector<NetworKit::GraphEvent>  __pyx_t_3;
  std::vector<NetworKit::GraphEvent> ::iterator __pyx_t_4;
  std::vector<NetworKit::GraphEvent>  *__pyx_t_5;
  NetworKit::GraphEvent __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;
  __Pyx_RefNannySetupContext("generate", 0);

  /* "networkit/_NetworKit.pyx":9613
 * 			Number of time steps in the event stream.
 * 		"""
 * 		return [GraphEvent(ev.type, ev.u, ev.v, ev.w) for ev in self._this.generate(nSteps)]             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9613, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_nSteps); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9613, __pyx_L1_error)
    try {
      __pyx_t_3 = __pyx_v_self->_this->generate(__pyx_t_2);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 9613, __pyx_L1_error)
    }
    __pyx_t_5 = &__pyx_t_3;
    __pyx_t_4 = __pyx_t_5->begin();
    for (;;) {
      if (!(__pyx_t_4 != __pyx_t_5->end())) break;
      __pyx_t_6 = *__pyx_t_4;
      ++__pyx_t_4;
      __pyx_9genexpr21__pyx_v_ev = __pyx_t_6;
      __pyx_t_7 = __Pyx_PyInt_From_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_9genexpr21__pyx_v_ev.type); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9613, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = __Pyx_PyInt_From_uint64_t(__pyx_9genexpr21__pyx_v_ev.u); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9613, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_9 = __Pyx_PyInt_From_uint64_t(__pyx_9genexpr21__pyx_v_ev.v); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9613, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = PyFloat_FromDouble(__pyx_9genexpr21__pyx_v_ev.w); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9613, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_11 = PyTuple_New(4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 9613, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_GIVEREF(__pyx_t_7);
      PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_7);
      __Pyx_GIVEREF(__pyx_t_8);
      PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_8);
      __Pyx_GIVEREF(__pyx_t_9);
      PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_9);
      __Pyx_GIVEREF(__pyx_t_10);
      PyTuple_SET_ITEM(__pyx_t_11, 3, __pyx_t_10);
      __pyx_t_7 = 0;
      __pyx_t_8 = 0;
      __pyx_t_9 = 0;
      __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphEvent), __pyx_t_11, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9613, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_10))) __PYX_ERR(0, 9613, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9605
 * 		del self._this
 * 
 * 	def generate(self, nSteps):             # <<<<<<<<<<<<<<
 * 		""" Generate event stream.
 * 
 */

  /* 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_AddTraceback("networkit._NetworKit.DynamicForestFireGenerator.generate", __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_9networkit_10_NetworKit_26DynamicForestFireGenerator_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_26DynamicForestFireGenerator_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26DynamicForestFireGenerator_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynamicForestFireGenerator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_26DynamicForestFireGenerator_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynamicForestFireGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__349, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynamicForestFireGenerator.__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_9networkit_10_NetworKit_26DynamicForestFireGenerator_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_26DynamicForestFireGenerator_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26DynamicForestFireGenerator_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DynamicForestFireGenerator *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_26DynamicForestFireGenerator_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DynamicForestFireGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__350, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DynamicForestFireGenerator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9636
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _GraphUpdater(G._this)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_12GraphUpdater_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_12GraphUpdater_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 9636, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9636, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphUpdater.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 9636, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12GraphUpdater___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_GraphUpdater *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_12GraphUpdater___cinit__(struct __pyx_obj_9networkit_10_NetworKit_GraphUpdater *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::GraphUpdater *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":9637
 * 
 * 	def __cinit__(self, Graph G):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _GraphUpdater(G._this)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":9638
 * 	def __cinit__(self, Graph G):
 * 		self._G = G
 * 		self._this = new _GraphUpdater(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  try {
    __pyx_t_1 = new NetworKit::GraphUpdater(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9638, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":9636
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _GraphUpdater(G._this)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphUpdater.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9640
 * 		self._this = new _GraphUpdater(G._this)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_12GraphUpdater_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_12GraphUpdater_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_12GraphUpdater_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_GraphUpdater *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9networkit_10_NetworKit_12GraphUpdater_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_GraphUpdater *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":9641
 * 
 * 	def __dealloc__(self):
 * 		del self._this             # <<<<<<<<<<<<<<
 * 
 * 	def update(self, stream):
 */
  delete __pyx_v_self->_this;

  /* "networkit/_NetworKit.pyx":9640
 * 		self._this = new _GraphUpdater(G._this)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":9643
 * 		del self._this
 * 
 * 	def update(self, stream):             # <<<<<<<<<<<<<<
 * 		cdef vector[_GraphEvent] _stream
 * 		for ev in stream:
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12GraphUpdater_5update(PyObject *__pyx_v_self, PyObject *__pyx_v_stream); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12GraphUpdater_5update(PyObject *__pyx_v_self, PyObject *__pyx_v_stream) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("update (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12GraphUpdater_4update(((struct __pyx_obj_9networkit_10_NetworKit_GraphUpdater *)__pyx_v_self), ((PyObject *)__pyx_v_stream));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12GraphUpdater_4update(struct __pyx_obj_9networkit_10_NetworKit_GraphUpdater *__pyx_v_self, PyObject *__pyx_v_stream) {
  std::vector<NetworKit::GraphEvent>  __pyx_v__stream;
  PyObject *__pyx_v_ev = 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;
  enum NetworKit::GraphEvent::Type __pyx_t_5;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_6;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_7;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_8;
  NetworKit::GraphEvent __pyx_t_9;
  __Pyx_RefNannySetupContext("update", 0);

  /* "networkit/_NetworKit.pyx":9645
 * 	def update(self, stream):
 * 		cdef vector[_GraphEvent] _stream
 * 		for ev in stream:             # <<<<<<<<<<<<<<
 * 			_stream.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		with nogil:
 */
  if (likely(PyList_CheckExact(__pyx_v_stream)) || PyTuple_CheckExact(__pyx_v_stream)) {
    __pyx_t_1 = __pyx_v_stream; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_stream); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9645, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 9645, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9645, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 9645, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9645, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 9645, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_ev, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "networkit/_NetworKit.pyx":9646
 * 		cdef vector[_GraphEvent] _stream
 * 		for ev in stream:
 * 			_stream.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))             # <<<<<<<<<<<<<<
 * 		with nogil:
 * 			self._this.update(_stream)
 */
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9646, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = ((enum NetworKit::GraphEvent::Type)__Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 9646, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_u); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9646, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyInt_As_uint64_t(__pyx_t_4); if (unlikely((__pyx_t_6 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9646, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_v); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9646, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = __Pyx_PyInt_As_uint64_t(__pyx_t_4); if (unlikely((__pyx_t_7 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9646, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ev, __pyx_n_s_w); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9646, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_8 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 9646, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    try {
      __pyx_t_9 = NetworKit::GraphEvent(__pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 9646, __pyx_L1_error)
    }
    try {
      __pyx_v__stream.push_back(__pyx_t_9);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 9646, __pyx_L1_error)
    }

    /* "networkit/_NetworKit.pyx":9645
 * 	def update(self, stream):
 * 		cdef vector[_GraphEvent] _stream
 * 		for ev in stream:             # <<<<<<<<<<<<<<
 * 			_stream.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		with nogil:
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":9647
 * 		for ev in stream:
 * 			_stream.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.update(_stream)
 * 
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":9648
 * 			_stream.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		with nogil:
 * 			self._this.update(_stream)             # <<<<<<<<<<<<<<
 * 
 * 
 */
        try {
          __pyx_v_self->_this->update(__pyx_v__stream);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 9648, __pyx_L6_error)
        }
      }

      /* "networkit/_NetworKit.pyx":9647
 * 		for ev in stream:
 * 			_stream.push_back(_GraphEvent(ev.type, ev.u, ev.v, ev.w))
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			self._this.update(_stream)
 * 
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L7;
        }
        __pyx_L6_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L7:;
      }
  }

  /* "networkit/_NetworKit.pyx":9643
 * 		del self._this
 * 
 * 	def update(self, stream):             # <<<<<<<<<<<<<<
 * 		cdef vector[_GraphEvent] _stream
 * 		for ev in stream:
 */

  /* 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_AddTraceback("networkit._NetworKit.GraphUpdater.update", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ev);
  __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_9networkit_10_NetworKit_12GraphUpdater_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12GraphUpdater_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12GraphUpdater_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GraphUpdater *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12GraphUpdater_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphUpdater *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__351, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphUpdater.__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_9networkit_10_NetworKit_12GraphUpdater_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12GraphUpdater_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12GraphUpdater_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GraphUpdater *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12GraphUpdater_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphUpdater *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__352, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphUpdater.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9664
 * 	cdef Graph _G
 * 
 * 	def __init__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == GraphCoarsening:
 * 			raise RuntimeError("Error, you may not use GraphCoarsening directly, use a sub-class instead")
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_15GraphCoarsening_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_15GraphCoarsening_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_namedargs = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15GraphCoarsening___init__(((struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening *)__pyx_v_self), __pyx_v_args, __pyx_v_namedargs);

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_namedargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_15GraphCoarsening___init__(struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "networkit/_NetworKit.pyx":9665
 * 
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == GraphCoarsening:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use GraphCoarsening directly, use a sub-class instead")
 * 
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), ((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphCoarsening), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9665, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 9665, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(__pyx_t_2)) {

    /* "networkit/_NetworKit.pyx":9666
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == GraphCoarsening:
 * 			raise RuntimeError("Error, you may not use GraphCoarsening directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def getCoarseGraph(self):
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__353, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9666, __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(0, 9666, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":9665
 * 
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == GraphCoarsening:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use GraphCoarsening directly, use a sub-class instead")
 * 
 */
  }

  /* "networkit/_NetworKit.pyx":9664
 * 	cdef Graph _G
 * 
 * 	def __init__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == GraphCoarsening:
 * 			raise RuntimeError("Error, you may not use GraphCoarsening directly, use a sub-class instead")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphCoarsening.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9668
 * 			raise RuntimeError("Error, you may not use GraphCoarsening directly, use a sub-class instead")
 * 
 * 	def getCoarseGraph(self):             # <<<<<<<<<<<<<<
 * 		return Graph(0).setThis((<_GraphCoarsening*>(self._this)).getCoarseGraph())
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GraphCoarsening_3getCoarseGraph(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GraphCoarsening_3getCoarseGraph(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getCoarseGraph (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15GraphCoarsening_2getCoarseGraph(((struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphCoarsening_2getCoarseGraph(struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Graph __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("getCoarseGraph", 0);

  /* "networkit/_NetworKit.pyx":9669
 * 
 * 	def getCoarseGraph(self):
 * 		return Graph(0).setThis((<_GraphCoarsening*>(self._this)).getCoarseGraph())             # <<<<<<<<<<<<<<
 * 
 * 	def getFineToCoarseNodeMapping(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph), __pyx_tuple__79, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = ((NetworKit::GraphCoarsening *)__pyx_v_self->__pyx_base._this)->getCoarseGraph();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9669, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9669, __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;

  /* "networkit/_NetworKit.pyx":9668
 * 			raise RuntimeError("Error, you may not use GraphCoarsening directly, use a sub-class instead")
 * 
 * 	def getCoarseGraph(self):             # <<<<<<<<<<<<<<
 * 		return Graph(0).setThis((<_GraphCoarsening*>(self._this)).getCoarseGraph())
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.GraphCoarsening.getCoarseGraph", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9671
 * 		return Graph(0).setThis((<_GraphCoarsening*>(self._this)).getCoarseGraph())
 * 
 * 	def getFineToCoarseNodeMapping(self):             # <<<<<<<<<<<<<<
 * 		return (<_GraphCoarsening*>(self._this)).getFineToCoarseNodeMapping()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GraphCoarsening_5getFineToCoarseNodeMapping(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GraphCoarsening_5getFineToCoarseNodeMapping(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getFineToCoarseNodeMapping (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15GraphCoarsening_4getFineToCoarseNodeMapping(((struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphCoarsening_4getFineToCoarseNodeMapping(struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getFineToCoarseNodeMapping", 0);

  /* "networkit/_NetworKit.pyx":9672
 * 
 * 	def getFineToCoarseNodeMapping(self):
 * 		return (<_GraphCoarsening*>(self._this)).getFineToCoarseNodeMapping()             # <<<<<<<<<<<<<<
 * 
 * 	def getCoarseToFineNodeMapping(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::GraphCoarsening *)__pyx_v_self->__pyx_base._this)->getFineToCoarseNodeMapping();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9672, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9671
 * 		return Graph(0).setThis((<_GraphCoarsening*>(self._this)).getCoarseGraph())
 * 
 * 	def getFineToCoarseNodeMapping(self):             # <<<<<<<<<<<<<<
 * 		return (<_GraphCoarsening*>(self._this)).getFineToCoarseNodeMapping()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GraphCoarsening.getFineToCoarseNodeMapping", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9674
 * 		return (<_GraphCoarsening*>(self._this)).getFineToCoarseNodeMapping()
 * 
 * 	def getCoarseToFineNodeMapping(self):             # <<<<<<<<<<<<<<
 * 		return (<_GraphCoarsening*>(self._this)).getCoarseToFineNodeMapping()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GraphCoarsening_7getCoarseToFineNodeMapping(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GraphCoarsening_7getCoarseToFineNodeMapping(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getCoarseToFineNodeMapping (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15GraphCoarsening_6getCoarseToFineNodeMapping(((struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphCoarsening_6getCoarseToFineNodeMapping(struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::map<__pyx_t_9networkit_10_NetworKit_node,std::vector<__pyx_t_9networkit_10_NetworKit_node> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getCoarseToFineNodeMapping", 0);

  /* "networkit/_NetworKit.pyx":9675
 * 
 * 	def getCoarseToFineNodeMapping(self):
 * 		return (<_GraphCoarsening*>(self._this)).getCoarseToFineNodeMapping()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::GraphCoarsening *)__pyx_v_self->__pyx_base._this)->getCoarseToFineNodeMapping();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9675, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_node____std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_node_3e___(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9674
 * 		return (<_GraphCoarsening*>(self._this)).getFineToCoarseNodeMapping()
 * 
 * 	def getCoarseToFineNodeMapping(self):             # <<<<<<<<<<<<<<
 * 		return (<_GraphCoarsening*>(self._this)).getCoarseToFineNodeMapping()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GraphCoarsening.getCoarseToFineNodeMapping", __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_9networkit_10_NetworKit_15GraphCoarsening_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GraphCoarsening_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15GraphCoarsening_8__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphCoarsening_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__354, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphCoarsening.__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_9networkit_10_NetworKit_15GraphCoarsening_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GraphCoarsening_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15GraphCoarsening_10__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15GraphCoarsening_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__355, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphCoarsening.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9685
 * 
 * cdef class ParallelPartitionCoarsening(GraphCoarsening):
 * 	def __cinit__(self, Graph G not None, Partition zeta not None, useGraphBuilder = True):             # <<<<<<<<<<<<<<
 * 		self._this = new _ParallelPartitionCoarsening(G._this, zeta._this, useGraphBuilder)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_27ParallelPartitionCoarsening_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_27ParallelPartitionCoarsening_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta = 0;
  PyObject *__pyx_v_useGraphBuilder = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_zeta,&__pyx_n_s_useGraphBuilder,0};
    PyObject* values[3] = {0,0,0};
    values[2] = ((PyObject *)Py_True);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zeta)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, 1); __PYX_ERR(0, 9685, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_useGraphBuilder);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 9685, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_zeta = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)values[1]);
    __pyx_v_useGraphBuilder = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9685, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ParallelPartitionCoarsening.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 9685, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_zeta), __pyx_ptype_9networkit_10_NetworKit_Partition, 0, "zeta", 0))) __PYX_ERR(0, 9685, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27ParallelPartitionCoarsening___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_ParallelPartitionCoarsening *)__pyx_v_self), __pyx_v_G, __pyx_v_zeta, __pyx_v_useGraphBuilder);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_27ParallelPartitionCoarsening___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ParallelPartitionCoarsening *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Partition *__pyx_v_zeta, PyObject *__pyx_v_useGraphBuilder) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  NetworKit::ParallelPartitionCoarsening *__pyx_t_2;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":9686
 * cdef class ParallelPartitionCoarsening(GraphCoarsening):
 * 	def __cinit__(self, Graph G not None, Partition zeta not None, useGraphBuilder = True):
 * 		self._this = new _ParallelPartitionCoarsening(G._this, zeta._this, useGraphBuilder)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/coarsening/MatchingCoarsening.hpp>":
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_useGraphBuilder); if (unlikely((__pyx_t_1 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9686, __pyx_L1_error)
  try {
    __pyx_t_2 = new NetworKit::ParallelPartitionCoarsening(__pyx_v_G->_this, __pyx_v_zeta->_this, __pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9686, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_2;

  /* "networkit/_NetworKit.pyx":9685
 * 
 * cdef class ParallelPartitionCoarsening(GraphCoarsening):
 * 	def __cinit__(self, Graph G not None, Partition zeta not None, useGraphBuilder = True):             # <<<<<<<<<<<<<<
 * 		self._this = new _ParallelPartitionCoarsening(G._this, zeta._this, useGraphBuilder)
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ParallelPartitionCoarsening.__cinit__", __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_9networkit_10_NetworKit_27ParallelPartitionCoarsening_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_27ParallelPartitionCoarsening_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27ParallelPartitionCoarsening_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ParallelPartitionCoarsening *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_27ParallelPartitionCoarsening_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ParallelPartitionCoarsening *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__356, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ParallelPartitionCoarsening.__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_9networkit_10_NetworKit_27ParallelPartitionCoarsening_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_27ParallelPartitionCoarsening_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27ParallelPartitionCoarsening_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ParallelPartitionCoarsening *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_27ParallelPartitionCoarsening_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ParallelPartitionCoarsening *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__357, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ParallelPartitionCoarsening.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9704
 * 	"""
 * 
 * 	def __cinit__(self, Graph G not None, Matching M not None, bool_t noSelfLoops=False):             # <<<<<<<<<<<<<<
 * 		self._this = new _MatchingCoarsening(G._this, M._this, noSelfLoops)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_18MatchingCoarsening_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_18MatchingCoarsening_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_M = 0;
  bool __pyx_v_noSelfLoops;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_M,&__pyx_n_s_noSelfLoops,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_M)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, 1); __PYX_ERR(0, 9704, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_noSelfLoops);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 9704, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_M = ((struct __pyx_obj_9networkit_10_NetworKit_Matching *)values[1]);
    if (values[2]) {
      __pyx_v_noSelfLoops = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_noSelfLoops == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9704, __pyx_L3_error)
    } else {
      __pyx_v_noSelfLoops = ((bool)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9704, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MatchingCoarsening.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 9704, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_M), __pyx_ptype_9networkit_10_NetworKit_Matching, 0, "M", 0))) __PYX_ERR(0, 9704, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18MatchingCoarsening___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_MatchingCoarsening *)__pyx_v_self), __pyx_v_G, __pyx_v_M, __pyx_v_noSelfLoops);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_18MatchingCoarsening___cinit__(struct __pyx_obj_9networkit_10_NetworKit_MatchingCoarsening *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_M, bool __pyx_v_noSelfLoops) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::MatchingCoarsening *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":9705
 * 
 * 	def __cinit__(self, Graph G not None, Matching M not None, bool_t noSelfLoops=False):
 * 		self._this = new _MatchingCoarsening(G._this, M._this, noSelfLoops)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  try {
    __pyx_t_1 = new NetworKit::MatchingCoarsening(__pyx_v_G->_this, __pyx_v_M->_this, __pyx_v_noSelfLoops);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9705, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":9704
 * 	"""
 * 
 * 	def __cinit__(self, Graph G not None, Matching M not None, bool_t noSelfLoops=False):             # <<<<<<<<<<<<<<
 * 		self._this = new _MatchingCoarsening(G._this, M._this, noSelfLoops)
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MatchingCoarsening.__cinit__", __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_9networkit_10_NetworKit_18MatchingCoarsening_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_18MatchingCoarsening_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18MatchingCoarsening_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_MatchingCoarsening *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_18MatchingCoarsening_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MatchingCoarsening *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__358, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.MatchingCoarsening.__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_9networkit_10_NetworKit_18MatchingCoarsening_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_18MatchingCoarsening_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18MatchingCoarsening_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_MatchingCoarsening *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_18MatchingCoarsening_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MatchingCoarsening *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__359, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.MatchingCoarsening.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9730
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G, double alpha, double epsilon):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _PageRankNibble(G._this, alpha, epsilon)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_14PageRankNibble_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_14PageRankNibble_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  double __pyx_v_alpha;
  double __pyx_v_epsilon;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_alpha,&__pyx_n_s_epsilon,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_alpha)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 1); __PYX_ERR(0, 9730, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_epsilon)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 2); __PYX_ERR(0, 9730, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 9730, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_alpha = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_alpha == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 9730, __pyx_L3_error)
    __pyx_v_epsilon = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_epsilon == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 9730, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9730, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PageRankNibble.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 9730, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14PageRankNibble___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_PageRankNibble *)__pyx_v_self), __pyx_v_G, __pyx_v_alpha, __pyx_v_epsilon);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_14PageRankNibble___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PageRankNibble *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, double __pyx_v_alpha, double __pyx_v_epsilon) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::PageRankNibble *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":9731
 * 
 * 	def __cinit__(self, Graph G, double alpha, double epsilon):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _PageRankNibble(G._this, alpha, epsilon)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":9732
 * 	def __cinit__(self, Graph G, double alpha, double epsilon):
 * 		self._G = G
 * 		self._this = new _PageRankNibble(G._this, alpha, epsilon)             # <<<<<<<<<<<<<<
 * 
 * 	def run(self, set[node] seeds):
 */
  try {
    __pyx_t_1 = new NetworKit::PageRankNibble(__pyx_v_G->_this, __pyx_v_alpha, __pyx_v_epsilon);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9732, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":9730
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G, double alpha, double epsilon):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _PageRankNibble(G._this, alpha, epsilon)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PageRankNibble.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9734
 * 		self._this = new _PageRankNibble(G._this, alpha, epsilon)
 * 
 * 	def run(self, set[node] seeds):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Produces a cut around a given seed node.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_14PageRankNibble_3run(PyObject *__pyx_v_self, PyObject *__pyx_arg_seeds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_14PageRankNibble_2run[] = "\n\t\tProduces a cut around a given seed node.\n\n\t\tParameters:\n\t\t-----------\n\t\tseeds : the seed node ids.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_14PageRankNibble_3run(PyObject *__pyx_v_self, PyObject *__pyx_arg_seeds) {
  std::set<__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_seeds;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  assert(__pyx_arg_seeds); {
    __pyx_v_seeds = __pyx_convert_set_from_py___pyx_t_9networkit_10_NetworKit_node(__pyx_arg_seeds); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 9734, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PageRankNibble.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14PageRankNibble_2run(((struct __pyx_obj_9networkit_10_NetworKit_PageRankNibble *)__pyx_v_self), ((std::set<__pyx_t_9networkit_10_NetworKit_node> )__pyx_v_seeds));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_14PageRankNibble_2run(struct __pyx_obj_9networkit_10_NetworKit_PageRankNibble *__pyx_v_self, std::set<__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_seeds) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::map<__pyx_t_9networkit_10_NetworKit_node,std::set<__pyx_t_9networkit_10_NetworKit_node> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":9742
 * 		seeds : the seed node ids.
 * 		"""
 * 		return self._this.run(seeds)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/scd/GCE.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this->run(__pyx_v_seeds);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9742, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_node____std_3a__3a_set_3c___pyx_t_9networkit_10_NetworKit_node_3e___(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9734
 * 		self._this = new _PageRankNibble(G._this, alpha, epsilon)
 * 
 * 	def run(self, set[node] seeds):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Produces a cut around a given seed node.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.PageRankNibble.run", __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_9networkit_10_NetworKit_14PageRankNibble_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14PageRankNibble_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14PageRankNibble_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PageRankNibble *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_14PageRankNibble_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PageRankNibble *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__360, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PageRankNibble.__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_9networkit_10_NetworKit_14PageRankNibble_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14PageRankNibble_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14PageRankNibble_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PageRankNibble *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_14PageRankNibble_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PageRankNibble *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__361, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PageRankNibble.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9761
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G, quality):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _GCE(G._this, stdstring(quality))
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_3GCE_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_3GCE_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_quality = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_quality,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_quality)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); __PYX_ERR(0, 9761, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 9761, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_quality = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9761, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GCE.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 9761, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_3GCE___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_GCE *)__pyx_v_self), __pyx_v_G, __pyx_v_quality);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_3GCE___cinit__(struct __pyx_obj_9networkit_10_NetworKit_GCE *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_quality) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::string __pyx_t_4;
  NetworKit::GCE *__pyx_t_5;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":9762
 * 
 * 	def __cinit__(self, Graph G, quality):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _GCE(G._this, stdstring(quality))
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":9763
 * 	def __cinit__(self, Graph G, quality):
 * 		self._G = G
 * 		self._this = new _GCE(G._this, stdstring(quality))             # <<<<<<<<<<<<<<
 * 
 * 	def run(self, set[node] seeds):
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9763, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_quality) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_quality);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9763, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 9763, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  try {
    __pyx_t_5 = new NetworKit::GCE(__pyx_v_G->_this, __pyx_t_4);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9763, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_5;

  /* "networkit/_NetworKit.pyx":9761
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G, quality):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _GCE(G._this, stdstring(quality))
 */

  /* 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("networkit._NetworKit.GCE.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9765
 * 		self._this = new _GCE(G._this, stdstring(quality))
 * 
 * 	def run(self, set[node] seeds):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Produces a cut around a given seed node.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_3GCE_3run(PyObject *__pyx_v_self, PyObject *__pyx_arg_seeds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_3GCE_2run[] = "\n\t\tProduces a cut around a given seed node.\n\n\t\tParameters:\n\t\t-----------\n\t\tseeds : the seed node ids.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_3GCE_3run(PyObject *__pyx_v_self, PyObject *__pyx_arg_seeds) {
  std::set<__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_seeds;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  assert(__pyx_arg_seeds); {
    __pyx_v_seeds = __pyx_convert_set_from_py___pyx_t_9networkit_10_NetworKit_node(__pyx_arg_seeds); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 9765, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GCE.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_3GCE_2run(((struct __pyx_obj_9networkit_10_NetworKit_GCE *)__pyx_v_self), ((std::set<__pyx_t_9networkit_10_NetworKit_node> )__pyx_v_seeds));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_3GCE_2run(struct __pyx_obj_9networkit_10_NetworKit_GCE *__pyx_v_self, std::set<__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_seeds) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::map<__pyx_t_9networkit_10_NetworKit_node,std::set<__pyx_t_9networkit_10_NetworKit_node> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":9773
 * 		seeds : the seed node ids.
 * 		"""
 * 		return self._this.run(seeds)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this->run(__pyx_v_seeds);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9773, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_node____std_3a__3a_set_3c___pyx_t_9networkit_10_NetworKit_node_3e___(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9773, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9765
 * 		self._this = new _GCE(G._this, stdstring(quality))
 * 
 * 	def run(self, set[node] seeds):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Produces a cut around a given seed node.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GCE.run", __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_9networkit_10_NetworKit_3GCE_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_3GCE_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_3GCE_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GCE *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_3GCE_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GCE *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__362, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GCE.__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_9networkit_10_NetworKit_3GCE_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_3GCE_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_3GCE_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GCE *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_3GCE_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GCE *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__363, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GCE.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9780
 * cdef cppclass NodeVectorCallbackWrapper:
 * 	void* callback
 * 	__init__(object callback):             # <<<<<<<<<<<<<<
 * 		this.callback = <void*>callback
 * 	# This is called within the run() method which is nogil!
 */

void __pyx_t_9networkit_10_NetworKit_NodeVectorCallbackWrapper::__pyx_f___init__NodeVectorCallbackWrapper(PyObject *__pyx_v_callback) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("<init>", 0);

  /* "networkit/_NetworKit.pyx":9781
 * 	void* callback
 * 	__init__(object callback):
 * 		this.callback = <void*>callback             # <<<<<<<<<<<<<<
 * 	# This is called within the run() method which is nogil!
 * 	void cython_call_operator(const vector[node]& nodes) nogil:
 */
  this->callback = ((void *)__pyx_v_callback);

  /* "networkit/_NetworKit.pyx":9780
 * cdef cppclass NodeVectorCallbackWrapper:
 * 	void* callback
 * 	__init__(object callback):             # <<<<<<<<<<<<<<
 * 		this.callback = <void*>callback
 * 	# This is called within the run() method which is nogil!
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":9783
 * 		this.callback = <void*>callback
 * 	# This is called within the run() method which is nogil!
 * 	void cython_call_operator(const vector[node]& nodes) nogil:             # <<<<<<<<<<<<<<
 * 		cdef bool_t error = False
 * 		cdef string message
 */

void __pyx_t_9networkit_10_NetworKit_NodeVectorCallbackWrapper::cython_call_operator(std::vector<__pyx_t_9networkit_10_NetworKit_node>  const &__pyx_v_nodes) {
  bool __pyx_v_error;
  std::string __pyx_v_message;
  PyObject *__pyx_v_e = 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;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  std::string __pyx_t_13;
  int __pyx_t_14;
  char const *__pyx_t_15;
  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_t_22;
  #ifdef WITH_THREAD
  PyGILState_STATE __pyx_gilstate_save;
  #endif
  __Pyx_RefNannySetupContext("cython_call_operator", 1);

  /* "networkit/_NetworKit.pyx":9784
 * 	# This is called within the run() method which is nogil!
 * 	void cython_call_operator(const vector[node]& nodes) nogil:
 * 		cdef bool_t error = False             # <<<<<<<<<<<<<<
 * 		cdef string message
 * 		# Acquire gil to allow Python code!
 */
  /*try:*/ {
    __pyx_v_error = 0;

    /* "networkit/_NetworKit.pyx":9787
 * 		cdef string message
 * 		# Acquire gil to allow Python code!
 * 		with gil:             # <<<<<<<<<<<<<<
 * 			try:
 * 				(<object>callback)(nodes)
 */
    {
        #ifdef WITH_THREAD
        PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
        #endif
        /*try:*/ {

          /* "networkit/_NetworKit.pyx":9788
 * 		# Acquire gil to allow Python code!
 * 		with gil:
 * 			try:             # <<<<<<<<<<<<<<
 * 				(<object>callback)(nodes)
 * 			except Exception as e:
 */
          {
            __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:*/ {

              /* "networkit/_NetworKit.pyx":9789
 * 		with gil:
 * 			try:
 * 				(<object>callback)(nodes)             # <<<<<<<<<<<<<<
 * 			except Exception as e:
 * 				error = True
 */
              __pyx_t_5 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_v_nodes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9789, __pyx_L9_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_INCREF(((PyObject *)callback));
              __pyx_t_6 = ((PyObject *)callback); __pyx_t_7 = NULL;
              if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
                __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
                if (likely(__pyx_t_7)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
                  __Pyx_INCREF(__pyx_t_7);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_6, function);
                }
              }
              __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5);
              __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9789, __pyx_L9_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

              /* "networkit/_NetworKit.pyx":9788
 * 		# Acquire gil to allow Python code!
 * 		with gil:
 * 			try:             # <<<<<<<<<<<<<<
 * 				(<object>callback)(nodes)
 * 			except Exception as e:
 */
            }
            __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_L14_try_end;
            __pyx_L9_error:;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
            __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

            /* "networkit/_NetworKit.pyx":9790
 * 			try:
 * 				(<object>callback)(nodes)
 * 			except Exception as e:             # <<<<<<<<<<<<<<
 * 				error = True
 * 				message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 */
            __pyx_t_8 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
            if (__pyx_t_8) {
              __Pyx_AddTraceback("NodeVectorCallbackWrapper.cython_call_operator", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(0, 9790, __pyx_L11_except_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_GOTREF(__pyx_t_6);
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_6);
              __pyx_v_e = __pyx_t_6;
              /*try:*/ {

                /* "networkit/_NetworKit.pyx":9791
 * 				(<object>callback)(nodes)
 * 			except Exception as e:
 * 				error = True             # <<<<<<<<<<<<<<
 * 				message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 * 			if (error):
 */
                __pyx_v_error = 1;

                /* "networkit/_NetworKit.pyx":9792
 * 			except Exception as e:
 * 				error = True
 * 				message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))             # <<<<<<<<<<<<<<
 * 			if (error):
 * 				throw_runtime_error(message)
 */
                __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 9792, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_9);
                __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_An_Exception_occurred_aborting_e, __pyx_n_s_format); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 9792, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_11);
                __pyx_t_12 = NULL;
                if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) {
                  __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_11);
                  if (likely(__pyx_t_12)) {
                    PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
                    __Pyx_INCREF(__pyx_t_12);
                    __Pyx_INCREF(function);
                    __Pyx_DECREF_SET(__pyx_t_11, function);
                  }
                }
                __pyx_t_10 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_12, __pyx_v_e) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_v_e);
                __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
                if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 9792, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_10);
                __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
                __pyx_t_11 = NULL;
                if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
                  __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_9);
                  if (likely(__pyx_t_11)) {
                    PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
                    __Pyx_INCREF(__pyx_t_11);
                    __Pyx_INCREF(function);
                    __Pyx_DECREF_SET(__pyx_t_9, function);
                  }
                }
                __pyx_t_7 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_11, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10);
                __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
                __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
                if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9792, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_7);
                __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
                __pyx_t_13 = __pyx_convert_string_from_py_std__in_string(__pyx_t_7); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 9792, __pyx_L20_error)
                __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
                __pyx_v_message = __pyx_t_13;
              }

              /* "networkit/_NetworKit.pyx":9790
 * 			try:
 * 				(<object>callback)(nodes)
 * 			except Exception as e:             # <<<<<<<<<<<<<<
 * 				error = True
 * 				message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 */
              /*finally:*/ {
                /*normal exit:*/{
                  __Pyx_DECREF(__pyx_v_e);
                  __pyx_v_e = NULL;
                  goto __pyx_L21;
                }
                __pyx_L20_error:;
                /*exception exit:*/{
                  __Pyx_PyThreadState_declare
                  __Pyx_PyThreadState_assign
                  __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0;
                  __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_7); __pyx_t_7 = 0;
                  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
                  if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21);
                  if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18) < 0)) __Pyx_ErrFetch(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18);
                  __Pyx_XGOTREF(__pyx_t_16);
                  __Pyx_XGOTREF(__pyx_t_17);
                  __Pyx_XGOTREF(__pyx_t_18);
                  __Pyx_XGOTREF(__pyx_t_19);
                  __Pyx_XGOTREF(__pyx_t_20);
                  __Pyx_XGOTREF(__pyx_t_21);
                  __pyx_t_8 = __pyx_lineno; __pyx_t_14 = __pyx_clineno; __pyx_t_15 = __pyx_filename;
                  {
                    __Pyx_DECREF(__pyx_v_e);
                    __pyx_v_e = NULL;
                  }
                  if (PY_MAJOR_VERSION >= 3) {
                    __Pyx_XGIVEREF(__pyx_t_19);
                    __Pyx_XGIVEREF(__pyx_t_20);
                    __Pyx_XGIVEREF(__pyx_t_21);
                    __Pyx_ExceptionReset(__pyx_t_19, __pyx_t_20, __pyx_t_21);
                  }
                  __Pyx_XGIVEREF(__pyx_t_16);
                  __Pyx_XGIVEREF(__pyx_t_17);
                  __Pyx_XGIVEREF(__pyx_t_18);
                  __Pyx_ErrRestore(__pyx_t_16, __pyx_t_17, __pyx_t_18);
                  __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0;
                  __pyx_lineno = __pyx_t_8; __pyx_clineno = __pyx_t_14; __pyx_filename = __pyx_t_15;
                  goto __pyx_L11_except_error;
                }
                __pyx_L21:;
              }
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              goto __pyx_L10_exception_handled;
            }
            goto __pyx_L11_except_error;
            __pyx_L11_except_error:;

            /* "networkit/_NetworKit.pyx":9788
 * 		# Acquire gil to allow Python code!
 * 		with gil:
 * 			try:             # <<<<<<<<<<<<<<
 * 				(<object>callback)(nodes)
 * 			except Exception as e:
 */
            __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_L7_error;
            __pyx_L10_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_L14_try_end:;
          }

          /* "networkit/_NetworKit.pyx":9793
 * 				error = True
 * 				message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 * 			if (error):             # <<<<<<<<<<<<<<
 * 				throw_runtime_error(message)
 * 
 */
          __pyx_t_22 = (__pyx_v_error != 0);
          if (__pyx_t_22) {

            /* "networkit/_NetworKit.pyx":9794
 * 				message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 * 			if (error):
 * 				throw_runtime_error(message)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/clique/MaximalCliques.hpp>":
 */
            throw_runtime_error(__pyx_v_message);

            /* "networkit/_NetworKit.pyx":9793
 * 				error = True
 * 				message = stdstring("An Exception occurred, aborting execution of iterator: {0}".format(e))
 * 			if (error):             # <<<<<<<<<<<<<<
 * 				throw_runtime_error(message)
 * 
 */
          }
        }

        /* "networkit/_NetworKit.pyx":9787
 * 		cdef string message
 * 		# Acquire gil to allow Python code!
 * 		with gil:             # <<<<<<<<<<<<<<
 * 			try:
 * 				(<object>callback)(nodes)
 */
        /*finally:*/ {
          /*normal exit:*/{
            #ifdef WITH_THREAD
            __Pyx_PyGILState_Release(__pyx_gilstate_save);
            #endif
            goto __pyx_L8;
          }
          __pyx_L7_error: {
            #ifdef WITH_THREAD
            __Pyx_PyGILState_Release(__pyx_gilstate_save);
            #endif
            goto __pyx_L4_error;
          }
          __pyx_L8:;
        }
    }
  }

  /* "networkit/_NetworKit.pyx":9784
 * 	# This is called within the run() method which is nogil!
 * 	void cython_call_operator(const vector[node]& nodes) nogil:
 * 		cdef bool_t error = False             # <<<<<<<<<<<<<<
 * 		cdef string message
 * 		# Acquire gil to allow Python code!
 */
  /*finally:*/ {
    /*normal exit:*/{
      #ifdef WITH_THREAD
      __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      goto __pyx_L5;
    }
    __pyx_L4_error: {
      #ifdef WITH_THREAD
      __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
      #endif
      goto __pyx_L1_error;
    }
    __pyx_L5:;
  }

  /* "networkit/_NetworKit.pyx":9783
 * 		this.callback = <void*>callback
 * 	# This is called within the run() method which is nogil!
 * 	void cython_call_operator(const vector[node]& nodes) nogil:             # <<<<<<<<<<<<<<
 * 		cdef bool_t error = False
 * 		cdef string message
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __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_WriteUnraisable("NodeVectorCallbackWrapper.cython_call_operator", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 1);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_e);
  #ifdef WITH_THREAD
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  #endif
}

/* "networkit/_NetworKit.pyx":9838
 * 	cdef object _py_callback
 * 
 * 	def __cinit__(self, Graph G not None, bool_t maximumOnly = False, object callback = None):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_14MaximalCliques_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_14MaximalCliques_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  bool __pyx_v_maximumOnly;
  PyObject *__pyx_v_callback = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_maximumOnly,&__pyx_n_s_callback,0};
    PyObject* values[3] = {0,0,0};
    values[2] = ((PyObject *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_maximumOnly);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_callback);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 9838, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    if (values[1]) {
      __pyx_v_maximumOnly = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_maximumOnly == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9838, __pyx_L3_error)
    } else {
      __pyx_v_maximumOnly = ((bool)0);
    }
    __pyx_v_callback = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9838, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MaximalCliques.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 9838, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14MaximalCliques___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_MaximalCliques *)__pyx_v_self), __pyx_v_G, __pyx_v_maximumOnly, __pyx_v_callback);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_14MaximalCliques___cinit__(struct __pyx_obj_9networkit_10_NetworKit_MaximalCliques *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, bool __pyx_v_maximumOnly, PyObject *__pyx_v_callback) {
  PyObject *__pyx_v_e = NULL;
  int __pyx_r;
  __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;
  NetworKit::MaximalCliques *__pyx_t_6;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_t_11;
  char const *__pyx_t_12;
  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;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":9839
 * 
 * 	def __cinit__(self, Graph G not None, bool_t maximumOnly = False, object callback = None):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 
 * 		if callable(callback):
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":9841
 * 		self._G = G
 * 
 * 		if callable(callback):             # <<<<<<<<<<<<<<
 * 			# Make sure the callback is not de-allocated!
 * 			self._py_callback = callback
 */
  __pyx_t_1 = __Pyx_PyCallable_Check(__pyx_v_callback); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 9841, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":9843
 * 		if callable(callback):
 * 			# Make sure the callback is not de-allocated!
 * 			self._py_callback = callback             # <<<<<<<<<<<<<<
 * 			self._callback = new NodeVectorCallbackWrapper(callback)
 * 			try:
 */
    __Pyx_INCREF(__pyx_v_callback);
    __Pyx_GIVEREF(__pyx_v_callback);
    __Pyx_GOTREF(__pyx_v_self->_py_callback);
    __Pyx_DECREF(__pyx_v_self->_py_callback);
    __pyx_v_self->_py_callback = __pyx_v_callback;

    /* "networkit/_NetworKit.pyx":9844
 * 			# Make sure the callback is not de-allocated!
 * 			self._py_callback = callback
 * 			self._callback = new NodeVectorCallbackWrapper(callback)             # <<<<<<<<<<<<<<
 * 			try:
 * 				self._this = new _MaximalCliques(self._G._this, dereference(self._callback))
 */
    __pyx_v_self->_callback = new __pyx_t_9networkit_10_NetworKit_NodeVectorCallbackWrapper(__pyx_v_callback);

    /* "networkit/_NetworKit.pyx":9845
 * 			self._py_callback = callback
 * 			self._callback = new NodeVectorCallbackWrapper(callback)
 * 			try:             # <<<<<<<<<<<<<<
 * 				self._this = new _MaximalCliques(self._G._this, dereference(self._callback))
 * 			except BaseException as e:
 */
    {
      __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:*/ {

        /* "networkit/_NetworKit.pyx":9846
 * 			self._callback = new NodeVectorCallbackWrapper(callback)
 * 			try:
 * 				self._this = new _MaximalCliques(self._G._this, dereference(self._callback))             # <<<<<<<<<<<<<<
 * 			except BaseException as e:
 * 				del self._callback
 */
        try {
          __pyx_t_6 = new NetworKit::MaximalCliques(__pyx_v_self->_G->_this, (*__pyx_v_self->_callback));
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 9846, __pyx_L4_error)
        }
        __pyx_v_self->__pyx_base._this = __pyx_t_6;

        /* "networkit/_NetworKit.pyx":9845
 * 			self._py_callback = callback
 * 			self._callback = new NodeVectorCallbackWrapper(callback)
 * 			try:             # <<<<<<<<<<<<<<
 * 				self._this = new _MaximalCliques(self._G._this, dereference(self._callback))
 * 			except BaseException as e:
 */
      }
      __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:;

      /* "networkit/_NetworKit.pyx":9847
 * 			try:
 * 				self._this = new _MaximalCliques(self._G._this, dereference(self._callback))
 * 			except BaseException as e:             # <<<<<<<<<<<<<<
 * 				del self._callback
 * 				self._callback = NULL
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_BaseException);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("networkit._NetworKit.MaximalCliques.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10) < 0) __PYX_ERR(0, 9847, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_t_9);
        __pyx_v_e = __pyx_t_9;
        /*try:*/ {

          /* "networkit/_NetworKit.pyx":9848
 * 				self._this = new _MaximalCliques(self._G._this, dereference(self._callback))
 * 			except BaseException as e:
 * 				del self._callback             # <<<<<<<<<<<<<<
 * 				self._callback = NULL
 * 				raise e
 */
          delete __pyx_v_self->_callback;

          /* "networkit/_NetworKit.pyx":9849
 * 			except BaseException as e:
 * 				del self._callback
 * 				self._callback = NULL             # <<<<<<<<<<<<<<
 * 				raise e
 * 		else:
 */
          __pyx_v_self->_callback = NULL;

          /* "networkit/_NetworKit.pyx":9850
 * 				del self._callback
 * 				self._callback = NULL
 * 				raise e             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._callback = NULL
 */
          __Pyx_Raise(__pyx_v_e, 0, 0, 0);
          __PYX_ERR(0, 9850, __pyx_L15_error)
        }

        /* "networkit/_NetworKit.pyx":9847
 * 			try:
 * 				self._this = new _MaximalCliques(self._G._this, dereference(self._callback))
 * 			except BaseException as e:             # <<<<<<<<<<<<<<
 * 				del self._callback
 * 				self._callback = NULL
 */
        /*finally:*/ {
          __pyx_L15_error:;
          /*exception exit:*/{
            __Pyx_PyThreadState_declare
            __Pyx_PyThreadState_assign
            __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0;
            if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18);
            if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15) < 0)) __Pyx_ErrFetch(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15);
            __Pyx_XGOTREF(__pyx_t_13);
            __Pyx_XGOTREF(__pyx_t_14);
            __Pyx_XGOTREF(__pyx_t_15);
            __Pyx_XGOTREF(__pyx_t_16);
            __Pyx_XGOTREF(__pyx_t_17);
            __Pyx_XGOTREF(__pyx_t_18);
            __pyx_t_7 = __pyx_lineno; __pyx_t_11 = __pyx_clineno; __pyx_t_12 = __pyx_filename;
            {
              __Pyx_DECREF(__pyx_v_e);
              __pyx_v_e = NULL;
            }
            if (PY_MAJOR_VERSION >= 3) {
              __Pyx_XGIVEREF(__pyx_t_16);
              __Pyx_XGIVEREF(__pyx_t_17);
              __Pyx_XGIVEREF(__pyx_t_18);
              __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18);
            }
            __Pyx_XGIVEREF(__pyx_t_13);
            __Pyx_XGIVEREF(__pyx_t_14);
            __Pyx_XGIVEREF(__pyx_t_15);
            __Pyx_ErrRestore(__pyx_t_13, __pyx_t_14, __pyx_t_15);
            __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0;
            __pyx_lineno = __pyx_t_7; __pyx_clineno = __pyx_t_11; __pyx_filename = __pyx_t_12;
            goto __pyx_L6_except_error;
          }
        }
      }
      goto __pyx_L6_except_error;
      __pyx_L6_except_error:;

      /* "networkit/_NetworKit.pyx":9845
 * 			self._py_callback = callback
 * 			self._callback = new NodeVectorCallbackWrapper(callback)
 * 			try:             # <<<<<<<<<<<<<<
 * 				self._this = new _MaximalCliques(self._G._this, dereference(self._callback))
 * 			except BaseException as e:
 */
      __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_L9_try_end:;
    }

    /* "networkit/_NetworKit.pyx":9841
 * 		self._G = G
 * 
 * 		if callable(callback):             # <<<<<<<<<<<<<<
 * 			# Make sure the callback is not de-allocated!
 * 			self._py_callback = callback
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":9852
 * 				raise e
 * 		else:
 * 			self._callback = NULL             # <<<<<<<<<<<<<<
 * 			self._this = new _MaximalCliques(self._G._this, maximumOnly)
 * 
 */
  /*else*/ {
    __pyx_v_self->_callback = NULL;

    /* "networkit/_NetworKit.pyx":9853
 * 		else:
 * 			self._callback = NULL
 * 			self._this = new _MaximalCliques(self._G._this, maximumOnly)             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
    try {
      __pyx_t_6 = new NetworKit::MaximalCliques(__pyx_v_self->_G->_this, __pyx_v_maximumOnly);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 9853, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_6;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":9838
 * 	cdef object _py_callback
 * 
 * 	def __cinit__(self, Graph G not None, bool_t maximumOnly = False, object callback = None):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("networkit._NetworKit.MaximalCliques.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9855
 * 			self._this = new _MaximalCliques(self._G._this, maximumOnly)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		if not self._callback == NULL:
 * 			del self._callback
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_14MaximalCliques_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_14MaximalCliques_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_14MaximalCliques_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_MaximalCliques *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9networkit_10_NetworKit_14MaximalCliques_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_MaximalCliques *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":9856
 * 
 * 	def __dealloc__(self):
 * 		if not self._callback == NULL:             # <<<<<<<<<<<<<<
 * 			del self._callback
 * 			self._callback = NULL
 */
  __pyx_t_1 = ((!((__pyx_v_self->_callback == NULL) != 0)) != 0);
  if (__pyx_t_1) {

    /* "networkit/_NetworKit.pyx":9857
 * 	def __dealloc__(self):
 * 		if not self._callback == NULL:
 * 			del self._callback             # <<<<<<<<<<<<<<
 * 			self._callback = NULL
 * 
 */
    delete __pyx_v_self->_callback;

    /* "networkit/_NetworKit.pyx":9858
 * 		if not self._callback == NULL:
 * 			del self._callback
 * 			self._callback = NULL             # <<<<<<<<<<<<<<
 * 
 * 	def getCliques(self):
 */
    __pyx_v_self->_callback = NULL;

    /* "networkit/_NetworKit.pyx":9856
 * 
 * 	def __dealloc__(self):
 * 		if not self._callback == NULL:             # <<<<<<<<<<<<<<
 * 			del self._callback
 * 			self._callback = NULL
 */
  }

  /* "networkit/_NetworKit.pyx":9855
 * 			self._this = new _MaximalCliques(self._G._this, maximumOnly)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		if not self._callback == NULL:
 * 			del self._callback
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":9860
 * 			self._callback = NULL
 * 
 * 	def getCliques(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Return all found cliques unless a callback was given.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_14MaximalCliques_5getCliques(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_14MaximalCliques_4getCliques[] = "\n\t\tReturn all found cliques unless a callback was given.\n\n\t\tThis method will throw if a callback was given and thus the cliques were not stored.\n\t\tIf only the maximum clique was stored, it will return exactly one clique unless the graph\n\t\tis empty.\n\n\t\tReturns\n\t\t-------\n\t\tA list of cliques, each being represented as a list of nodes.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_14MaximalCliques_5getCliques(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getCliques (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14MaximalCliques_4getCliques(((struct __pyx_obj_9networkit_10_NetworKit_MaximalCliques *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_14MaximalCliques_4getCliques(struct __pyx_obj_9networkit_10_NetworKit_MaximalCliques *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<std::vector<__pyx_t_9networkit_10_NetworKit_node> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getCliques", 0);

  /* "networkit/_NetworKit.pyx":9872
 * 		A list of cliques, each being represented as a list of nodes.
 * 		"""
 * 		return (<_MaximalCliques*>(self._this)).getCliques()             # <<<<<<<<<<<<<<
 * 
 * # Module: linkprediction
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::MaximalCliques *)__pyx_v_self->__pyx_base._this)->getCliques();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9872, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_node_3e___(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9860
 * 			self._callback = NULL
 * 
 * 	def getCliques(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Return all found cliques unless a callback was given.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.MaximalCliques.getCliques", __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_9networkit_10_NetworKit_14MaximalCliques_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14MaximalCliques_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14MaximalCliques_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_MaximalCliques *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_14MaximalCliques_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MaximalCliques *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__364, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.MaximalCliques.__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_9networkit_10_NetworKit_14MaximalCliques_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_14MaximalCliques_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_14MaximalCliques_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_MaximalCliques *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_14MaximalCliques_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MaximalCliques *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__365, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.MaximalCliques.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9895
 * 	cdef _LinkPredictor* _this
 * 
 * 	def __cinit__(self, *args):             # <<<<<<<<<<<<<<
 * 		# The construction is handled by the subclasses
 * 		return
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_13LinkPredictor_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_13LinkPredictor_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_13LinkPredictor___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor *)__pyx_v_self), __pyx_v_args);

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_13LinkPredictor___cinit__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":9897
 * 	def __cinit__(self, *args):
 * 		# The construction is handled by the subclasses
 * 		return             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9895
 * 	cdef _LinkPredictor* _this
 * 
 * 	def __cinit__(self, *args):             # <<<<<<<<<<<<<<
 * 		# The construction is handled by the subclasses
 * 		return
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9899
 * 		return
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		if self._this is not NULL:
 * 			del self._this
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_13LinkPredictor_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_13LinkPredictor_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_13LinkPredictor_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9networkit_10_NetworKit_13LinkPredictor_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":9900
 * 
 * 	def __dealloc__(self):
 * 		if self._this is not NULL:             # <<<<<<<<<<<<<<
 * 			del self._this
 * 			self._this = NULL
 */
  __pyx_t_1 = ((__pyx_v_self->_this != NULL) != 0);
  if (__pyx_t_1) {

    /* "networkit/_NetworKit.pyx":9901
 * 	def __dealloc__(self):
 * 		if self._this is not NULL:
 * 			del self._this             # <<<<<<<<<<<<<<
 * 			self._this = NULL
 * 
 */
    delete __pyx_v_self->_this;

    /* "networkit/_NetworKit.pyx":9902
 * 		if self._this is not NULL:
 * 			del self._this
 * 			self._this = NULL             # <<<<<<<<<<<<<<
 * 
 * 	def setGraph(self, Graph newGraph):
 */
    __pyx_v_self->_this = NULL;

    /* "networkit/_NetworKit.pyx":9900
 * 
 * 	def __dealloc__(self):
 * 		if self._this is not NULL:             # <<<<<<<<<<<<<<
 * 			del self._this
 * 			self._this = NULL
 */
  }

  /* "networkit/_NetworKit.pyx":9899
 * 		return
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		if self._this is not NULL:
 * 			del self._this
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":9904
 * 			self._this = NULL
 * 
 * 	def setGraph(self, Graph newGraph):             # <<<<<<<<<<<<<<
 * 		""" Sets the graph to work on.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_13LinkPredictor_5setGraph(PyObject *__pyx_v_self, PyObject *__pyx_v_newGraph); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_13LinkPredictor_4setGraph[] = " Sets the graph to work on.\n\n\t\tParameters\n\t\t----------\n\t\tnewGraph : networkit.Graph\n\t\t\tThe graph to work on.\n   \t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_13LinkPredictor_5setGraph(PyObject *__pyx_v_self, PyObject *__pyx_v_newGraph) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setGraph (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_newGraph), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "newGraph", 0))) __PYX_ERR(0, 9904, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_13LinkPredictor_4setGraph(((struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor *)__pyx_v_self), ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_newGraph));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_13LinkPredictor_4setGraph(struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_newGraph) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setGraph", 0);

  /* "networkit/_NetworKit.pyx":9912
 * 			The graph to work on.
 *    	"""
 * 		self._this.setGraph(newGraph._this)             # <<<<<<<<<<<<<<
 * 
 * 	def run(self, node u, node v):
 */
  try {
    __pyx_v_self->_this->setGraph(__pyx_v_newGraph->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9912, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":9904
 * 			self._this = NULL
 * 
 * 	def setGraph(self, Graph newGraph):             # <<<<<<<<<<<<<<
 * 		""" Sets the graph to work on.
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LinkPredictor.setGraph", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9914
 * 		self._this.setGraph(newGraph._this)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns a score indicating the likelihood of a future link between the given nodes.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_13LinkPredictor_7run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_13LinkPredictor_6run[] = " Returns a score indicating the likelihood of a future link between the given nodes.\n\n\t\tPrior to calling this method a graph should be provided through the constructor or\n\t\tby calling setGraph. Note that only undirected graphs are accepted.\n\t\tThere is also no lower or upper bound for scores and the actual range of values depends\n\t\ton the specific link predictor implementation. In case u == v a 0 is returned.\n\t\tIf suitable this method might make use of parallelization to enhance performance.\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tFirst node in graph.\n\t\tv : node\n\t\t\tSecond node in graph.\n\n\t\tReturns\n\t\t-------\n\t\tA prediction-score indicating the likelihood of a future link between the given nodes.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_13LinkPredictor_7run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, 1); __PYX_ERR(0, 9914, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "run") < 0)) __PYX_ERR(0, 9914, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9914, __pyx_L3_error)
    __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9914, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9914, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LinkPredictor.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_13LinkPredictor_6run(((struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_13LinkPredictor_6run(struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":9934
 * 		A prediction-score indicating the likelihood of a future link between the given nodes.
 * 		"""
 * 		return self._this.run(u, v)             # <<<<<<<<<<<<<<
 * 
 * 	def runAll(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this->run(__pyx_v_u, __pyx_v_v);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9934, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9914
 * 		self._this.setGraph(newGraph._this)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns a score indicating the likelihood of a future link between the given nodes.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.LinkPredictor.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9936
 * 		return self._this.run(u, v)
 * 
 * 	def runAll(self):             # <<<<<<<<<<<<<<
 * 		""" Runs the link predictor on all currently unconnected node-pairs.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_13LinkPredictor_9runAll(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_13LinkPredictor_8runAll[] = " Runs the link predictor on all currently unconnected node-pairs.\n\n\t\tPossible self-loops are also excluded. The method makes use of parallelisation.\n\n\t\tReturns\n\t\t-------\n\t\tA vector of pairs containing all currently unconnected node-pairs as the first elements\n\t\tand the corresponding scores as the second elements. The vector is sorted ascendingly by node-pair.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_13LinkPredictor_9runAll(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("runAll (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_13LinkPredictor_8runAll(((struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_13LinkPredictor_8runAll(struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("runAll", 0);

  /* "networkit/_NetworKit.pyx":9946
 * 		and the corresponding scores as the second elements. The vector is sorted ascendingly by node-pair.
 * 		"""
 * 		return move(self._this.runAll())             # <<<<<<<<<<<<<<
 * 
 * 	def runOn(self, vector[pair[node, node]] nodePairs):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this->runAll();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9946, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___(std::move(__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9936
 * 		return self._this.run(u, v)
 * 
 * 	def runAll(self):             # <<<<<<<<<<<<<<
 * 		""" Runs the link predictor on all currently unconnected node-pairs.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.LinkPredictor.runAll", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9948
 * 		return move(self._this.runAll())
 * 
 * 	def runOn(self, vector[pair[node, node]] nodePairs):             # <<<<<<<<<<<<<<
 * 		""" Executes the run-method on al given node-pairs and returns a vector of predictions.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_13LinkPredictor_11runOn(PyObject *__pyx_v_self, PyObject *__pyx_arg_nodePairs); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_13LinkPredictor_10runOn[] = " Executes the run-method on al given node-pairs and returns a vector of predictions.\n\n\t\tThe result is a vector of pairs where the first element is the node-pair and it's second\n\t\telement the corresponding score generated by the run-method. The method makes use of\n\t\tparallelisation.\n\n\t\tParameters\n\t\t----------\n\t\tnodePairs : vector[pair[node, node]]\n\t\t\tNode-pairs to run the predictor on.\n\n\t\tReturns\n\t\t-------\n\t\tA vector of pairs containing the given node-pair as the first element and it's corresponding score\n\t\tas the second element. The vector is sorted ascendingly by node-pair.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_13LinkPredictor_11runOn(PyObject *__pyx_v_self, PyObject *__pyx_arg_nodePairs) {
  std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> >  __pyx_v_nodePairs;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("runOn (wrapper)", 0);
  assert(__pyx_arg_nodePairs); {
    __pyx_v_nodePairs = __pyx_convert_vector_from_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___(__pyx_arg_nodePairs); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 9948, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LinkPredictor.runOn", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_13LinkPredictor_10runOn(((struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor *)__pyx_v_self), ((std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> > )__pyx_v_nodePairs));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_13LinkPredictor_10runOn(struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor *__pyx_v_self, std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> >  __pyx_v_nodePairs) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("runOn", 0);

  /* "networkit/_NetworKit.pyx":9965
 * 		as the second element. The vector is sorted ascendingly by node-pair.
 * 		"""
 * 		return move(self._this.runOn(nodePairs))             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/linkprediction/KatzIndex.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this->runOn(__pyx_v_nodePairs);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 9965, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___(std::move(__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9948
 * 		return move(self._this.runAll())
 * 
 * 	def runOn(self, vector[pair[node, node]] nodePairs):             # <<<<<<<<<<<<<<
 * 		""" Executes the run-method on al given node-pairs and returns a vector of predictions.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.LinkPredictor.runOn", __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_9networkit_10_NetworKit_13LinkPredictor_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_13LinkPredictor_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_13LinkPredictor_12__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_13LinkPredictor_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__366, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LinkPredictor.__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_9networkit_10_NetworKit_13LinkPredictor_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_13LinkPredictor_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_13LinkPredictor_14__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_13LinkPredictor_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__367, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LinkPredictor.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9990
 * 	"""
 * 
 * 	def __cinit__(self, Graph G = None, count maxPathLength = 5, double dampingValue = 0.005):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _KatzIndex(maxPathLength, dampingValue)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_9KatzIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_9KatzIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_maxPathLength;
  double __pyx_v_dampingValue;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_maxPathLength,&__pyx_n_s_dampingValue,0};
    PyObject* values[3] = {0,0,0};
    values[0] = (PyObject *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_maxPathLength);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dampingValue);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 9990, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    if (values[1]) {
      __pyx_v_maxPathLength = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_maxPathLength == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9990, __pyx_L3_error)
    } else {
      __pyx_v_maxPathLength = ((__pyx_t_9networkit_10_NetworKit_count)5);
    }
    if (values[2]) {
      __pyx_v_dampingValue = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_dampingValue == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 9990, __pyx_L3_error)
    } else {
      __pyx_v_dampingValue = ((double)0.005);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9990, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.KatzIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 9990, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9KatzIndex___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_KatzIndex *)__pyx_v_self), __pyx_v_G, __pyx_v_maxPathLength, __pyx_v_dampingValue);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_9KatzIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_KatzIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_maxPathLength, double __pyx_v_dampingValue) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  NetworKit::KatzIndex *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":9991
 * 
 * 	def __cinit__(self, Graph G = None, count maxPathLength = 5, double dampingValue = 0.005):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _KatzIndex(maxPathLength, dampingValue)
 * 		else:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_G) == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":9992
 * 	def __cinit__(self, Graph G = None, count maxPathLength = 5, double dampingValue = 0.005):
 * 		if G is None:
 * 			self._this = new _KatzIndex(maxPathLength, dampingValue)             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._this = new _KatzIndex(G._this, maxPathLength, dampingValue)
 */
    try {
      __pyx_t_3 = new NetworKit::KatzIndex(__pyx_v_maxPathLength, __pyx_v_dampingValue);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 9992, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;

    /* "networkit/_NetworKit.pyx":9991
 * 
 * 	def __cinit__(self, Graph G = None, count maxPathLength = 5, double dampingValue = 0.005):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _KatzIndex(maxPathLength, dampingValue)
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":9994
 * 			self._this = new _KatzIndex(maxPathLength, dampingValue)
 * 		else:
 * 			self._this = new _KatzIndex(G._this, maxPathLength, dampingValue)             # <<<<<<<<<<<<<<
 * 
 * 	def run(self, node u, node v):
 */
  /*else*/ {
    try {
      __pyx_t_3 = new NetworKit::KatzIndex(__pyx_v_G->_this, __pyx_v_maxPathLength, __pyx_v_dampingValue);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 9994, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":9990
 * 	"""
 * 
 * 	def __cinit__(self, Graph G = None, count maxPathLength = 5, double dampingValue = 0.005):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _KatzIndex(maxPathLength, dampingValue)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.KatzIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":9996
 * 			self._this = new _KatzIndex(G._this, maxPathLength, dampingValue)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the similarity score for the given node-pair based on the Katz index specified during construction.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9KatzIndex_3run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9KatzIndex_2run[] = " Returns the similarity score for the given node-pair based on the Katz index specified during construction.\n\n\t\tThe algorithm considers all paths starting at the node with the smaller degree except the algorithm\n\t\tstarted at the other node at the last call.\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tFirst node in graph.\n\t\tv : node\n\t\t\tSecond node in graph.\n\n\t\tReturns\n\t\t-------\n\t\tThe similarity score of the given node-pair calculated by the specified Katz index.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9KatzIndex_3run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, 1); __PYX_ERR(0, 9996, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "run") < 0)) __PYX_ERR(0, 9996, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9996, __pyx_L3_error)
    __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 9996, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9996, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.KatzIndex.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9KatzIndex_2run(((struct __pyx_obj_9networkit_10_NetworKit_KatzIndex *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_9KatzIndex_2run(struct __pyx_obj_9networkit_10_NetworKit_KatzIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":10013
 * 		The similarity score of the given node-pair calculated by the specified Katz index.
 * 		"""
 * 		return self._this.run(u, v)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/linkprediction/CommonNeighborsIndex.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->__pyx_base._this->run(__pyx_v_u, __pyx_v_v);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10013, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":9996
 * 			self._this = new _KatzIndex(G._this, maxPathLength, dampingValue)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the similarity score for the given node-pair based on the Katz index specified during construction.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.KatzIndex.run", __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_9networkit_10_NetworKit_9KatzIndex_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_9KatzIndex_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9KatzIndex_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_KatzIndex *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_9KatzIndex_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_KatzIndex *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__368, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.KatzIndex.__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_9networkit_10_NetworKit_9KatzIndex_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_9KatzIndex_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9KatzIndex_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_KatzIndex *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_9KatzIndex_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_KatzIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__369, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.KatzIndex.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10030
 * 	"""
 * 
 * 	def __cinit__(self, Graph G = None):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _CommonNeighborsIndex()
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_20CommonNeighborsIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_20CommonNeighborsIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    values[0] = (PyObject *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 10030, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10030, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.CommonNeighborsIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 10030, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20CommonNeighborsIndex___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_CommonNeighborsIndex *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_20CommonNeighborsIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_CommonNeighborsIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  NetworKit::CommonNeighborsIndex *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":10031
 * 
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _CommonNeighborsIndex()
 * 		else:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_G) == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":10032
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:
 * 			self._this = new _CommonNeighborsIndex()             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._this = new _CommonNeighborsIndex(G._this)
 */
    try {
      __pyx_t_3 = new NetworKit::CommonNeighborsIndex();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10032, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;

    /* "networkit/_NetworKit.pyx":10031
 * 
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _CommonNeighborsIndex()
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":10034
 * 			self._this = new _CommonNeighborsIndex()
 * 		else:
 * 			self._this = new _CommonNeighborsIndex(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def run(self, node u, node v):
 */
  /*else*/ {
    try {
      __pyx_t_3 = new NetworKit::CommonNeighborsIndex(__pyx_v_G->_this);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10034, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":10030
 * 	"""
 * 
 * 	def __cinit__(self, Graph G = None):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _CommonNeighborsIndex()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.CommonNeighborsIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10036
 * 			self._this = new _CommonNeighborsIndex(G._this)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the number of common neighbors of the given nodes u and v.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20CommonNeighborsIndex_3run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_20CommonNeighborsIndex_2run[] = " Returns the number of common neighbors of the given nodes u and v.\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tFirst node in graph.\n\t\tv : node\n\t\t\tSecond node in graph.\n\n\t\tReturns\n\t\t-------\n\t\tThe number of common neighbors of u and v.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_20CommonNeighborsIndex_3run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, 1); __PYX_ERR(0, 10036, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "run") < 0)) __PYX_ERR(0, 10036, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10036, __pyx_L3_error)
    __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10036, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10036, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.CommonNeighborsIndex.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20CommonNeighborsIndex_2run(((struct __pyx_obj_9networkit_10_NetworKit_CommonNeighborsIndex *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20CommonNeighborsIndex_2run(struct __pyx_obj_9networkit_10_NetworKit_CommonNeighborsIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":10050
 * 		The number of common neighbors of u and v.
 * 		"""
 * 		return self._this.run(u, v)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/linkprediction/PreferentialAttachmentIndex.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->__pyx_base._this->run(__pyx_v_u, __pyx_v_v);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10050, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10050, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":10036
 * 			self._this = new _CommonNeighborsIndex(G._this)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the number of common neighbors of the given nodes u and v.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.CommonNeighborsIndex.run", __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_9networkit_10_NetworKit_20CommonNeighborsIndex_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20CommonNeighborsIndex_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20CommonNeighborsIndex_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_CommonNeighborsIndex *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20CommonNeighborsIndex_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CommonNeighborsIndex *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__370, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.CommonNeighborsIndex.__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_9networkit_10_NetworKit_20CommonNeighborsIndex_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20CommonNeighborsIndex_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20CommonNeighborsIndex_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_CommonNeighborsIndex *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20CommonNeighborsIndex_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CommonNeighborsIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__371, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.CommonNeighborsIndex.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10070
 * 	"""
 * 
 * 	def __cinit__(self, Graph G = None):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _PreferentialAttachmentIndex()
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_27PreferentialAttachmentIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_27PreferentialAttachmentIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    values[0] = (PyObject *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 10070, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10070, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PreferentialAttachmentIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 10070, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27PreferentialAttachmentIndex___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_PreferentialAttachmentIndex *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_27PreferentialAttachmentIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PreferentialAttachmentIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  NetworKit::PreferentialAttachmentIndex *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":10071
 * 
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _PreferentialAttachmentIndex()
 * 		else:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_G) == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":10072
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:
 * 			self._this = new _PreferentialAttachmentIndex()             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._this = new _PreferentialAttachmentIndex(G._this)
 */
    try {
      __pyx_t_3 = new NetworKit::PreferentialAttachmentIndex();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10072, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;

    /* "networkit/_NetworKit.pyx":10071
 * 
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _PreferentialAttachmentIndex()
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":10074
 * 			self._this = new _PreferentialAttachmentIndex()
 * 		else:
 * 			self._this = new _PreferentialAttachmentIndex(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def run(self, node u, node v):
 */
  /*else*/ {
    try {
      __pyx_t_3 = new NetworKit::PreferentialAttachmentIndex(__pyx_v_G->_this);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10074, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":10070
 * 	"""
 * 
 * 	def __cinit__(self, Graph G = None):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _PreferentialAttachmentIndex()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PreferentialAttachmentIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10076
 * 			self._this = new _PreferentialAttachmentIndex(G._this)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the product of the cardinalities of the neighborhoods regarding u and v.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_27PreferentialAttachmentIndex_3run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_27PreferentialAttachmentIndex_2run[] = " Returns the product of the cardinalities of the neighborhoods regarding u and v.\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tFirst node in graph.\n\t\tv : node\n\t\t\tSecond node in graph.\n\n\t\tReturns\n\t\t-------\n\t\tThe product of the cardinalities of the neighborhoods regarding u and v\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_27PreferentialAttachmentIndex_3run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, 1); __PYX_ERR(0, 10076, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "run") < 0)) __PYX_ERR(0, 10076, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10076, __pyx_L3_error)
    __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10076, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10076, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PreferentialAttachmentIndex.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27PreferentialAttachmentIndex_2run(((struct __pyx_obj_9networkit_10_NetworKit_PreferentialAttachmentIndex *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_27PreferentialAttachmentIndex_2run(struct __pyx_obj_9networkit_10_NetworKit_PreferentialAttachmentIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":10090
 * 		The product of the cardinalities of the neighborhoods regarding u and v
 * 		"""
 * 		return self._this.run(u, v)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->__pyx_base._this->run(__pyx_v_u, __pyx_v_v);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10090, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":10076
 * 			self._this = new _PreferentialAttachmentIndex(G._this)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the product of the cardinalities of the neighborhoods regarding u and v.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.PreferentialAttachmentIndex.run", __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_9networkit_10_NetworKit_27PreferentialAttachmentIndex_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_27PreferentialAttachmentIndex_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27PreferentialAttachmentIndex_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PreferentialAttachmentIndex *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_27PreferentialAttachmentIndex_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PreferentialAttachmentIndex *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__372, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PreferentialAttachmentIndex.__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_9networkit_10_NetworKit_27PreferentialAttachmentIndex_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_27PreferentialAttachmentIndex_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_27PreferentialAttachmentIndex_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PreferentialAttachmentIndex *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_27PreferentialAttachmentIndex_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PreferentialAttachmentIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__373, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PreferentialAttachmentIndex.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10101
 * 
 * 	@staticmethod
 * 	def volume(Graph G, r, count samples=500):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Number of nodes within a given radius (or radii); average for many nodes
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_6Volume_1volume(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_6Volume_volume[] = "\n\t\tNumber of nodes within a given radius (or radii); average for many nodes\n\n\t\tPlease find further information about the volume and its meaning in the\n\t\tfollowing publication:\n\n\t\tFranz-Benjamin Mocnik: \"The Polynomial Volume Law of Complex Networks in\n\t\tthe Context of Local and Global Optimization\", Scientific Reports 8(11274)\n\t\t2018. doi: 10.1038/s41598-018-29131-0\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tthe graph\n\t\tr : double\n\t\t\tthe radius (or radii)\n\t\tsamples : count\n\t\t\tthe number of samples\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_6Volume_1volume = {"volume", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_6Volume_1volume, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_6Volume_volume};
static PyObject *__pyx_pw_9networkit_10_NetworKit_6Volume_1volume(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_r = 0;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_samples;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("volume (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_r,&__pyx_n_s_samples,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_r)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("volume", 0, 2, 3, 1); __PYX_ERR(0, 10101, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_samples);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "volume") < 0)) __PYX_ERR(0, 10101, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_r = values[1];
    if (values[2]) {
      __pyx_v_samples = __Pyx_PyInt_As_uint64_t(values[2]); if (unlikely((__pyx_v_samples == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10101, __pyx_L3_error)
    } else {
      __pyx_v_samples = ((__pyx_t_9networkit_10_NetworKit_count)0x1F4);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("volume", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10101, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Volume.volume", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 10101, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_6Volume_volume(__pyx_v_G, __pyx_v_r, __pyx_v_samples);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10125
 * 		cdef double _v
 * 		cdef vector[double] _vs
 * 		def is_number(s):             # <<<<<<<<<<<<<<
 * 			try:
 * 				float(s)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_6Volume_6volume_1is_number(PyObject *__pyx_self, PyObject *__pyx_v_s); /*proto*/
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_6Volume_6volume_1is_number = {"is_number", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_6Volume_6volume_1is_number, METH_O, 0};
static PyObject *__pyx_pw_9networkit_10_NetworKit_6Volume_6volume_1is_number(PyObject *__pyx_self, PyObject *__pyx_v_s) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("is_number (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_6Volume_6volume_is_number(__pyx_self, ((PyObject *)__pyx_v_s));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_6Volume_6volume_is_number(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_s) {
  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;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  __Pyx_RefNannySetupContext("is_number", 0);

  /* "networkit/_NetworKit.pyx":10126
 * 		cdef vector[double] _vs
 * 		def is_number(s):
 * 			try:             # <<<<<<<<<<<<<<
 * 				float(s)
 * 				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:*/ {

      /* "networkit/_NetworKit.pyx":10127
 * 		def is_number(s):
 * 			try:
 * 				float(s)             # <<<<<<<<<<<<<<
 * 				return True
 * 			except ValueError:
 */
      __pyx_t_4 = __Pyx_PyObject_AsDouble(__pyx_v_s); if (unlikely(__pyx_t_4 == ((double)((double)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10127, __pyx_L3_error)

      /* "networkit/_NetworKit.pyx":10128
 * 			try:
 * 				float(s)
 * 				return True             # <<<<<<<<<<<<<<
 * 			except ValueError:
 * 				return False
 */
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_True);
      __pyx_r = Py_True;
      goto __pyx_L7_try_return;

      /* "networkit/_NetworKit.pyx":10126
 * 		cdef vector[double] _vs
 * 		def is_number(s):
 * 			try:             # <<<<<<<<<<<<<<
 * 				float(s)
 * 				return True
 */
    }
    __pyx_L3_error:;

    /* "networkit/_NetworKit.pyx":10129
 * 				float(s)
 * 				return True
 * 			except ValueError:             # <<<<<<<<<<<<<<
 * 				return False
 * 		if type(r) is float or type(r) is int:
 */
    __pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
    if (__pyx_t_5) {
      __Pyx_AddTraceback("networkit._NetworKit.Volume.volume.is_number", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0) __PYX_ERR(0, 10129, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_GOTREF(__pyx_t_8);

      /* "networkit/_NetworKit.pyx":10130
 * 				return True
 * 			except ValueError:
 * 				return False             # <<<<<<<<<<<<<<
 * 		if type(r) is float or type(r) is int:
 * 			_r = r
 */
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __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;
      goto __pyx_L6_except_return;
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "networkit/_NetworKit.pyx":10126
 * 		cdef vector[double] _vs
 * 		def is_number(s):
 * 			try:             # <<<<<<<<<<<<<<
 * 				float(s)
 * 				return True
 */
    __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;
  }

  /* "networkit/_NetworKit.pyx":10125
 * 		cdef double _v
 * 		cdef vector[double] _vs
 * 		def is_number(s):             # <<<<<<<<<<<<<<
 * 			try:
 * 				float(s)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("networkit._NetworKit.Volume.volume.is_number", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_9networkit_10_NetworKit_6Volume_6volume_4generator14(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "networkit/_NetworKit.pyx":10136
 * 				_v = volume(<_Graph> G._this, <double> _r, <count> samples)
 * 			return _v
 * 		elif type(r) is list and all(is_number(item) for item in r):             # <<<<<<<<<<<<<<
 * 			_rs = r
 * 			with nogil:
 */

static PyObject *__pyx_pf_9networkit_10_NetworKit_6Volume_6volume_2genexpr(PyObject *__pyx_self) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr *)__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr(__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 10136, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_17_volume *) __pyx_self;
  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9networkit_10_NetworKit_6Volume_6volume_4generator14, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_volume_locals_genexpr, __pyx_n_s_networkit__NetworKit); if (unlikely(!gen)) __PYX_ERR(0, 10136, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Volume.volume.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_9networkit_10_NetworKit_6Volume_6volume_4generator14(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr *__pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_18_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;
  int __pyx_t_5;
  int __pyx_t_6;
  __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(0, 10136, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_r)) { __Pyx_RaiseClosureNameError("r"); __PYX_ERR(0, 10136, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_r)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_r)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_r; __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_outer_scope->__pyx_v_r); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10136, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10136, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 10136, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10136, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 10136, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10136, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 10136, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_item);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_item, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_is_number)) { __Pyx_RaiseClosureNameError("is_number"); __PYX_ERR(0, 10136, __pyx_L1_error) }
    __pyx_t_4 = __pyx_pf_9networkit_10_NetworKit_6Volume_6volume_is_number(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_is_number, __pyx_cur_scope->__pyx_v_item); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10136, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 10136, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_6 = ((!__pyx_t_5) != 0);
    if (__pyx_t_6) {
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      goto __pyx_L0;
    }
  }
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(Py_True);
    __pyx_r = Py_True;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;
  }
  __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_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __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;
}

/* "networkit/_NetworKit.pyx":10101
 * 
 * 	@staticmethod
 * 	def volume(Graph G, r, count samples=500):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Number of nodes within a given radius (or radii); average for many nodes
 */

static PyObject *__pyx_pf_9networkit_10_NetworKit_6Volume_volume(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_r, __pyx_t_9networkit_10_NetworKit_count __pyx_v_samples) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_17_volume *__pyx_cur_scope;
  double __pyx_v__r;
  std::vector<double>  __pyx_v__rs;
  double __pyx_v__v;
  std::vector<double>  __pyx_v__vs;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  double __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  std::vector<double>  __pyx_t_7;
  __Pyx_RefNannySetupContext("volume", 0);
  __pyx_cur_scope = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_17_volume *)__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_17_volume(__pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_17_volume, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_17_volume *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(0, 10101, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_v_r = __pyx_v_r;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_r);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_r);

  /* "networkit/_NetworKit.pyx":10125
 * 		cdef double _v
 * 		cdef vector[double] _vs
 * 		def is_number(s):             # <<<<<<<<<<<<<<
 * 			try:
 * 				float(s)
 */
  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_6Volume_6volume_1is_number, 0, __pyx_n_s_volume_locals_is_number, NULL, __pyx_n_s_networkit__NetworKit, __pyx_d, ((PyObject *)__pyx_codeobj__375)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_cur_scope->__pyx_v_is_number = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":10131
 * 			except ValueError:
 * 				return False
 * 		if type(r) is float or type(r) is int:             # <<<<<<<<<<<<<<
 * 			_r = r
 * 			with nogil:
 */
  __pyx_t_3 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_r)) == ((PyObject *)(&PyFloat_Type)));
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (!__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_4 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_r)) == ((PyObject *)(&PyInt_Type)));
  __pyx_t_3 = (__pyx_t_4 != 0);
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":10132
 * 				return False
 * 		if type(r) is float or type(r) is int:
 * 			_r = r             # <<<<<<<<<<<<<<
 * 			with nogil:
 * 				_v = volume(<_Graph> G._this, <double> _r, <count> samples)
 */
    __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_cur_scope->__pyx_v_r); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 10132, __pyx_L1_error)
    __pyx_v__r = __pyx_t_5;

    /* "networkit/_NetworKit.pyx":10133
 * 		if type(r) is float or type(r) is int:
 * 			_r = r
 * 			with nogil:             # <<<<<<<<<<<<<<
 * 				_v = volume(<_Graph> G._this, <double> _r, <count> samples)
 * 			return _v
 */
    {
        #ifdef WITH_THREAD
        PyThreadState *_save;
        Py_UNBLOCK_THREADS
        __Pyx_FastGIL_Remember();
        #endif
        /*try:*/ {

          /* "networkit/_NetworKit.pyx":10134
 * 			_r = r
 * 			with nogil:
 * 				_v = volume(<_Graph> G._this, <double> _r, <count> samples)             # <<<<<<<<<<<<<<
 * 			return _v
 * 		elif type(r) is list and all(is_number(item) for item in r):
 */
          try {
            __pyx_t_5 = NetworKit::Volume::volume(((NetworKit::Graph)__pyx_v_G->_this), ((double)__pyx_v__r), ((__pyx_t_9networkit_10_NetworKit_count)__pyx_v_samples));
          } catch(...) {
            #ifdef WITH_THREAD
            PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
            #endif
            __Pyx_CppExn2PyErr();
            #ifdef WITH_THREAD
            __Pyx_PyGILState_Release(__pyx_gilstate_save);
            #endif
            __PYX_ERR(0, 10134, __pyx_L7_error)
          }
          __pyx_v__v = __pyx_t_5;
        }

        /* "networkit/_NetworKit.pyx":10133
 * 		if type(r) is float or type(r) is int:
 * 			_r = r
 * 			with nogil:             # <<<<<<<<<<<<<<
 * 				_v = volume(<_Graph> G._this, <double> _r, <count> samples)
 * 			return _v
 */
        /*finally:*/ {
          /*normal exit:*/{
            #ifdef WITH_THREAD
            __Pyx_FastGIL_Forget();
            Py_BLOCK_THREADS
            #endif
            goto __pyx_L8;
          }
          __pyx_L7_error: {
            #ifdef WITH_THREAD
            __Pyx_FastGIL_Forget();
            Py_BLOCK_THREADS
            #endif
            goto __pyx_L1_error;
          }
          __pyx_L8:;
        }
    }

    /* "networkit/_NetworKit.pyx":10135
 * 			with nogil:
 * 				_v = volume(<_Graph> G._this, <double> _r, <count> samples)
 * 			return _v             # <<<<<<<<<<<<<<
 * 		elif type(r) is list and all(is_number(item) for item in r):
 * 			_rs = r
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = PyFloat_FromDouble(__pyx_v__v); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "networkit/_NetworKit.pyx":10131
 * 			except ValueError:
 * 				return False
 * 		if type(r) is float or type(r) is int:             # <<<<<<<<<<<<<<
 * 			_r = r
 * 			with nogil:
 */
  }

  /* "networkit/_NetworKit.pyx":10136
 * 				_v = volume(<_Graph> G._this, <double> _r, <count> samples)
 * 			return _v
 * 		elif type(r) is list and all(is_number(item) for item in r):             # <<<<<<<<<<<<<<
 * 			_rs = r
 * 			with nogil:
 */
  __pyx_t_3 = (((PyObject *)Py_TYPE(__pyx_cur_scope->__pyx_v_r)) == ((PyObject *)(&PyList_Type)));
  __pyx_t_4 = (__pyx_t_3 != 0);
  if (__pyx_t_4) {
  } else {
    __pyx_t_2 = __pyx_t_4;
    goto __pyx_L9_bool_binop_done;
  }
  __pyx_t_1 = __pyx_pf_9networkit_10_NetworKit_6Volume_6volume_2genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10136, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10136, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 10136, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_2 = __pyx_t_4;
  __pyx_L9_bool_binop_done:;
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":10137
 * 			return _v
 * 		elif type(r) is list and all(is_number(item) for item in r):
 * 			_rs = r             # <<<<<<<<<<<<<<
 * 			with nogil:
 * 				_vs = volume(<_Graph> G._this, <vector[double]> _rs, <count> samples)
 */
    __pyx_t_7 = __pyx_convert_vector_from_py_double(__pyx_cur_scope->__pyx_v_r); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 10137, __pyx_L1_error)
    __pyx_v__rs = __pyx_t_7;

    /* "networkit/_NetworKit.pyx":10138
 * 		elif type(r) is list and all(is_number(item) for item in r):
 * 			_rs = r
 * 			with nogil:             # <<<<<<<<<<<<<<
 * 				_vs = volume(<_Graph> G._this, <vector[double]> _rs, <count> samples)
 * 			return _vs
 */
    {
        #ifdef WITH_THREAD
        PyThreadState *_save;
        Py_UNBLOCK_THREADS
        __Pyx_FastGIL_Remember();
        #endif
        /*try:*/ {

          /* "networkit/_NetworKit.pyx":10139
 * 			_rs = r
 * 			with nogil:
 * 				_vs = volume(<_Graph> G._this, <vector[double]> _rs, <count> samples)             # <<<<<<<<<<<<<<
 * 			return _vs
 * 		else:
 */
          try {
            __pyx_t_7 = NetworKit::Volume::volume(((NetworKit::Graph)__pyx_v_G->_this), ((std::vector<double> )__pyx_v__rs), ((__pyx_t_9networkit_10_NetworKit_count)__pyx_v_samples));
          } catch(...) {
            #ifdef WITH_THREAD
            PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
            #endif
            __Pyx_CppExn2PyErr();
            #ifdef WITH_THREAD
            __Pyx_PyGILState_Release(__pyx_gilstate_save);
            #endif
            __PYX_ERR(0, 10139, __pyx_L12_error)
          }
          __pyx_v__vs = __pyx_t_7;
        }

        /* "networkit/_NetworKit.pyx":10138
 * 		elif type(r) is list and all(is_number(item) for item in r):
 * 			_rs = r
 * 			with nogil:             # <<<<<<<<<<<<<<
 * 				_vs = volume(<_Graph> G._this, <vector[double]> _rs, <count> samples)
 * 			return _vs
 */
        /*finally:*/ {
          /*normal exit:*/{
            #ifdef WITH_THREAD
            __Pyx_FastGIL_Forget();
            Py_BLOCK_THREADS
            #endif
            goto __pyx_L13;
          }
          __pyx_L12_error: {
            #ifdef WITH_THREAD
            __Pyx_FastGIL_Forget();
            Py_BLOCK_THREADS
            #endif
            goto __pyx_L1_error;
          }
          __pyx_L13:;
        }
    }

    /* "networkit/_NetworKit.pyx":10140
 * 			with nogil:
 * 				_vs = volume(<_Graph> G._this, <vector[double]> _rs, <count> samples)
 * 			return _vs             # <<<<<<<<<<<<<<
 * 		else:
 * 			pass
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = __pyx_convert_vector_to_py_double(__pyx_v__vs); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "networkit/_NetworKit.pyx":10136
 * 				_v = volume(<_Graph> G._this, <double> _r, <count> samples)
 * 			return _v
 * 		elif type(r) is list and all(is_number(item) for item in r):             # <<<<<<<<<<<<<<
 * 			_rs = r
 * 			with nogil:
 */
  }

  /* "networkit/_NetworKit.pyx":10142
 * 			return _vs
 * 		else:
 * 			pass             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*else*/ {
  }

  /* "networkit/_NetworKit.pyx":10101
 * 
 * 	@staticmethod
 * 	def volume(Graph G, r, count samples=500):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Number of nodes within a given radius (or radii); average for many nodes
 */

  /* 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_6);
  __Pyx_AddTraceback("networkit._NetworKit.Volume.volume", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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_9networkit_10_NetworKit_6Volume_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_6Volume_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_6Volume_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Volume *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_6Volume_2__reduce_cython__(struct __pyx_obj_9networkit_10_NetworKit_Volume *__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;
  __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:
 */
  __Pyx_INCREF(__pyx_empty_tuple);
  __pyx_v_state = __pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_2 = (__pyx_v__dict != Py_None);
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (__pyx_t_3) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 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:
 *         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:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_Volume, (type(self), 0xd41d8cd, None), state
 */
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Volume, (type(self), 0xd41d8cd, None), state
 *     else:
 */
  __pyx_t_3 = (__pyx_v_use_setstate != 0);
  if (__pyx_t_3) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_Volume, (type(self), 0xd41d8cd, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_Volume, (type(self), 0xd41d8cd, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_Volume); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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))));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_222419149);
    __Pyx_GIVEREF(__pyx_int_222419149);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state);
    __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_Volume, (type(self), 0xd41d8cd, None), state
 *     else:
 */
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_Volume, (type(self), 0xd41d8cd, None), state
 *     else:
 *         return __pyx_unpickle_Volume, (type(self), 0xd41d8cd, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Volume__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle_Volume); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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))));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_222419149);
    __Pyx_GIVEREF(__pyx_int_222419149);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
    __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("networkit._NetworKit.Volume.__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_Volume, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Volume__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_6Volume_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_6Volume_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_6Volume_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Volume *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_6Volume_4__setstate_cython__(struct __pyx_obj_9networkit_10_NetworKit_Volume *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_Volume, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Volume__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
  __pyx_t_1 = __pyx_f_9networkit_10_NetworKit___pyx_unpickle_Volume__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Volume, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Volume__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_AddTraceback("networkit._NetworKit.Volume.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10162
 * 		The graph to work on. Defaults to None.
 * 	"""
 * 	def __cinit__(self, Graph G = None):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _JaccardIndex()
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_12JaccardIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_12JaccardIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    values[0] = (PyObject *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 10162, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10162, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.JaccardIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 10162, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12JaccardIndex___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_JaccardIndex *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_12JaccardIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_JaccardIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  NetworKit::JaccardIndex *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":10163
 * 	"""
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _JaccardIndex()
 * 		else:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_G) == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":10164
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:
 * 			self._this = new _JaccardIndex()             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._this = new _JaccardIndex(G._this)
 */
    try {
      __pyx_t_3 = new NetworKit::JaccardIndex();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10164, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;

    /* "networkit/_NetworKit.pyx":10163
 * 	"""
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _JaccardIndex()
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":10166
 * 			self._this = new _JaccardIndex()
 * 		else:
 * 			self._this = new _JaccardIndex(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def run(self, node u, node v):
 */
  /*else*/ {
    try {
      __pyx_t_3 = new NetworKit::JaccardIndex(__pyx_v_G->_this);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10166, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":10162
 * 		The graph to work on. Defaults to None.
 * 	"""
 * 	def __cinit__(self, Graph G = None):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _JaccardIndex()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.JaccardIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10168
 * 			self._this = new _JaccardIndex(G._this)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the Jaccard index for the given node-pair (u, v).
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12JaccardIndex_3run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_12JaccardIndex_2run[] = " Returns the Jaccard index for the given node-pair (u, v).\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tFirst node in graph.\n\t\tv : node\n\t\t\tSecond node in graph.\n\n\t\tReturns\n\t\t-------\n\t\tThe Jaccard index for the given node-pair (u, v).\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_12JaccardIndex_3run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, 1); __PYX_ERR(0, 10168, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "run") < 0)) __PYX_ERR(0, 10168, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10168, __pyx_L3_error)
    __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10168, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10168, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.JaccardIndex.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12JaccardIndex_2run(((struct __pyx_obj_9networkit_10_NetworKit_JaccardIndex *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12JaccardIndex_2run(struct __pyx_obj_9networkit_10_NetworKit_JaccardIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":10182
 * 		The Jaccard index for the given node-pair (u, v).
 * 		"""
 * 		return self._this.run(u, v)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/linkprediction/AdamicAdarIndex.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->__pyx_base._this->run(__pyx_v_u, __pyx_v_v);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10182, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":10168
 * 			self._this = new _JaccardIndex(G._this)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the Jaccard index for the given node-pair (u, v).
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.JaccardIndex.run", __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_9networkit_10_NetworKit_12JaccardIndex_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12JaccardIndex_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12JaccardIndex_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_JaccardIndex *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12JaccardIndex_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_JaccardIndex *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__376, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.JaccardIndex.__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_9networkit_10_NetworKit_12JaccardIndex_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12JaccardIndex_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12JaccardIndex_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_JaccardIndex *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12JaccardIndex_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_JaccardIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__377, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.JaccardIndex.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10202
 * 	"""
 * 
 * 	def __cinit__(self, Graph G = None):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _AdamicAdarIndex()
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_15AdamicAdarIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_15AdamicAdarIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    values[0] = (PyObject *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 10202, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10202, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.AdamicAdarIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 10202, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15AdamicAdarIndex___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarIndex *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_15AdamicAdarIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  NetworKit::AdamicAdarIndex *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":10203
 * 
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _AdamicAdarIndex()
 * 		else:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_G) == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":10204
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:
 * 			self._this = new _AdamicAdarIndex()             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._this = new _AdamicAdarIndex(G._this)
 */
    try {
      __pyx_t_3 = new NetworKit::AdamicAdarIndex();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10204, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;

    /* "networkit/_NetworKit.pyx":10203
 * 
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _AdamicAdarIndex()
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":10206
 * 			self._this = new _AdamicAdarIndex()
 * 		else:
 * 			self._this = new _AdamicAdarIndex(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def run(self, node u, node v):
 */
  /*else*/ {
    try {
      __pyx_t_3 = new NetworKit::AdamicAdarIndex(__pyx_v_G->_this);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10206, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":10202
 * 	"""
 * 
 * 	def __cinit__(self, Graph G = None):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _AdamicAdarIndex()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.AdamicAdarIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10208
 * 			self._this = new _AdamicAdarIndex(G._this)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the Adamic/Adar Index of the given node-pair (u, v).
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15AdamicAdarIndex_3run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_15AdamicAdarIndex_2run[] = " Returns the Adamic/Adar Index of the given node-pair (u, v).\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tFirst node in graph.\n\t\tv : node\n\t\t\tSecond node in graph.\n\n\t\tReturns\n\t\t-------\n\t\tThe Adamic/Adar Index of the given node-pair (u, v).\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_15AdamicAdarIndex_3run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, 1); __PYX_ERR(0, 10208, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "run") < 0)) __PYX_ERR(0, 10208, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10208, __pyx_L3_error)
    __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10208, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10208, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.AdamicAdarIndex.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15AdamicAdarIndex_2run(((struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarIndex *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15AdamicAdarIndex_2run(struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":10222
 * 		The Adamic/Adar Index of the given node-pair (u, v).
 * 		"""
 * 		return self._this.run(u, v)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/linkprediction/UDegreeIndex.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->__pyx_base._this->run(__pyx_v_u, __pyx_v_v);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10222, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":10208
 * 			self._this = new _AdamicAdarIndex(G._this)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the Adamic/Adar Index of the given node-pair (u, v).
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.AdamicAdarIndex.run", __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_9networkit_10_NetworKit_15AdamicAdarIndex_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15AdamicAdarIndex_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15AdamicAdarIndex_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarIndex *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15AdamicAdarIndex_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarIndex *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__378, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.AdamicAdarIndex.__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_9networkit_10_NetworKit_15AdamicAdarIndex_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15AdamicAdarIndex_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15AdamicAdarIndex_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarIndex *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15AdamicAdarIndex_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__379, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.AdamicAdarIndex.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10239
 * 	"""
 * 
 * 	def __cinit__(self, Graph G = None):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _UDegreeIndex()
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_12UDegreeIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_12UDegreeIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    values[0] = (PyObject *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 10239, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10239, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.UDegreeIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 10239, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12UDegreeIndex___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_UDegreeIndex *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_12UDegreeIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_UDegreeIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  NetworKit::UDegreeIndex *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":10240
 * 
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _UDegreeIndex()
 * 		else:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_G) == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":10241
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:
 * 			self._this = new _UDegreeIndex()             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._this = new _UDegreeIndex(G._this)
 */
    try {
      __pyx_t_3 = new NetworKit::UDegreeIndex();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10241, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;

    /* "networkit/_NetworKit.pyx":10240
 * 
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _UDegreeIndex()
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":10243
 * 			self._this = new _UDegreeIndex()
 * 		else:
 * 			self._this = new _UDegreeIndex(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def run(self, node u, node v):
 */
  /*else*/ {
    try {
      __pyx_t_3 = new NetworKit::UDegreeIndex(__pyx_v_G->_this);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10243, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":10239
 * 	"""
 * 
 * 	def __cinit__(self, Graph G = None):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _UDegreeIndex()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.UDegreeIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10245
 * 			self._this = new _UDegreeIndex(G._this)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the degree of the first node provided, namely u.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12UDegreeIndex_3run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_12UDegreeIndex_2run[] = " Returns the degree of the first node provided, namely u.\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tFirst node in graph.\n\t\tv : node\n\t\t\tSecond node in graph.\n\n\t\tReturns\n\t\t-------\n\t\tThe degree of the first node provided, namely u.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_12UDegreeIndex_3run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, 1); __PYX_ERR(0, 10245, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "run") < 0)) __PYX_ERR(0, 10245, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10245, __pyx_L3_error)
    __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10245, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10245, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.UDegreeIndex.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12UDegreeIndex_2run(((struct __pyx_obj_9networkit_10_NetworKit_UDegreeIndex *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12UDegreeIndex_2run(struct __pyx_obj_9networkit_10_NetworKit_UDegreeIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":10259
 * 		The degree of the first node provided, namely u.
 * 		"""
 * 		return self._this.run(u, v)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/linkprediction/VDegreeIndex.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->__pyx_base._this->run(__pyx_v_u, __pyx_v_v);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10259, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":10245
 * 			self._this = new _UDegreeIndex(G._this)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the degree of the first node provided, namely u.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.UDegreeIndex.run", __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_9networkit_10_NetworKit_12UDegreeIndex_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12UDegreeIndex_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12UDegreeIndex_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_UDegreeIndex *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12UDegreeIndex_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_UDegreeIndex *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__380, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.UDegreeIndex.__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_9networkit_10_NetworKit_12UDegreeIndex_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12UDegreeIndex_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12UDegreeIndex_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_UDegreeIndex *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12UDegreeIndex_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_UDegreeIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__381, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.UDegreeIndex.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10276
 * 	"""
 * 
 * 	def __cinit__(self, Graph G = None):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _VDegreeIndex()
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_12VDegreeIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_12VDegreeIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    values[0] = (PyObject *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 10276, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10276, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.VDegreeIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 10276, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12VDegreeIndex___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_VDegreeIndex *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_12VDegreeIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_VDegreeIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  NetworKit::VDegreeIndex *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":10277
 * 
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _VDegreeIndex()
 * 		else:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_G) == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":10278
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:
 * 			self._this = new _VDegreeIndex()             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._this = new _VDegreeIndex(G._this)
 */
    try {
      __pyx_t_3 = new NetworKit::VDegreeIndex();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10278, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;

    /* "networkit/_NetworKit.pyx":10277
 * 
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _VDegreeIndex()
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":10280
 * 			self._this = new _VDegreeIndex()
 * 		else:
 * 			self._this = new _VDegreeIndex(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def run(self, node u, node v):
 */
  /*else*/ {
    try {
      __pyx_t_3 = new NetworKit::VDegreeIndex(__pyx_v_G->_this);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10280, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":10276
 * 	"""
 * 
 * 	def __cinit__(self, Graph G = None):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _VDegreeIndex()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.VDegreeIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10282
 * 			self._this = new _VDegreeIndex(G._this)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the degree of the second node provided, namely v.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12VDegreeIndex_3run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_12VDegreeIndex_2run[] = " Returns the degree of the second node provided, namely v.\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tFirst node in graph.\n\t\tv : node\n\t\t\tSecond node in graph.\n\n\t\tReturns\n\t\t-------\n\t\tThe degree of the second node provided, namely v.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_12VDegreeIndex_3run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, 1); __PYX_ERR(0, 10282, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "run") < 0)) __PYX_ERR(0, 10282, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10282, __pyx_L3_error)
    __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10282, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10282, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.VDegreeIndex.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12VDegreeIndex_2run(((struct __pyx_obj_9networkit_10_NetworKit_VDegreeIndex *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12VDegreeIndex_2run(struct __pyx_obj_9networkit_10_NetworKit_VDegreeIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":10296
 * 		The degree of the second node provided, namely v.
 * 		"""
 * 		return self._this.run(u, v)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/linkprediction/AlgebraicDistanceIndex.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->__pyx_base._this->run(__pyx_v_u, __pyx_v_v);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10296, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":10282
 * 			self._this = new _VDegreeIndex(G._this)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the degree of the second node provided, namely v.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.VDegreeIndex.run", __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_9networkit_10_NetworKit_12VDegreeIndex_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12VDegreeIndex_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12VDegreeIndex_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_VDegreeIndex *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12VDegreeIndex_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_VDegreeIndex *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__382, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.VDegreeIndex.__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_9networkit_10_NetworKit_12VDegreeIndex_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12VDegreeIndex_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12VDegreeIndex_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_VDegreeIndex *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12VDegreeIndex_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_VDegreeIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__383, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.VDegreeIndex.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10323
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, count numberSystems, count numberIterations, double omega = 0.5, index norm = 2):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _AlgebraicDistanceIndex(numberSystems, numberIterations, omega, norm)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_22AlgebraicDistanceIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_22AlgebraicDistanceIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_numberSystems;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_numberIterations;
  double __pyx_v_omega;
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_norm;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_numberSystems,&__pyx_n_s_numberIterations,&__pyx_n_s_omega,&__pyx_n_s_norm,0};
    PyObject* values[5] = {0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numberSystems)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 5, 1); __PYX_ERR(0, 10323, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numberIterations)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 5, 2); __PYX_ERR(0, 10323, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_omega);
          if (value) { values[3] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_norm);
          if (value) { values[4] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 10323, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_numberSystems = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_numberSystems == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10323, __pyx_L3_error)
    __pyx_v_numberIterations = __Pyx_PyInt_As_uint64_t(values[2]); if (unlikely((__pyx_v_numberIterations == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10323, __pyx_L3_error)
    if (values[3]) {
      __pyx_v_omega = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_omega == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 10323, __pyx_L3_error)
    } else {
      __pyx_v_omega = ((double)0.5);
    }
    if (values[4]) {
      __pyx_v_norm = __Pyx_PyInt_As_uint64_t(values[4]); if (unlikely((__pyx_v_norm == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10323, __pyx_L3_error)
    } else {
      __pyx_v_norm = ((__pyx_t_9networkit_10_NetworKit_index)2);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10323, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.AlgebraicDistanceIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 10323, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22AlgebraicDistanceIndex___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistanceIndex *)__pyx_v_self), __pyx_v_G, __pyx_v_numberSystems, __pyx_v_numberIterations, __pyx_v_omega, __pyx_v_norm);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_22AlgebraicDistanceIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistanceIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_numberSystems, __pyx_t_9networkit_10_NetworKit_count __pyx_v_numberIterations, double __pyx_v_omega, __pyx_t_9networkit_10_NetworKit_index __pyx_v_norm) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  NetworKit::AlgebraicDistanceIndex *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":10324
 * 
 * 	def __cinit__(self, Graph G, count numberSystems, count numberIterations, double omega = 0.5, index norm = 2):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _AlgebraicDistanceIndex(numberSystems, numberIterations, omega, norm)
 * 		else:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_G) == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":10325
 * 	def __cinit__(self, Graph G, count numberSystems, count numberIterations, double omega = 0.5, index norm = 2):
 * 		if G is None:
 * 			self._this = new _AlgebraicDistanceIndex(numberSystems, numberIterations, omega, norm)             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._this = new _AlgebraicDistanceIndex(G._this, numberSystems, numberIterations, omega, norm)
 */
    try {
      __pyx_t_3 = new NetworKit::AlgebraicDistanceIndex(__pyx_v_numberSystems, __pyx_v_numberIterations, __pyx_v_omega, __pyx_v_norm);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10325, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;

    /* "networkit/_NetworKit.pyx":10324
 * 
 * 	def __cinit__(self, Graph G, count numberSystems, count numberIterations, double omega = 0.5, index norm = 2):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _AlgebraicDistanceIndex(numberSystems, numberIterations, omega, norm)
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":10327
 * 			self._this = new _AlgebraicDistanceIndex(numberSystems, numberIterations, omega, norm)
 * 		else:
 * 			self._this = new _AlgebraicDistanceIndex(G._this, numberSystems, numberIterations, omega, norm)             # <<<<<<<<<<<<<<
 * 
 * 	def preprocess(self):
 */
  /*else*/ {
    try {
      __pyx_t_3 = new NetworKit::AlgebraicDistanceIndex(__pyx_v_G->_this, __pyx_v_numberSystems, __pyx_v_numberIterations, __pyx_v_omega, __pyx_v_norm);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10327, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":10323
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, count numberSystems, count numberIterations, double omega = 0.5, index norm = 2):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _AlgebraicDistanceIndex(numberSystems, numberIterations, omega, norm)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.AlgebraicDistanceIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10329
 * 			self._this = new _AlgebraicDistanceIndex(G._this, numberSystems, numberIterations, omega, norm)
 * 
 * 	def preprocess(self):             # <<<<<<<<<<<<<<
 * 		""" Executes necessary initializations.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22AlgebraicDistanceIndex_3preprocess(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_22AlgebraicDistanceIndex_2preprocess[] = " Executes necessary initializations.\n\n\t\tStarting with random initialization, compute for all numberSystems\n\t\t\"diffusion\" systems the situation after numberIterations iterations\n\t\tof overrelaxation with overrelaxation parameter omega.\n\n\t\tREQ: Needs to be called before algdist delivers meaningful results!\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_22AlgebraicDistanceIndex_3preprocess(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("preprocess (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22AlgebraicDistanceIndex_2preprocess(((struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistanceIndex *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_22AlgebraicDistanceIndex_2preprocess(struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistanceIndex *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("preprocess", 0);

  /* "networkit/_NetworKit.pyx":10338
 * 		REQ: Needs to be called before algdist delivers meaningful results!
 * 		"""
 * 		(<_AlgebraicDistanceIndex *>self._this).preprocess()             # <<<<<<<<<<<<<<
 * 
 * 	def run(self, node u, node v):
 */
  try {
    ((NetworKit::AlgebraicDistanceIndex *)__pyx_v_self->__pyx_base._this)->preprocess();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10338, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":10329
 * 			self._this = new _AlgebraicDistanceIndex(G._this, numberSystems, numberIterations, omega, norm)
 * 
 * 	def preprocess(self):             # <<<<<<<<<<<<<<
 * 		""" Executes necessary initializations.
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.AlgebraicDistanceIndex.preprocess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10340
 * 		(<_AlgebraicDistanceIndex *>self._this).preprocess()
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the extended algebraic distance between node u and node v in the norm specified in the constructor.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22AlgebraicDistanceIndex_5run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_22AlgebraicDistanceIndex_4run[] = " Returns the extended algebraic distance between node u and node v in the norm specified in the constructor.\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tThe first node.\n\t\tv : node\n\t\t\tThe second node.\n\n\t\tReturns\n\t\t-------\n\t\tExtended algebraic distance between the two nodes.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_22AlgebraicDistanceIndex_5run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, 1); __PYX_ERR(0, 10340, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "run") < 0)) __PYX_ERR(0, 10340, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10340, __pyx_L3_error)
    __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10340, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10340, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.AlgebraicDistanceIndex.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22AlgebraicDistanceIndex_4run(((struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistanceIndex *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_22AlgebraicDistanceIndex_4run(struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistanceIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":10354
 * 		Extended algebraic distance between the two nodes.
 * 		"""
 * 		return self._this.run(u, v)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/linkprediction/NeighborhoodDistanceIndex.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->__pyx_base._this->run(__pyx_v_u, __pyx_v_v);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10354, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10354, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":10340
 * 		(<_AlgebraicDistanceIndex *>self._this).preprocess()
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the extended algebraic distance between node u and node v in the norm specified in the constructor.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.AlgebraicDistanceIndex.run", __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_9networkit_10_NetworKit_22AlgebraicDistanceIndex_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_22AlgebraicDistanceIndex_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22AlgebraicDistanceIndex_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistanceIndex *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_22AlgebraicDistanceIndex_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistanceIndex *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__384, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.AlgebraicDistanceIndex.__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_9networkit_10_NetworKit_22AlgebraicDistanceIndex_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_22AlgebraicDistanceIndex_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22AlgebraicDistanceIndex_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistanceIndex *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_22AlgebraicDistanceIndex_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistanceIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__385, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.AlgebraicDistanceIndex.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10371
 * 		The graph to work on. Defaults to None.
 * 	"""
 * 	def __cinit__(self, Graph G = None):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _NeighborhoodDistanceIndex()
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_25NeighborhoodDistanceIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_25NeighborhoodDistanceIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    values[0] = (PyObject *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 10371, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10371, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.NeighborhoodDistanceIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 10371, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_25NeighborhoodDistanceIndex___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodDistanceIndex *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_25NeighborhoodDistanceIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodDistanceIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  NetworKit::NeighborhoodDistanceIndex *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":10372
 * 	"""
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _NeighborhoodDistanceIndex()
 * 		else:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_G) == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":10373
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:
 * 			self._this = new _NeighborhoodDistanceIndex()             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._this = new _NeighborhoodDistanceIndex(G._this)
 */
    try {
      __pyx_t_3 = new NetworKit::NeighborhoodDistanceIndex();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10373, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;

    /* "networkit/_NetworKit.pyx":10372
 * 	"""
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _NeighborhoodDistanceIndex()
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":10375
 * 			self._this = new _NeighborhoodDistanceIndex()
 * 		else:
 * 			self._this = new _NeighborhoodDistanceIndex(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def run(self, node u, node v):
 */
  /*else*/ {
    try {
      __pyx_t_3 = new NetworKit::NeighborhoodDistanceIndex(__pyx_v_G->_this);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10375, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":10371
 * 		The graph to work on. Defaults to None.
 * 	"""
 * 	def __cinit__(self, Graph G = None):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _NeighborhoodDistanceIndex()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.NeighborhoodDistanceIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10377
 * 			self._this = new _NeighborhoodDistanceIndex(G._this)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the Neighborhood Distance index for the given node-pair (u, v).
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_25NeighborhoodDistanceIndex_3run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_25NeighborhoodDistanceIndex_2run[] = " Returns the Neighborhood Distance index for the given node-pair (u, v).\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tFirst node in graph.\n\t\tv : node\n\t\t\tSecond node in graph.\n\n\t\tReturns\n\t\t-------\n\t\tThe Neighborhood Distance index for the given node-pair (u, v).\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_25NeighborhoodDistanceIndex_3run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, 1); __PYX_ERR(0, 10377, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "run") < 0)) __PYX_ERR(0, 10377, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10377, __pyx_L3_error)
    __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10377, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10377, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.NeighborhoodDistanceIndex.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_25NeighborhoodDistanceIndex_2run(((struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodDistanceIndex *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_25NeighborhoodDistanceIndex_2run(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodDistanceIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":10391
 * 		The Neighborhood Distance index for the given node-pair (u, v).
 * 		"""
 * 		return self._this.run(u, v)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/linkprediction/TotalNeighborsIndex.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->__pyx_base._this->run(__pyx_v_u, __pyx_v_v);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10391, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":10377
 * 			self._this = new _NeighborhoodDistanceIndex(G._this)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the Neighborhood Distance index for the given node-pair (u, v).
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.NeighborhoodDistanceIndex.run", __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_9networkit_10_NetworKit_25NeighborhoodDistanceIndex_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_25NeighborhoodDistanceIndex_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_25NeighborhoodDistanceIndex_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodDistanceIndex *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_25NeighborhoodDistanceIndex_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodDistanceIndex *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__386, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.NeighborhoodDistanceIndex.__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_9networkit_10_NetworKit_25NeighborhoodDistanceIndex_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_25NeighborhoodDistanceIndex_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_25NeighborhoodDistanceIndex_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodDistanceIndex *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_25NeighborhoodDistanceIndex_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodDistanceIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__387, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.NeighborhoodDistanceIndex.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10411
 * 	"""
 * 
 * 	def __cinit__(self, Graph G = None):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _TotalNeighborsIndex()
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_19TotalNeighborsIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_19TotalNeighborsIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    values[0] = (PyObject *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 10411, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10411, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.TotalNeighborsIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 10411, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19TotalNeighborsIndex___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_TotalNeighborsIndex *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_19TotalNeighborsIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_TotalNeighborsIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  NetworKit::TotalNeighborsIndex *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":10412
 * 
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _TotalNeighborsIndex()
 * 		else:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_G) == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":10413
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:
 * 			self._this = new _TotalNeighborsIndex()             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._this = new _TotalNeighborsIndex(G._this)
 */
    try {
      __pyx_t_3 = new NetworKit::TotalNeighborsIndex();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10413, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;

    /* "networkit/_NetworKit.pyx":10412
 * 
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _TotalNeighborsIndex()
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":10415
 * 			self._this = new _TotalNeighborsIndex()
 * 		else:
 * 			self._this = new _TotalNeighborsIndex(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def run(self, node u, node v):
 */
  /*else*/ {
    try {
      __pyx_t_3 = new NetworKit::TotalNeighborsIndex(__pyx_v_G->_this);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10415, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":10411
 * 	"""
 * 
 * 	def __cinit__(self, Graph G = None):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _TotalNeighborsIndex()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.TotalNeighborsIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10417
 * 			self._this = new _TotalNeighborsIndex(G._this)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the number of total union-neighbors for the given node-pair (u, v).
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19TotalNeighborsIndex_3run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_19TotalNeighborsIndex_2run[] = " Returns the number of total union-neighbors for the given node-pair (u, v).\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tFirst node in graph.\n\t\tv : node\n\t\t\tSecond node in graph.\n\n\t\tReturns\n\t\t-------\n\t\tThe number of total union-neighbors for the given node-pair (u, v).\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_19TotalNeighborsIndex_3run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, 1); __PYX_ERR(0, 10417, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "run") < 0)) __PYX_ERR(0, 10417, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10417, __pyx_L3_error)
    __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10417, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10417, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.TotalNeighborsIndex.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19TotalNeighborsIndex_2run(((struct __pyx_obj_9networkit_10_NetworKit_TotalNeighborsIndex *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19TotalNeighborsIndex_2run(struct __pyx_obj_9networkit_10_NetworKit_TotalNeighborsIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":10431
 * 		The number of total union-neighbors for the given node-pair (u, v).
 * 		"""
 * 		return self._this.run(u, v)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/linkprediction/NeighborsMeasureIndex.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->__pyx_base._this->run(__pyx_v_u, __pyx_v_v);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10431, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10431, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":10417
 * 			self._this = new _TotalNeighborsIndex(G._this)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the number of total union-neighbors for the given node-pair (u, v).
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.TotalNeighborsIndex.run", __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_9networkit_10_NetworKit_19TotalNeighborsIndex_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19TotalNeighborsIndex_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19TotalNeighborsIndex_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_TotalNeighborsIndex *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19TotalNeighborsIndex_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_TotalNeighborsIndex *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__388, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.TotalNeighborsIndex.__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_9networkit_10_NetworKit_19TotalNeighborsIndex_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19TotalNeighborsIndex_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19TotalNeighborsIndex_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_TotalNeighborsIndex *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19TotalNeighborsIndex_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_TotalNeighborsIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__389, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.TotalNeighborsIndex.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10451
 * 	"""
 * 
 * 	def __cinit__(self, Graph G = None):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _NeighborsMeasureIndex()
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_21NeighborsMeasureIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_21NeighborsMeasureIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    values[0] = (PyObject *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 10451, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10451, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.NeighborsMeasureIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 10451, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21NeighborsMeasureIndex___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_NeighborsMeasureIndex *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_21NeighborsMeasureIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_NeighborsMeasureIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  NetworKit::NeighborsMeasureIndex *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":10452
 * 
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _NeighborsMeasureIndex()
 * 		else:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_G) == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":10453
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:
 * 			self._this = new _NeighborsMeasureIndex()             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._this = new _NeighborsMeasureIndex(G._this)
 */
    try {
      __pyx_t_3 = new NetworKit::NeighborsMeasureIndex();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10453, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;

    /* "networkit/_NetworKit.pyx":10452
 * 
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _NeighborsMeasureIndex()
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":10455
 * 			self._this = new _NeighborsMeasureIndex()
 * 		else:
 * 			self._this = new _NeighborsMeasureIndex(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def run(self, node u, node v):
 */
  /*else*/ {
    try {
      __pyx_t_3 = new NetworKit::NeighborsMeasureIndex(__pyx_v_G->_this);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10455, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":10451
 * 	"""
 * 
 * 	def __cinit__(self, Graph G = None):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _NeighborsMeasureIndex()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.NeighborsMeasureIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10457
 * 			self._this = new _NeighborsMeasureIndex(G._this)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the number of connections between neighbors of u and v.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_21NeighborsMeasureIndex_3run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_21NeighborsMeasureIndex_2run[] = " Returns the number of connections between neighbors of u and v.\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tFirst node in graph.\n\t\tv : node\n\t\t\tSecond node in graph.\n\n\t\tReturns\n\t\t-------\n\t\tThe number of connections between neighbors of u and v.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_21NeighborsMeasureIndex_3run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, 1); __PYX_ERR(0, 10457, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "run") < 0)) __PYX_ERR(0, 10457, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10457, __pyx_L3_error)
    __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10457, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10457, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.NeighborsMeasureIndex.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21NeighborsMeasureIndex_2run(((struct __pyx_obj_9networkit_10_NetworKit_NeighborsMeasureIndex *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21NeighborsMeasureIndex_2run(struct __pyx_obj_9networkit_10_NetworKit_NeighborsMeasureIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":10471
 * 		The number of connections between neighbors of u and v.
 * 		"""
 * 		return self._this.run(u, v)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/linkprediction/SameCommunityIndex.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->__pyx_base._this->run(__pyx_v_u, __pyx_v_v);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10471, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":10457
 * 			self._this = new _NeighborsMeasureIndex(G._this)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the number of connections between neighbors of u and v.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.NeighborsMeasureIndex.run", __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_9networkit_10_NetworKit_21NeighborsMeasureIndex_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21NeighborsMeasureIndex_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21NeighborsMeasureIndex_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_NeighborsMeasureIndex *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21NeighborsMeasureIndex_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NeighborsMeasureIndex *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__390, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.NeighborsMeasureIndex.__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_9networkit_10_NetworKit_21NeighborsMeasureIndex_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21NeighborsMeasureIndex_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21NeighborsMeasureIndex_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_NeighborsMeasureIndex *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21NeighborsMeasureIndex_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_NeighborsMeasureIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__391, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.NeighborsMeasureIndex.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10488
 * 	"""
 * 
 * 	def __cinit__(self, Graph G = None):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _SameCommunityIndex()
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_18SameCommunityIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_18SameCommunityIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    values[0] = (PyObject *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 10488, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10488, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.SameCommunityIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 10488, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18SameCommunityIndex___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_SameCommunityIndex *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_18SameCommunityIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_SameCommunityIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  NetworKit::SameCommunityIndex *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":10489
 * 
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _SameCommunityIndex()
 * 		else:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_G) == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":10490
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:
 * 			self._this = new _SameCommunityIndex()             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._this = new _SameCommunityIndex(G._this)
 */
    try {
      __pyx_t_3 = new NetworKit::SameCommunityIndex();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10490, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;

    /* "networkit/_NetworKit.pyx":10489
 * 
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _SameCommunityIndex()
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":10492
 * 			self._this = new _SameCommunityIndex()
 * 		else:
 * 			self._this = new _SameCommunityIndex(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def run(self, node u, node v):
 */
  /*else*/ {
    try {
      __pyx_t_3 = new NetworKit::SameCommunityIndex(__pyx_v_G->_this);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10492, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":10488
 * 	"""
 * 
 * 	def __cinit__(self, Graph G = None):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _SameCommunityIndex()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.SameCommunityIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10494
 * 			self._this = new _SameCommunityIndex(G._this)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns 1 if the given nodes u and v are in the same community, 0 otherwise.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_18SameCommunityIndex_3run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_18SameCommunityIndex_2run[] = " Returns 1 if the given nodes u and v are in the same community, 0 otherwise.\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tFirst node in graph.\n\t\tv : node\n\t\t\tSecond node in graph.\n\n\t\tReturns\n\t\t-------\n\t\t1 if the given nodes u and v are in the same community, 0 otherwise.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_18SameCommunityIndex_3run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, 1); __PYX_ERR(0, 10494, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "run") < 0)) __PYX_ERR(0, 10494, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10494, __pyx_L3_error)
    __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10494, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10494, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.SameCommunityIndex.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18SameCommunityIndex_2run(((struct __pyx_obj_9networkit_10_NetworKit_SameCommunityIndex *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_18SameCommunityIndex_2run(struct __pyx_obj_9networkit_10_NetworKit_SameCommunityIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":10508
 * 		1 if the given nodes u and v are in the same community, 0 otherwise.
 * 		"""
 * 		return self._this.run(u, v)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/linkprediction/AdjustedRandIndex.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->__pyx_base._this->run(__pyx_v_u, __pyx_v_v);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10508, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10508, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":10494
 * 			self._this = new _SameCommunityIndex(G._this)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns 1 if the given nodes u and v are in the same community, 0 otherwise.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.SameCommunityIndex.run", __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_9networkit_10_NetworKit_18SameCommunityIndex_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_18SameCommunityIndex_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18SameCommunityIndex_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_SameCommunityIndex *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_18SameCommunityIndex_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SameCommunityIndex *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__392, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.SameCommunityIndex.__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_9networkit_10_NetworKit_18SameCommunityIndex_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_18SameCommunityIndex_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18SameCommunityIndex_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_SameCommunityIndex *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_18SameCommunityIndex_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SameCommunityIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__393, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.SameCommunityIndex.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10525
 * 	"""
 * 
 * 	def __cinit__(self, Graph G = None):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _AdjustedRandIndex()
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_17AdjustedRandIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_17AdjustedRandIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    values[0] = (PyObject *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 10525, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10525, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.AdjustedRandIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 10525, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17AdjustedRandIndex___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandIndex *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_17AdjustedRandIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  NetworKit::AdjustedRandIndex *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":10526
 * 
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _AdjustedRandIndex()
 * 		else:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_G) == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":10527
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:
 * 			self._this = new _AdjustedRandIndex()             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._this = new _AdjustedRandIndex(G._this)
 */
    try {
      __pyx_t_3 = new NetworKit::AdjustedRandIndex();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10527, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;

    /* "networkit/_NetworKit.pyx":10526
 * 
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _AdjustedRandIndex()
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":10529
 * 			self._this = new _AdjustedRandIndex()
 * 		else:
 * 			self._this = new _AdjustedRandIndex(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def run(self, node u, node v):
 */
  /*else*/ {
    try {
      __pyx_t_3 = new NetworKit::AdjustedRandIndex(__pyx_v_G->_this);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10529, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":10525
 * 	"""
 * 
 * 	def __cinit__(self, Graph G = None):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _AdjustedRandIndex()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.AdjustedRandIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10531
 * 			self._this = new _AdjustedRandIndex(G._this)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the Adjusted Rand Index of the given node-pair (u, v).
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_17AdjustedRandIndex_3run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_17AdjustedRandIndex_2run[] = " Returns the Adjusted Rand Index of the given node-pair (u, v).\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tFirst node in graph.\n\t\tv : node\n\t\t\tSecond node in graph.\n\n\t\tReturns\n\t\t-------\n\t\tThe Adjusted Rand Index of the given node-pair (u, v).\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_17AdjustedRandIndex_3run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, 1); __PYX_ERR(0, 10531, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "run") < 0)) __PYX_ERR(0, 10531, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10531, __pyx_L3_error)
    __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10531, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10531, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.AdjustedRandIndex.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17AdjustedRandIndex_2run(((struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandIndex *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_17AdjustedRandIndex_2run(struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":10545
 * 		The Adjusted Rand Index of the given node-pair (u, v).
 * 		"""
 * 		return self._this.run(u, v)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/linkprediction/ResourceAllocationIndex.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->__pyx_base._this->run(__pyx_v_u, __pyx_v_v);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10545, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":10531
 * 			self._this = new _AdjustedRandIndex(G._this)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the Adjusted Rand Index of the given node-pair (u, v).
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.AdjustedRandIndex.run", __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_9networkit_10_NetworKit_17AdjustedRandIndex_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17AdjustedRandIndex_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17AdjustedRandIndex_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandIndex *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_17AdjustedRandIndex_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandIndex *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__394, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.AdjustedRandIndex.__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_9networkit_10_NetworKit_17AdjustedRandIndex_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17AdjustedRandIndex_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17AdjustedRandIndex_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandIndex *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_17AdjustedRandIndex_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__395, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.AdjustedRandIndex.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10565
 * 	"""
 * 
 * 	def __cinit__(self, Graph G = None):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _ResourceAllocationIndex()
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_23ResourceAllocationIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_23ResourceAllocationIndex_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    values[0] = (PyObject *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 10565, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10565, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ResourceAllocationIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 10565, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23ResourceAllocationIndex___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_ResourceAllocationIndex *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_23ResourceAllocationIndex___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ResourceAllocationIndex *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  NetworKit::ResourceAllocationIndex *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":10566
 * 
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _ResourceAllocationIndex()
 * 		else:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_G) == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":10567
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:
 * 			self._this = new _ResourceAllocationIndex()             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._this = new _ResourceAllocationIndex(G._this)
 */
    try {
      __pyx_t_3 = new NetworKit::ResourceAllocationIndex();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10567, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;

    /* "networkit/_NetworKit.pyx":10566
 * 
 * 	def __cinit__(self, Graph G = None):
 * 		if G is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _ResourceAllocationIndex()
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":10569
 * 			self._this = new _ResourceAllocationIndex()
 * 		else:
 * 			self._this = new _ResourceAllocationIndex(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def run(self, node u, node v):
 */
  /*else*/ {
    try {
      __pyx_t_3 = new NetworKit::ResourceAllocationIndex(__pyx_v_G->_this);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10569, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":10565
 * 	"""
 * 
 * 	def __cinit__(self, Graph G = None):             # <<<<<<<<<<<<<<
 * 		if G is None:
 * 			self._this = new _ResourceAllocationIndex()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ResourceAllocationIndex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10571
 * 			self._this = new _ResourceAllocationIndex(G._this)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the Resource Allocation Index of the given node-pair (u, v).
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_23ResourceAllocationIndex_3run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_23ResourceAllocationIndex_2run[] = " Returns the Resource Allocation Index of the given node-pair (u, v).\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tFirst node in graph.\n\t\tv : node\n\t\t\tSecond node in graph.\n\n\t\tReturns\n\t\t-------\n\t\tThe Resource Allocation Index of the given node-pair (u, v).\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_23ResourceAllocationIndex_3run(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, 1); __PYX_ERR(0, 10571, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "run") < 0)) __PYX_ERR(0, 10571, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10571, __pyx_L3_error)
    __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10571, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("run", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10571, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ResourceAllocationIndex.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23ResourceAllocationIndex_2run(((struct __pyx_obj_9networkit_10_NetworKit_ResourceAllocationIndex *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_23ResourceAllocationIndex_2run(struct __pyx_obj_9networkit_10_NetworKit_ResourceAllocationIndex *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":10585
 * 		The Resource Allocation Index of the given node-pair (u, v).
 * 		"""
 * 		return self._this.run(u, v)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/linkprediction/RandomLinkSampler.hpp>" namespace "NetworKit::RandomLinkSampler":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->__pyx_base._this->run(__pyx_v_u, __pyx_v_v);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10585, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":10571
 * 			self._this = new _ResourceAllocationIndex(G._this)
 * 
 * 	def run(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the Resource Allocation Index of the given node-pair (u, v).
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.ResourceAllocationIndex.run", __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_9networkit_10_NetworKit_23ResourceAllocationIndex_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_23ResourceAllocationIndex_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23ResourceAllocationIndex_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ResourceAllocationIndex *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_23ResourceAllocationIndex_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ResourceAllocationIndex *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__396, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ResourceAllocationIndex.__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_9networkit_10_NetworKit_23ResourceAllocationIndex_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_23ResourceAllocationIndex_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23ResourceAllocationIndex_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ResourceAllocationIndex *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_23ResourceAllocationIndex_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ResourceAllocationIndex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__397, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ResourceAllocationIndex.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10596
 * 
 * 	@staticmethod
 * 	def byPercentage(Graph G, double percentage):             # <<<<<<<<<<<<<<
 * 		""" Returns a graph that contains percentage percent of links form the given graph G.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_17RandomLinkSampler_1byPercentage(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_17RandomLinkSampler_byPercentage[] = " Returns a graph that contains percentage percent of links form the given graph G.\n\n\t\tThe links are randomly selected from G until the given percentage is reached.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe graph to construct the training graph from.\n\t\tpercentage : double\n\t\t\tPercentage of links regarding the number of links in the given graph that should\n\t\t\tbe in the returned graph.\n\n\t\tReturns\n\t\t-------\n\t\tA graph that contains the given percentage of links from G.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_17RandomLinkSampler_1byPercentage = {"byPercentage", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_17RandomLinkSampler_1byPercentage, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_17RandomLinkSampler_byPercentage};
static PyObject *__pyx_pw_9networkit_10_NetworKit_17RandomLinkSampler_1byPercentage(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  double __pyx_v_percentage;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("byPercentage (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_percentage,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_percentage)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("byPercentage", 1, 2, 2, 1); __PYX_ERR(0, 10596, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "byPercentage") < 0)) __PYX_ERR(0, 10596, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_percentage = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_percentage == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 10596, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("byPercentage", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10596, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.RandomLinkSampler.byPercentage", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 10596, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17RandomLinkSampler_byPercentage(__pyx_v_G, __pyx_v_percentage);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_17RandomLinkSampler_byPercentage(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, double __pyx_v_percentage) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Graph __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("byPercentage", 0);

  /* "networkit/_NetworKit.pyx":10613
 * 		A graph that contains the given percentage of links from G.
 * 		"""
 * 		return Graph().setThis(byPercentage(G._this, percentage))             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10613, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = NetworKit::RandomLinkSampler::byPercentage(__pyx_v_G->_this, __pyx_v_percentage);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10613, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10613, __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;

  /* "networkit/_NetworKit.pyx":10596
 * 
 * 	@staticmethod
 * 	def byPercentage(Graph G, double percentage):             # <<<<<<<<<<<<<<
 * 		""" Returns a graph that contains percentage percent of links form the given graph G.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.RandomLinkSampler.byPercentage", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10616
 * 
 * 	@staticmethod
 * 	def byCount(Graph G, count numLinks):             # <<<<<<<<<<<<<<
 * 		""" Returns a graph that contains numLinks links from the given graph G.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_17RandomLinkSampler_3byCount(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_17RandomLinkSampler_2byCount[] = " Returns a graph that contains numLinks links from the given graph G.\n\n\t\tThe links are randomly selected from G until the given count is reached.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe graph to construct the training graph from.\n\t\tnumLinks : count\n\t\t\tNumber of links the returned graph should consist of.\n\n\t\tReturns\n\t\t-------\n\t\tA graph that contains the given number of links from G.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_17RandomLinkSampler_3byCount = {"byCount", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_17RandomLinkSampler_3byCount, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_17RandomLinkSampler_2byCount};
static PyObject *__pyx_pw_9networkit_10_NetworKit_17RandomLinkSampler_3byCount(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_numLinks;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("byCount (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_numLinks,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numLinks)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("byCount", 1, 2, 2, 1); __PYX_ERR(0, 10616, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "byCount") < 0)) __PYX_ERR(0, 10616, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_numLinks = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_numLinks == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10616, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("byCount", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10616, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.RandomLinkSampler.byCount", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 10616, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17RandomLinkSampler_2byCount(__pyx_v_G, __pyx_v_numLinks);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_17RandomLinkSampler_2byCount(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_numLinks) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Graph __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("byCount", 0);

  /* "networkit/_NetworKit.pyx":10632
 * 		A graph that contains the given number of links from G.
 * 		"""
 * 		return Graph().setThis(byCount(G._this, numLinks))             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/linkprediction/EvaluationMetric.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10632, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = NetworKit::RandomLinkSampler::byCount(__pyx_v_G->_this, __pyx_v_numLinks);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10632, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10632, __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;

  /* "networkit/_NetworKit.pyx":10616
 * 
 * 	@staticmethod
 * 	def byCount(Graph G, count numLinks):             # <<<<<<<<<<<<<<
 * 		""" Returns a graph that contains numLinks links from the given graph G.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.RandomLinkSampler.byCount", __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_9networkit_10_NetworKit_17RandomLinkSampler_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17RandomLinkSampler_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17RandomLinkSampler_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_RandomLinkSampler *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_17RandomLinkSampler_4__reduce_cython__(struct __pyx_obj_9networkit_10_NetworKit_RandomLinkSampler *__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;
  __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:
 */
  __Pyx_INCREF(__pyx_empty_tuple);
  __pyx_v_state = __pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_2 = (__pyx_v__dict != Py_None);
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (__pyx_t_3) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 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:
 *         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:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_RandomLinkSampler, (type(self), 0xd41d8cd, None), state
 */
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_RandomLinkSampler, (type(self), 0xd41d8cd, None), state
 *     else:
 */
  __pyx_t_3 = (__pyx_v_use_setstate != 0);
  if (__pyx_t_3) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_RandomLinkSampler, (type(self), 0xd41d8cd, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_RandomLinkSampler, (type(self), 0xd41d8cd, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_RandomLinkSampler); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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))));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_222419149);
    __Pyx_GIVEREF(__pyx_int_222419149);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state);
    __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_RandomLinkSampler, (type(self), 0xd41d8cd, None), state
 *     else:
 */
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_RandomLinkSampler, (type(self), 0xd41d8cd, None), state
 *     else:
 *         return __pyx_unpickle_RandomLinkSampler, (type(self), 0xd41d8cd, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_RandomLinkSampler__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle_RandomLinkSampler); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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))));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_222419149);
    __Pyx_GIVEREF(__pyx_int_222419149);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
    __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("networkit._NetworKit.RandomLinkSampler.__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_RandomLinkSampler, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_RandomLinkSampler__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_17RandomLinkSampler_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17RandomLinkSampler_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17RandomLinkSampler_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_RandomLinkSampler *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_17RandomLinkSampler_6__setstate_cython__(struct __pyx_obj_9networkit_10_NetworKit_RandomLinkSampler *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_RandomLinkSampler, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_RandomLinkSampler__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
  __pyx_t_1 = __pyx_f_9networkit_10_NetworKit___pyx_unpickle_RandomLinkSampler__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_RandomLinkSampler, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_RandomLinkSampler__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_AddTraceback("networkit._NetworKit.RandomLinkSampler.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10657
 * 	cdef _EvaluationMetric *_this
 * 
 * 	def __cinit__(self, *args):             # <<<<<<<<<<<<<<
 * 		# The construction is handled by the subclasses
 * 		return
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_16EvaluationMetric_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_16EvaluationMetric_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16EvaluationMetric___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_EvaluationMetric *)__pyx_v_self), __pyx_v_args);

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_16EvaluationMetric___cinit__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EvaluationMetric *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":10659
 * 	def __cinit__(self, *args):
 * 		# The construction is handled by the subclasses
 * 		return             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":10657
 * 	cdef _EvaluationMetric *_this
 * 
 * 	def __cinit__(self, *args):             # <<<<<<<<<<<<<<
 * 		# The construction is handled by the subclasses
 * 		return
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10661
 * 		return
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		if self._this is not NULL:
 * 			del self._this
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_16EvaluationMetric_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_16EvaluationMetric_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_16EvaluationMetric_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_EvaluationMetric *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9networkit_10_NetworKit_16EvaluationMetric_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_EvaluationMetric *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":10662
 * 
 * 	def __dealloc__(self):
 * 		if self._this is not NULL:             # <<<<<<<<<<<<<<
 * 			del self._this
 * 			self._this = NULL
 */
  __pyx_t_1 = ((__pyx_v_self->_this != NULL) != 0);
  if (__pyx_t_1) {

    /* "networkit/_NetworKit.pyx":10663
 * 	def __dealloc__(self):
 * 		if self._this is not NULL:
 * 			del self._this             # <<<<<<<<<<<<<<
 * 			self._this = NULL
 * 
 */
    delete __pyx_v_self->_this;

    /* "networkit/_NetworKit.pyx":10664
 * 		if self._this is not NULL:
 * 			del self._this
 * 			self._this = NULL             # <<<<<<<<<<<<<<
 * 
 * 	def setTestGraph(self, Graph newTestGraph):
 */
    __pyx_v_self->_this = NULL;

    /* "networkit/_NetworKit.pyx":10662
 * 
 * 	def __dealloc__(self):
 * 		if self._this is not NULL:             # <<<<<<<<<<<<<<
 * 			del self._this
 * 			self._this = NULL
 */
  }

  /* "networkit/_NetworKit.pyx":10661
 * 		return
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		if self._this is not NULL:
 * 			del self._this
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":10666
 * 			self._this = NULL
 * 
 * 	def setTestGraph(self, Graph newTestGraph):             # <<<<<<<<<<<<<<
 * 		""" Sets a new graph to use as ground truth for evaluation.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_16EvaluationMetric_5setTestGraph(PyObject *__pyx_v_self, PyObject *__pyx_v_newTestGraph); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_16EvaluationMetric_4setTestGraph[] = " Sets a new graph to use as ground truth for evaluation.\n\n\t\tNote that this won't reset the most recently calculated curve and as a consequence\n\t\tgetAreaUnderCurve() will still behave as expected by returning the AUC of the most recent curve.\n\n\t\tParameters\n\t\t----------\n\t\tnewTestGraph : networkit.Graph\n\t\t\tNew graph to use as ground truth.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_16EvaluationMetric_5setTestGraph(PyObject *__pyx_v_self, PyObject *__pyx_v_newTestGraph) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setTestGraph (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_newTestGraph), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "newTestGraph", 0))) __PYX_ERR(0, 10666, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16EvaluationMetric_4setTestGraph(((struct __pyx_obj_9networkit_10_NetworKit_EvaluationMetric *)__pyx_v_self), ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_newTestGraph));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_16EvaluationMetric_4setTestGraph(struct __pyx_obj_9networkit_10_NetworKit_EvaluationMetric *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_newTestGraph) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setTestGraph", 0);

  /* "networkit/_NetworKit.pyx":10677
 * 			New graph to use as ground truth.
 * 		"""
 * 		self._this.setTestGraph(newTestGraph._this)             # <<<<<<<<<<<<<<
 * 
 * 	def getCurve(self, vector[pair[pair[node, node], double]] predictions, count numThresholds = 1000):
 */
  try {
    __pyx_v_self->_this->setTestGraph(__pyx_v_newTestGraph->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10677, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":10666
 * 			self._this = NULL
 * 
 * 	def setTestGraph(self, Graph newTestGraph):             # <<<<<<<<<<<<<<
 * 		""" Sets a new graph to use as ground truth for evaluation.
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EvaluationMetric.setTestGraph", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10679
 * 		self._this.setTestGraph(newTestGraph._this)
 * 
 * 	def getCurve(self, vector[pair[pair[node, node], double]] predictions, count numThresholds = 1000):             # <<<<<<<<<<<<<<
 * 		""" Returns a pair of X- and Y-vectors describing the evaluation curve generated from the given predictions.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_16EvaluationMetric_7getCurve(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_16EvaluationMetric_6getCurve[] = " Returns a pair of X- and Y-vectors describing the evaluation curve generated from the given predictions.\n\n\t\tThe latest y-value will be used as a tie-breaker in case there are multiple y-values for one x-value.\n\t\tNote that the given number of thresholds (@a numThresholds) is an upper bound for the number of\n\t\tpoints returned. This is due to the fact that multiple y-values can map to one x-value in which case\n\t\tthe tie-breaking behaviour described above will intervene.\n\n\t\tParameters\n\t\t----------\n\t\tpredictions : vector[pair[pair[node, node], double]]\n\t\t\tPredictions to evaluate.\n\t\tnumThresholds : count, optional\n\t\t\tThe number of thresholds to use the metric on. Defaults to 1000.\n\n\t\tReturns\n\t\t-------\n\t\tA pair of vectors where the first vectors contains all x-values and the second one contains the\n\t\tcorresponding y-value.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_16EvaluationMetric_7getCurve(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_v_predictions;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_numThresholds;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getCurve (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_predictions,&__pyx_n_s_numThresholds,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_predictions)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numThresholds);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getCurve") < 0)) __PYX_ERR(0, 10679, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_predictions = __pyx_convert_vector_from_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___(values[0]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 10679, __pyx_L3_error)
    if (values[1]) {
      __pyx_v_numThresholds = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_numThresholds == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10679, __pyx_L3_error)
    } else {
      __pyx_v_numThresholds = ((__pyx_t_9networkit_10_NetworKit_count)0x3E8);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getCurve", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10679, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EvaluationMetric.getCurve", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16EvaluationMetric_6getCurve(((struct __pyx_obj_9networkit_10_NetworKit_EvaluationMetric *)__pyx_v_self), __pyx_v_predictions, __pyx_v_numThresholds);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_16EvaluationMetric_6getCurve(struct __pyx_obj_9networkit_10_NetworKit_EvaluationMetric *__pyx_v_self, std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_v_predictions, __pyx_t_9networkit_10_NetworKit_count __pyx_v_numThresholds) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::pair<std::vector<double> ,std::vector<double> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getCurve", 0);

  /* "networkit/_NetworKit.pyx":10699
 * 		corresponding y-value.
 * 		"""
 * 		return self._this.getCurve(predictions, numThresholds)             # <<<<<<<<<<<<<<
 * 
 * 	def getAreaUnderCurve(self, pair[vector[double], vector[double]] curve = pair[vector[double], vector[double]]()):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this->getCurve(__pyx_v_predictions, __pyx_v_numThresholds);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10699, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_pair_to_py_std_3a__3a_vector_3c_double_3e_______std_3a__3a_vector_3c_double_3e___(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":10679
 * 		self._this.setTestGraph(newTestGraph._this)
 * 
 * 	def getCurve(self, vector[pair[pair[node, node], double]] predictions, count numThresholds = 1000):             # <<<<<<<<<<<<<<
 * 		""" Returns a pair of X- and Y-vectors describing the evaluation curve generated from the given predictions.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.EvaluationMetric.getCurve", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10701
 * 		return self._this.getCurve(predictions, numThresholds)
 * 
 * 	def getAreaUnderCurve(self, pair[vector[double], vector[double]] curve = pair[vector[double], vector[double]]()):             # <<<<<<<<<<<<<<
 * 		""" Returns the area under the most recently calculated or optionally the given curve by using the trapezoidal rule.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_16EvaluationMetric_9getAreaUnderCurve(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_16EvaluationMetric_8getAreaUnderCurve[] = " Returns the area under the most recently calculated or optionally the given curve by using the trapezoidal rule.\n\n\t\tNote that if there is no curve specified or the vectors of the given curves are empty than\n\t\tthe area under the most recently calculated curve will be returned.\n\n\t\tParameters\n\t\t----------\n\t\tcurve : pair[vector[double], vector[double]]\n\t\t\tCurve whose AUC to determine. Default: Pair of empty vectors.\n\n\t\tReturns\n\t\t-------\n\t\tThe area under the given curve.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_16EvaluationMetric_9getAreaUnderCurve(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  std::pair<std::vector<double> ,std::vector<double> >  __pyx_v_curve;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getAreaUnderCurve (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_curve,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_curve);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getAreaUnderCurve") < 0)) __PYX_ERR(0, 10701, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_curve = __pyx_convert_pair_from_py_std_3a__3a_vector_3c_double_3e_____and_std_3a__3a_vector_3c_double_3e___(values[0]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 10701, __pyx_L3_error)
    } else {
      __pyx_v_curve = __pyx_k__398;
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getAreaUnderCurve", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10701, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EvaluationMetric.getAreaUnderCurve", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16EvaluationMetric_8getAreaUnderCurve(((struct __pyx_obj_9networkit_10_NetworKit_EvaluationMetric *)__pyx_v_self), __pyx_v_curve);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_16EvaluationMetric_8getAreaUnderCurve(struct __pyx_obj_9networkit_10_NetworKit_EvaluationMetric *__pyx_v_self, std::pair<std::vector<double> ,std::vector<double> >  __pyx_v_curve) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  int __pyx_t_3;
  double __pyx_t_4;
  __Pyx_RefNannySetupContext("getAreaUnderCurve", 0);

  /* "networkit/_NetworKit.pyx":10716
 * 		The area under the given curve.
 * 		"""
 * 		if len(curve.first) == 0:             # <<<<<<<<<<<<<<
 * 			return self._this.getAreaUnderCurve()
 * 		return self._this.getAreaUnderCurve(curve)
 */
  __pyx_t_1 = __pyx_convert_vector_to_py_double(__pyx_v_curve.first); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10716, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = ((__pyx_t_2 == 0) != 0);
  if (__pyx_t_3) {

    /* "networkit/_NetworKit.pyx":10717
 * 		"""
 * 		if len(curve.first) == 0:
 * 			return self._this.getAreaUnderCurve()             # <<<<<<<<<<<<<<
 * 		return self._this.getAreaUnderCurve(curve)
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    try {
      __pyx_t_4 = __pyx_v_self->_this->getAreaUnderCurve();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10717, __pyx_L1_error)
    }
    __pyx_t_1 = PyFloat_FromDouble(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10717, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "networkit/_NetworKit.pyx":10716
 * 		The area under the given curve.
 * 		"""
 * 		if len(curve.first) == 0:             # <<<<<<<<<<<<<<
 * 			return self._this.getAreaUnderCurve()
 * 		return self._this.getAreaUnderCurve(curve)
 */
  }

  /* "networkit/_NetworKit.pyx":10718
 * 		if len(curve.first) == 0:
 * 			return self._this.getAreaUnderCurve()
 * 		return self._this.getAreaUnderCurve(curve)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/linkprediction/ROCMetric.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_4 = __pyx_v_self->_this->getAreaUnderCurve(__pyx_v_curve);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10718, __pyx_L1_error)
  }
  __pyx_t_1 = PyFloat_FromDouble(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":10701
 * 		return self._this.getCurve(predictions, numThresholds)
 * 
 * 	def getAreaUnderCurve(self, pair[vector[double], vector[double]] curve = pair[vector[double], vector[double]]()):             # <<<<<<<<<<<<<<
 * 		""" Returns the area under the most recently calculated or optionally the given curve by using the trapezoidal rule.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EvaluationMetric.getAreaUnderCurve", __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_9networkit_10_NetworKit_16EvaluationMetric_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_16EvaluationMetric_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16EvaluationMetric_10__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EvaluationMetric *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_16EvaluationMetric_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EvaluationMetric *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__399, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EvaluationMetric.__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_9networkit_10_NetworKit_16EvaluationMetric_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_16EvaluationMetric_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16EvaluationMetric_12__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EvaluationMetric *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_16EvaluationMetric_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EvaluationMetric *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__400, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EvaluationMetric.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10738
 * 	"""
 * 
 * 	def __cinit__(self, Graph testGraph = None):             # <<<<<<<<<<<<<<
 * 		if testGraph is None:
 * 			self._this = new _ROCMetric()
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_9ROCMetric_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_9ROCMetric_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_testGraph = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testGraph,0};
    PyObject* values[1] = {0};
    values[0] = (PyObject *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testGraph);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 10738, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_testGraph = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10738, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ROCMetric.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_testGraph), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "testGraph", 0))) __PYX_ERR(0, 10738, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9ROCMetric___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_ROCMetric *)__pyx_v_self), __pyx_v_testGraph);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_9ROCMetric___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ROCMetric *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_testGraph) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  NetworKit::ROCMetric *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":10739
 * 
 * 	def __cinit__(self, Graph testGraph = None):
 * 		if testGraph is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _ROCMetric()
 * 		else:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_testGraph) == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":10740
 * 	def __cinit__(self, Graph testGraph = None):
 * 		if testGraph is None:
 * 			self._this = new _ROCMetric()             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._this = new _ROCMetric(testGraph._this)
 */
    try {
      __pyx_t_3 = new NetworKit::ROCMetric();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10740, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;

    /* "networkit/_NetworKit.pyx":10739
 * 
 * 	def __cinit__(self, Graph testGraph = None):
 * 		if testGraph is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _ROCMetric()
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":10742
 * 			self._this = new _ROCMetric()
 * 		else:
 * 			self._this = new _ROCMetric(testGraph._this)             # <<<<<<<<<<<<<<
 * 
 * 	def getCurve(self, vector[pair[pair[node, node], double]] predictions, count numThresholds = 1000):
 */
  /*else*/ {
    try {
      __pyx_t_3 = new NetworKit::ROCMetric(__pyx_v_testGraph->_this);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10742, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":10738
 * 	"""
 * 
 * 	def __cinit__(self, Graph testGraph = None):             # <<<<<<<<<<<<<<
 * 		if testGraph is None:
 * 			self._this = new _ROCMetric()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ROCMetric.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10744
 * 			self._this = new _ROCMetric(testGraph._this)
 * 
 * 	def getCurve(self, vector[pair[pair[node, node], double]] predictions, count numThresholds = 1000):             # <<<<<<<<<<<<<<
 * 		""" Generate the points of the Receiver Operating Characteristic curve regarding the previously set predictions.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9ROCMetric_3getCurve(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_9ROCMetric_2getCurve[] = " Generate the points of the Receiver Operating Characteristic curve regarding the previously set predictions.\n\n\t\tNote that in the case of multiple y-values mapping to the same x-value the highest (=latest) y-value gets picked.\n\n\t\tParameters\n\t\t----------\n\t\tpredictions : vector[pair[pair[node, node], double]]\n\t\t\tPredictions to evaluate.\n\t\tnumThresholds : count, optional\n\t\t\tThe number of thresholds to use the metric on. Defaults to 1000.\n\n\t\tReturns\n\t\t-------\n\t\tA pair of vectors where the first vector contains the false positive rates and the second vector the\n\t\tcorresponding true positive rates.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_9ROCMetric_3getCurve(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_v_predictions;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_numThresholds;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getCurve (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_predictions,&__pyx_n_s_numThresholds,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_predictions)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numThresholds);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getCurve") < 0)) __PYX_ERR(0, 10744, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_predictions = __pyx_convert_vector_from_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___(values[0]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 10744, __pyx_L3_error)
    if (values[1]) {
      __pyx_v_numThresholds = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_numThresholds == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10744, __pyx_L3_error)
    } else {
      __pyx_v_numThresholds = ((__pyx_t_9networkit_10_NetworKit_count)0x3E8);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getCurve", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10744, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ROCMetric.getCurve", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9ROCMetric_2getCurve(((struct __pyx_obj_9networkit_10_NetworKit_ROCMetric *)__pyx_v_self), __pyx_v_predictions, __pyx_v_numThresholds);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_9ROCMetric_2getCurve(struct __pyx_obj_9networkit_10_NetworKit_ROCMetric *__pyx_v_self, std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_v_predictions, __pyx_t_9networkit_10_NetworKit_count __pyx_v_numThresholds) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::pair<std::vector<double> ,std::vector<double> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getCurve", 0);

  /* "networkit/_NetworKit.pyx":10761
 * 		corresponding true positive rates.
 * 		"""
 * 		return self._this.getCurve(predictions, numThresholds)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/linkprediction/PrecisionRecallMetric.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->__pyx_base._this->getCurve(__pyx_v_predictions, __pyx_v_numThresholds);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10761, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_pair_to_py_std_3a__3a_vector_3c_double_3e_______std_3a__3a_vector_3c_double_3e___(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10761, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":10744
 * 			self._this = new _ROCMetric(testGraph._this)
 * 
 * 	def getCurve(self, vector[pair[pair[node, node], double]] predictions, count numThresholds = 1000):             # <<<<<<<<<<<<<<
 * 		""" Generate the points of the Receiver Operating Characteristic curve regarding the previously set predictions.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.ROCMetric.getCurve", __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_9networkit_10_NetworKit_9ROCMetric_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_9ROCMetric_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9ROCMetric_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ROCMetric *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_9ROCMetric_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ROCMetric *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__401, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ROCMetric.__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_9networkit_10_NetworKit_9ROCMetric_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_9ROCMetric_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9ROCMetric_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ROCMetric *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_9ROCMetric_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ROCMetric *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__402, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ROCMetric.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10781
 * 	"""
 * 
 * 	def __cinit__(self, Graph testGraph = None):             # <<<<<<<<<<<<<<
 * 		if testGraph is None:
 * 			self._this = new _PrecisionRecallMetric()
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_21PrecisionRecallMetric_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_21PrecisionRecallMetric_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_testGraph = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testGraph,0};
    PyObject* values[1] = {0};
    values[0] = (PyObject *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testGraph);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 10781, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_testGraph = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10781, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PrecisionRecallMetric.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_testGraph), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "testGraph", 0))) __PYX_ERR(0, 10781, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21PrecisionRecallMetric___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_PrecisionRecallMetric *)__pyx_v_self), __pyx_v_testGraph);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_21PrecisionRecallMetric___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PrecisionRecallMetric *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_testGraph) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  NetworKit::PrecisionRecallMetric *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":10782
 * 
 * 	def __cinit__(self, Graph testGraph = None):
 * 		if testGraph is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _PrecisionRecallMetric()
 * 		else:
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_testGraph) == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":10783
 * 	def __cinit__(self, Graph testGraph = None):
 * 		if testGraph is None:
 * 			self._this = new _PrecisionRecallMetric()             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._this = new _PrecisionRecallMetric(testGraph._this)
 */
    try {
      __pyx_t_3 = new NetworKit::PrecisionRecallMetric();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10783, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;

    /* "networkit/_NetworKit.pyx":10782
 * 
 * 	def __cinit__(self, Graph testGraph = None):
 * 		if testGraph is None:             # <<<<<<<<<<<<<<
 * 			self._this = new _PrecisionRecallMetric()
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":10785
 * 			self._this = new _PrecisionRecallMetric()
 * 		else:
 * 			self._this = new _PrecisionRecallMetric(testGraph._this)             # <<<<<<<<<<<<<<
 * 
 * 	def getCurve(self, vector[pair[pair[node, node], double]] predictions, count numThresholds = 1000):
 */
  /*else*/ {
    try {
      __pyx_t_3 = new NetworKit::PrecisionRecallMetric(__pyx_v_testGraph->_this);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 10785, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":10781
 * 	"""
 * 
 * 	def __cinit__(self, Graph testGraph = None):             # <<<<<<<<<<<<<<
 * 		if testGraph is None:
 * 			self._this = new _PrecisionRecallMetric()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PrecisionRecallMetric.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10787
 * 			self._this = new _PrecisionRecallMetric(testGraph._this)
 * 
 * 	def getCurve(self, vector[pair[pair[node, node], double]] predictions, count numThresholds = 1000):             # <<<<<<<<<<<<<<
 * 		""" Generates the points for the Precision-Recall curve with respect to the given predictions.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_21PrecisionRecallMetric_3getCurve(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_21PrecisionRecallMetric_2getCurve[] = " Generates the points for the Precision-Recall curve with respect to the given predictions.\n\n\t\tThe curve assigns every recall-value a corresponding precision as the y-value.\n\t\tIn case of a tie regarding multiple y-values for a x-value the smallest (= latest) y-value will be used.\n\n\t\tParameters\n\t\t----------\n\t\tpredictions : vector[pair[pair[node, node], double]]\n\t\t\tPredictions to evaluate.\n\t\tnumThresholds : count, optional\n\t\t\tThe number of thresholds to use the metric on. Defaults to 1000.\n\n\t\tReturns\n\t\t-------\n\t\tA pair of vectors where the first vector contains all recall-values and the second vector\n\t\tthe corresponding precision-values.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_21PrecisionRecallMetric_3getCurve(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_v_predictions;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_numThresholds;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getCurve (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_predictions,&__pyx_n_s_numThresholds,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_predictions)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numThresholds);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getCurve") < 0)) __PYX_ERR(0, 10787, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_predictions = __pyx_convert_vector_from_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___(values[0]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 10787, __pyx_L3_error)
    if (values[1]) {
      __pyx_v_numThresholds = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_numThresholds == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10787, __pyx_L3_error)
    } else {
      __pyx_v_numThresholds = ((__pyx_t_9networkit_10_NetworKit_count)0x3E8);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getCurve", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10787, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PrecisionRecallMetric.getCurve", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21PrecisionRecallMetric_2getCurve(((struct __pyx_obj_9networkit_10_NetworKit_PrecisionRecallMetric *)__pyx_v_self), __pyx_v_predictions, __pyx_v_numThresholds);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21PrecisionRecallMetric_2getCurve(struct __pyx_obj_9networkit_10_NetworKit_PrecisionRecallMetric *__pyx_v_self, std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_v_predictions, __pyx_t_9networkit_10_NetworKit_count __pyx_v_numThresholds) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::pair<std::vector<double> ,std::vector<double> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getCurve", 0);

  /* "networkit/_NetworKit.pyx":10805
 * 		the corresponding precision-values.
 * 		"""
 * 		return self._this.getCurve(predictions, numThresholds)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/linkprediction/MissingLinksFinder.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->__pyx_base._this->getCurve(__pyx_v_predictions, __pyx_v_numThresholds);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10805, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_pair_to_py_std_3a__3a_vector_3c_double_3e_______std_3a__3a_vector_3c_double_3e___(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10805, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":10787
 * 			self._this = new _PrecisionRecallMetric(testGraph._this)
 * 
 * 	def getCurve(self, vector[pair[pair[node, node], double]] predictions, count numThresholds = 1000):             # <<<<<<<<<<<<<<
 * 		""" Generates the points for the Precision-Recall curve with respect to the given predictions.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.PrecisionRecallMetric.getCurve", __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_9networkit_10_NetworKit_21PrecisionRecallMetric_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21PrecisionRecallMetric_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21PrecisionRecallMetric_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PrecisionRecallMetric *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21PrecisionRecallMetric_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PrecisionRecallMetric *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__403, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PrecisionRecallMetric.__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_9networkit_10_NetworKit_21PrecisionRecallMetric_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21PrecisionRecallMetric_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21PrecisionRecallMetric_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PrecisionRecallMetric *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21PrecisionRecallMetric_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PrecisionRecallMetric *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__404, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PrecisionRecallMetric.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10829
 * 	cdef _MissingLinksFinder* _this
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._this = new _MissingLinksFinder(G._this)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_18MissingLinksFinder_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_18MissingLinksFinder_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 10829, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10829, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MissingLinksFinder.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 10829, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18MissingLinksFinder___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_MissingLinksFinder *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_18MissingLinksFinder___cinit__(struct __pyx_obj_9networkit_10_NetworKit_MissingLinksFinder *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::MissingLinksFinder *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":10830
 * 
 * 	def __cinit__(self, Graph G):
 * 		self._this = new _MissingLinksFinder(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  try {
    __pyx_t_1 = new NetworKit::MissingLinksFinder(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10830, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":10829
 * 	cdef _MissingLinksFinder* _this
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._this = new _MissingLinksFinder(G._this)
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MissingLinksFinder.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10832
 * 		self._this = new _MissingLinksFinder(G._this)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_18MissingLinksFinder_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_18MissingLinksFinder_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_18MissingLinksFinder_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_MissingLinksFinder *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9networkit_10_NetworKit_18MissingLinksFinder_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_MissingLinksFinder *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":10833
 * 
 * 	def __dealloc__(self):
 * 		del self._this             # <<<<<<<<<<<<<<
 * 
 * 	def findAtDistance(self, count k):
 */
  delete __pyx_v_self->_this;

  /* "networkit/_NetworKit.pyx":10832
 * 		self._this = new _MissingLinksFinder(G._this)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":10835
 * 		del self._this
 * 
 * 	def findAtDistance(self, count k):             # <<<<<<<<<<<<<<
 * 		""" Returns all missing links in the graph that have distance k.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_18MissingLinksFinder_5findAtDistance(PyObject *__pyx_v_self, PyObject *__pyx_arg_k); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_18MissingLinksFinder_4findAtDistance[] = " Returns all missing links in the graph that have distance k.\n\n\t\tNote that a distance of k actually means that there are k different links\n\t\ton the path of the two nodes that are connected through that path.\n\n\t\tParameters\n\t\t----------\n\t\tk : count\n\t\t\tDistance of the absent links.\n\n\t\tReturns\n\t\t-------\n\t\tAn ascendingly sorted vector of node-pairs where there is a missing link of distance k\n\t\tbetween the two nodes.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_18MissingLinksFinder_5findAtDistance(PyObject *__pyx_v_self, PyObject *__pyx_arg_k) {
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_k;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("findAtDistance (wrapper)", 0);
  assert(__pyx_arg_k); {
    __pyx_v_k = __Pyx_PyInt_As_uint64_t(__pyx_arg_k); if (unlikely((__pyx_v_k == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10835, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MissingLinksFinder.findAtDistance", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18MissingLinksFinder_4findAtDistance(((struct __pyx_obj_9networkit_10_NetworKit_MissingLinksFinder *)__pyx_v_self), ((__pyx_t_9networkit_10_NetworKit_count)__pyx_v_k));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_18MissingLinksFinder_4findAtDistance(struct __pyx_obj_9networkit_10_NetworKit_MissingLinksFinder *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_count __pyx_v_k) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("findAtDistance", 0);

  /* "networkit/_NetworKit.pyx":10851
 * 		between the two nodes.
 * 		"""
 * 		return move(self._this.findAtDistance(k))             # <<<<<<<<<<<<<<
 * 
 * 	def findFromNode(self, node u, count k):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this->findAtDistance(__pyx_v_k);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10851, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___(std::move(__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10851, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":10835
 * 		del self._this
 * 
 * 	def findAtDistance(self, count k):             # <<<<<<<<<<<<<<
 * 		""" Returns all missing links in the graph that have distance k.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.MissingLinksFinder.findAtDistance", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10853
 * 		return move(self._this.findAtDistance(k))
 * 
 * 	def findFromNode(self, node u, count k):             # <<<<<<<<<<<<<<
 * 		""" Returns all missing links in the graph that have distance k and are connected to u.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_18MissingLinksFinder_7findFromNode(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_18MissingLinksFinder_6findFromNode[] = " Returns all missing links in the graph that have distance k and are connected to u.\n\n\t\tNote that a distance of k actually means that there are k different links\n\t\ton the path of the two nodes that are connected through that path.\n\n\t\tParameters\n\t\t----------\n\t\tu : node\n\t\t\tNode to find missing links from.\n\t\tk : count\n\t\t\tDistance of the absent links.\n\n\t\tReturns\n\t\t-------\n\t\tA vector of node-pairs where there is a missing link of distance k\n\t\tbetween the given node u and another node in the graph.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_18MissingLinksFinder_7findFromNode(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_k;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("findFromNode (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_k,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("findFromNode", 1, 2, 2, 1); __PYX_ERR(0, 10853, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "findFromNode") < 0)) __PYX_ERR(0, 10853, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10853, __pyx_L3_error)
    __pyx_v_k = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_k == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10853, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("findFromNode", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10853, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MissingLinksFinder.findFromNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18MissingLinksFinder_6findFromNode(((struct __pyx_obj_9networkit_10_NetworKit_MissingLinksFinder *)__pyx_v_self), __pyx_v_u, __pyx_v_k);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_18MissingLinksFinder_6findFromNode(struct __pyx_obj_9networkit_10_NetworKit_MissingLinksFinder *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_count __pyx_v_k) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("findFromNode", 0);

  /* "networkit/_NetworKit.pyx":10871
 * 		between the given node u and another node in the graph.
 * 		"""
 * 		return move(self._this.findFromNode(u, k))             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/linkprediction/NeighborhoodUtility.hpp>" namespace "NetworKit::NeighborhoodUtility":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this->findFromNode(__pyx_v_u, __pyx_v_k);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10871, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___(std::move(__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":10853
 * 		return move(self._this.findAtDistance(k))
 * 
 * 	def findFromNode(self, node u, count k):             # <<<<<<<<<<<<<<
 * 		""" Returns all missing links in the graph that have distance k and are connected to u.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.MissingLinksFinder.findFromNode", __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_9networkit_10_NetworKit_18MissingLinksFinder_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_18MissingLinksFinder_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18MissingLinksFinder_8__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_MissingLinksFinder *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_18MissingLinksFinder_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MissingLinksFinder *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__405, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.MissingLinksFinder.__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_9networkit_10_NetworKit_18MissingLinksFinder_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_18MissingLinksFinder_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18MissingLinksFinder_10__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_MissingLinksFinder *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_18MissingLinksFinder_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MissingLinksFinder *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__406, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.MissingLinksFinder.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10882
 * 
 * 	@staticmethod
 * 	def getNeighborsUnion(Graph G, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the union of the neighboorhoods of u and v.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19NeighborhoodUtility_1getNeighborsUnion(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_19NeighborhoodUtility_getNeighborsUnion[] = " Returns the union of the neighboorhoods of u and v.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tGraph to obtain neighbors-union from.\n\t\tu : node\n\t\t\tFirst node.\n\t\tv : node\n\t\t\tSecond node.\n\n\t\tReturns\n\t\t-------\n\t\tA vector containing all the nodes in the neighboorhood-union of u and v.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_19NeighborhoodUtility_1getNeighborsUnion = {"getNeighborsUnion", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_19NeighborhoodUtility_1getNeighborsUnion, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_19NeighborhoodUtility_getNeighborsUnion};
static PyObject *__pyx_pw_9networkit_10_NetworKit_19NeighborhoodUtility_1getNeighborsUnion(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNeighborsUnion (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("getNeighborsUnion", 1, 3, 3, 1); __PYX_ERR(0, 10882, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("getNeighborsUnion", 1, 3, 3, 2); __PYX_ERR(0, 10882, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getNeighborsUnion") < 0)) __PYX_ERR(0, 10882, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10882, __pyx_L3_error)
    __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[2]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10882, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getNeighborsUnion", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10882, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.NeighborhoodUtility.getNeighborsUnion", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 10882, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19NeighborhoodUtility_getNeighborsUnion(__pyx_v_G, __pyx_v_u, __pyx_v_v);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19NeighborhoodUtility_getNeighborsUnion(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getNeighborsUnion", 0);

  /* "networkit/_NetworKit.pyx":10898
 * 		A vector containing all the nodes in the neighboorhood-union of u and v.
 * 		"""
 * 		return getNeighborsUnion(G._this, u, v)             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = NetworKit::NeighborhoodUtility::getNeighborsUnion(__pyx_v_G->_this, __pyx_v_u, __pyx_v_v);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10898, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10898, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":10882
 * 
 * 	@staticmethod
 * 	def getNeighborsUnion(Graph G, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the union of the neighboorhoods of u and v.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.NeighborhoodUtility.getNeighborsUnion", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10901
 * 
 * 	@staticmethod
 * 	def getCommonNeighbors(Graph G, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns a vector containing the node-ids of all common neighbors of u and v.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19NeighborhoodUtility_3getCommonNeighbors(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_19NeighborhoodUtility_2getCommonNeighbors[] = " Returns a vector containing the node-ids of all common neighbors of u and v.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tGraph to obtain common neighbors from.\n\t\tu : node\n\t\t\tFirst node.\n\t\tv : node\n\t\t\tSecond node.\n\n\t\tReturns\n\t\t-------\n\t\tA vector containing the node-ids of all common neighbors of u and v.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_19NeighborhoodUtility_3getCommonNeighbors = {"getCommonNeighbors", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_19NeighborhoodUtility_3getCommonNeighbors, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_19NeighborhoodUtility_2getCommonNeighbors};
static PyObject *__pyx_pw_9networkit_10_NetworKit_19NeighborhoodUtility_3getCommonNeighbors(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getCommonNeighbors (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("getCommonNeighbors", 1, 3, 3, 1); __PYX_ERR(0, 10901, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("getCommonNeighbors", 1, 3, 3, 2); __PYX_ERR(0, 10901, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getCommonNeighbors") < 0)) __PYX_ERR(0, 10901, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10901, __pyx_L3_error)
    __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[2]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10901, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getCommonNeighbors", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10901, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.NeighborhoodUtility.getCommonNeighbors", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 10901, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19NeighborhoodUtility_2getCommonNeighbors(__pyx_v_G, __pyx_v_u, __pyx_v_v);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19NeighborhoodUtility_2getCommonNeighbors(struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getCommonNeighbors", 0);

  /* "networkit/_NetworKit.pyx":10917
 * 		A vector containing the node-ids of all common neighbors of u and v.
 * 		"""
 * 		return getCommonNeighbors(G._this, u, v)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/linkprediction/LinkThresholder.hpp>" namespace "NetworKit::LinkThresholder":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = NetworKit::NeighborhoodUtility::getCommonNeighbors(__pyx_v_G->_this, __pyx_v_u, __pyx_v_v);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10917, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":10901
 * 
 * 	@staticmethod
 * 	def getCommonNeighbors(Graph G, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns a vector containing the node-ids of all common neighbors of u and v.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.NeighborhoodUtility.getCommonNeighbors", __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_9networkit_10_NetworKit_19NeighborhoodUtility_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19NeighborhoodUtility_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19NeighborhoodUtility_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodUtility *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19NeighborhoodUtility_4__reduce_cython__(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodUtility *__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;
  __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:
 */
  __Pyx_INCREF(__pyx_empty_tuple);
  __pyx_v_state = __pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_2 = (__pyx_v__dict != Py_None);
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (__pyx_t_3) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 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:
 *         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:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_NeighborhoodUtility, (type(self), 0xd41d8cd, None), state
 */
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_NeighborhoodUtility, (type(self), 0xd41d8cd, None), state
 *     else:
 */
  __pyx_t_3 = (__pyx_v_use_setstate != 0);
  if (__pyx_t_3) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_NeighborhoodUtility, (type(self), 0xd41d8cd, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_NeighborhoodUtility, (type(self), 0xd41d8cd, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_NeighborhoodUtili); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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))));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_222419149);
    __Pyx_GIVEREF(__pyx_int_222419149);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state);
    __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_NeighborhoodUtility, (type(self), 0xd41d8cd, None), state
 *     else:
 */
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_NeighborhoodUtility, (type(self), 0xd41d8cd, None), state
 *     else:
 *         return __pyx_unpickle_NeighborhoodUtility, (type(self), 0xd41d8cd, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_NeighborhoodUtility__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle_NeighborhoodUtili); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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))));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_222419149);
    __Pyx_GIVEREF(__pyx_int_222419149);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
    __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("networkit._NetworKit.NeighborhoodUtility.__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_NeighborhoodUtility, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_NeighborhoodUtility__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19NeighborhoodUtility_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19NeighborhoodUtility_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19NeighborhoodUtility_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodUtility *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19NeighborhoodUtility_6__setstate_cython__(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodUtility *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_NeighborhoodUtility, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_NeighborhoodUtility__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
  __pyx_t_1 = __pyx_f_9networkit_10_NetworKit___pyx_unpickle_NeighborhoodUtility__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_NeighborhoodUtility, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_NeighborhoodUtility__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_AddTraceback("networkit._NetworKit.NeighborhoodUtility.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10933
 * 
 * 	@staticmethod
 * 	def byScore(vector[pair[pair[node, node], double]] predictions, double minScore):             # <<<<<<<<<<<<<<
 * 		""" Returns the node-pairs whose scores are at least equal to the given minScore.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15LinkThresholder_1byScore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_15LinkThresholder_byScore[] = " Returns the node-pairs whose scores are at least equal to the given minScore.\n\n\t\tParameters\n\t\t----------\n\t\tpredictions : vector[pair[pair[node, node], double]].\n\t\t\tPredictions to filter.\n\t\tminScore : double\n\t\t\tMinimal score that the returned node-pairs should have.\n\n\t\tReturns\n\t\t-------\n\t\tA vector of node-pairs whose scores are at least equal to the given minScore.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_15LinkThresholder_1byScore = {"byScore", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_15LinkThresholder_1byScore, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_15LinkThresholder_byScore};
static PyObject *__pyx_pw_9networkit_10_NetworKit_15LinkThresholder_1byScore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_v_predictions;
  double __pyx_v_minScore;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("byScore (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_predictions,&__pyx_n_s_minScore,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_predictions)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_minScore)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("byScore", 1, 2, 2, 1); __PYX_ERR(0, 10933, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "byScore") < 0)) __PYX_ERR(0, 10933, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_predictions = __pyx_convert_vector_from_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___(values[0]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 10933, __pyx_L3_error)
    __pyx_v_minScore = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_minScore == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 10933, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("byScore", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10933, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LinkThresholder.byScore", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15LinkThresholder_byScore(__pyx_v_predictions, __pyx_v_minScore);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15LinkThresholder_byScore(std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_v_predictions, double __pyx_v_minScore) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("byScore", 0);

  /* "networkit/_NetworKit.pyx":10947
 * 		A vector of node-pairs whose scores are at least equal to the given minScore.
 * 		"""
 * 		return byScore(predictions, minScore)             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___(NetworKit::LinkThresholder::byScore(__pyx_v_predictions, __pyx_v_minScore)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10947, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":10933
 * 
 * 	@staticmethod
 * 	def byScore(vector[pair[pair[node, node], double]] predictions, double minScore):             # <<<<<<<<<<<<<<
 * 		""" Returns the node-pairs whose scores are at least equal to the given minScore.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LinkThresholder.byScore", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10950
 * 
 * 	@staticmethod
 * 	def byCount(vector[pair[pair[node, node], double]] predictions, count numLinks):             # <<<<<<<<<<<<<<
 * 		""" Returns the first numLinks highest scored node-pairs.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15LinkThresholder_3byCount(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_15LinkThresholder_2byCount[] = " Returns the first numLinks highest scored node-pairs.\n\n\t\tParameters\n\t\t----------\n\t\tpredictions : vector[pair[pair[node, node], double]].\n\t\t\tPredictions to filter.\n\t\tnumLinks : count\n\t\t\tNumber of top-scored node-pairs to return.\n\n\t\tReturns\n\t\t-------\n\t\tThe first numLinks highest scored node-pairs.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_15LinkThresholder_3byCount = {"byCount", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_15LinkThresholder_3byCount, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_15LinkThresholder_2byCount};
static PyObject *__pyx_pw_9networkit_10_NetworKit_15LinkThresholder_3byCount(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_v_predictions;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_numLinks;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("byCount (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_predictions,&__pyx_n_s_numLinks,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_predictions)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numLinks)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("byCount", 1, 2, 2, 1); __PYX_ERR(0, 10950, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "byCount") < 0)) __PYX_ERR(0, 10950, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_predictions = __pyx_convert_vector_from_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___(values[0]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 10950, __pyx_L3_error)
    __pyx_v_numLinks = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_numLinks == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 10950, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("byCount", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10950, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LinkThresholder.byCount", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15LinkThresholder_2byCount(__pyx_v_predictions, __pyx_v_numLinks);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15LinkThresholder_2byCount(std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_v_predictions, __pyx_t_9networkit_10_NetworKit_count __pyx_v_numLinks) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("byCount", 0);

  /* "networkit/_NetworKit.pyx":10964
 * 		The first numLinks highest scored node-pairs.
 * 		"""
 * 		return byCount(predictions, numLinks)             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___(NetworKit::LinkThresholder::byCount(__pyx_v_predictions, __pyx_v_numLinks)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":10950
 * 
 * 	@staticmethod
 * 	def byCount(vector[pair[pair[node, node], double]] predictions, count numLinks):             # <<<<<<<<<<<<<<
 * 		""" Returns the first numLinks highest scored node-pairs.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LinkThresholder.byCount", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10967
 * 
 * 	@staticmethod
 * 	def byPercentage(vector[pair[pair[node, node], double]] predictions, double percentageLinks):             # <<<<<<<<<<<<<<
 * 		""" Returns the first percentageLinks percent of the highest scores node-pairs.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15LinkThresholder_5byPercentage(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_15LinkThresholder_4byPercentage[] = " Returns the first percentageLinks percent of the highest scores node-pairs.\n\n\t\tParameters\n\t\t----------\n\t\tpredictions : vector[pair[pair[node, node], double]].\n\t\t\tPredictions to filter.\n\t\tpercentageLinks : double\n\t\t\tPercentage of highest scored node-pairs to return.\n\n\t\tReturns\n\t\t-------\n\t\tThe first percentageLinks percent of the highest scores node-pairs.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_15LinkThresholder_5byPercentage = {"byPercentage", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_15LinkThresholder_5byPercentage, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_15LinkThresholder_4byPercentage};
static PyObject *__pyx_pw_9networkit_10_NetworKit_15LinkThresholder_5byPercentage(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_v_predictions;
  double __pyx_v_percentageLinks;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("byPercentage (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_predictions,&__pyx_n_s_percentageLinks,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_predictions)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_percentageLinks)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("byPercentage", 1, 2, 2, 1); __PYX_ERR(0, 10967, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "byPercentage") < 0)) __PYX_ERR(0, 10967, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_predictions = __pyx_convert_vector_from_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___(values[0]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 10967, __pyx_L3_error)
    __pyx_v_percentageLinks = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_percentageLinks == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 10967, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("byPercentage", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10967, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LinkThresholder.byPercentage", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15LinkThresholder_4byPercentage(__pyx_v_predictions, __pyx_v_percentageLinks);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15LinkThresholder_4byPercentage(std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_v_predictions, double __pyx_v_percentageLinks) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("byPercentage", 0);

  /* "networkit/_NetworKit.pyx":10981
 * 		The first percentageLinks percent of the highest scores node-pairs.
 * 		"""
 * 		return byPercentage(predictions, percentageLinks)             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/linkprediction/PredictionsSorter.hpp>" namespace "NetworKit::PredictionsSorter":
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___(NetworKit::LinkThresholder::byPercentage(__pyx_v_predictions, __pyx_v_percentageLinks)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":10967
 * 
 * 	@staticmethod
 * 	def byPercentage(vector[pair[pair[node, node], double]] predictions, double percentageLinks):             # <<<<<<<<<<<<<<
 * 		""" Returns the first percentageLinks percent of the highest scores node-pairs.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LinkThresholder.byPercentage", __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_9networkit_10_NetworKit_15LinkThresholder_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15LinkThresholder_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15LinkThresholder_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LinkThresholder *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15LinkThresholder_6__reduce_cython__(struct __pyx_obj_9networkit_10_NetworKit_LinkThresholder *__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;
  __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:
 */
  __Pyx_INCREF(__pyx_empty_tuple);
  __pyx_v_state = __pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_2 = (__pyx_v__dict != Py_None);
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (__pyx_t_3) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 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:
 *         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:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_LinkThresholder, (type(self), 0xd41d8cd, None), state
 */
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_LinkThresholder, (type(self), 0xd41d8cd, None), state
 *     else:
 */
  __pyx_t_3 = (__pyx_v_use_setstate != 0);
  if (__pyx_t_3) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_LinkThresholder, (type(self), 0xd41d8cd, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_LinkThresholder, (type(self), 0xd41d8cd, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_LinkThresholder); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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))));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_222419149);
    __Pyx_GIVEREF(__pyx_int_222419149);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state);
    __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_LinkThresholder, (type(self), 0xd41d8cd, None), state
 *     else:
 */
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_LinkThresholder, (type(self), 0xd41d8cd, None), state
 *     else:
 *         return __pyx_unpickle_LinkThresholder, (type(self), 0xd41d8cd, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_LinkThresholder__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle_LinkThresholder); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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))));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_222419149);
    __Pyx_GIVEREF(__pyx_int_222419149);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
    __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("networkit._NetworKit.LinkThresholder.__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_LinkThresholder, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_LinkThresholder__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15LinkThresholder_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15LinkThresholder_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15LinkThresholder_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LinkThresholder *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15LinkThresholder_8__setstate_cython__(struct __pyx_obj_9networkit_10_NetworKit_LinkThresholder *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_LinkThresholder, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_LinkThresholder__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
  __pyx_t_1 = __pyx_f_9networkit_10_NetworKit___pyx_unpickle_LinkThresholder__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_LinkThresholder, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_LinkThresholder__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_AddTraceback("networkit._NetworKit.LinkThresholder.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":10992
 * 
 * 	@staticmethod
 * 	def sortByScore(list predictions):             # <<<<<<<<<<<<<<
 * 		""" Sorts the given predictions descendingly by score.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_17PredictionsSorter_1sortByScore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_17PredictionsSorter_sortByScore[] = " Sorts the given predictions descendingly by score.\n\n\t\tIn case there is a tie the node-pairs are used as a tie-breaker by sorting them\n\t\tascendingly on the first node and on a tie ascendingly by the second node.\n\n\t\tParameters\n\t\t----------\n\t\tpredictions : vector[pair[pair[node, node], double]]\n\t\t\tThe predictions to sort.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_17PredictionsSorter_1sortByScore = {"sortByScore", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_17PredictionsSorter_1sortByScore, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_17PredictionsSorter_sortByScore};
static PyObject *__pyx_pw_9networkit_10_NetworKit_17PredictionsSorter_1sortByScore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_predictions = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sortByScore (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_predictions,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_predictions)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "sortByScore") < 0)) __PYX_ERR(0, 10992, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_predictions = ((PyObject*)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("sortByScore", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 10992, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PredictionsSorter.sortByScore", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_predictions), (&PyList_Type), 1, "predictions", 1))) __PYX_ERR(0, 10992, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17PredictionsSorter_sortByScore(__pyx_v_predictions);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_17PredictionsSorter_sortByScore(PyObject *__pyx_v_predictions) {
  std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_v_predCopy;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("sortByScore", 0);

  /* "networkit/_NetworKit.pyx":11003
 * 			The predictions to sort.
 * 		"""
 * 		cdef vector[pair[pair[node, node], double]] predCopy = predictions             # <<<<<<<<<<<<<<
 * 		sortByScore(predCopy)
 * 		predictions[:] = predCopy
 */
  __pyx_t_1 = __pyx_convert_vector_from_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___(__pyx_v_predictions); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11003, __pyx_L1_error)
  __pyx_v_predCopy = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":11004
 * 		"""
 * 		cdef vector[pair[pair[node, node], double]] predCopy = predictions
 * 		sortByScore(predCopy)             # <<<<<<<<<<<<<<
 * 		predictions[:] = predCopy
 * 
 */
  try {
    NetworKit::PredictionsSorter::sortByScore(__pyx_v_predCopy);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11004, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":11005
 * 		cdef vector[pair[pair[node, node], double]] predCopy = predictions
 * 		sortByScore(predCopy)
 * 		predictions[:] = predCopy             # <<<<<<<<<<<<<<
 * 
 * 	@staticmethod
 */
  __pyx_t_2 = __pyx_convert_vector_to_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___(__pyx_v_predCopy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11005, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (unlikely(__pyx_v_predictions == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 11005, __pyx_L1_error)
  }
  if (__Pyx_PyObject_SetSlice(__pyx_v_predictions, __pyx_t_2, 0, 0, NULL, NULL, NULL, 0, 0, 1) < 0) __PYX_ERR(0, 11005, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":10992
 * 
 * 	@staticmethod
 * 	def sortByScore(list predictions):             # <<<<<<<<<<<<<<
 * 		""" Sorts the given predictions descendingly by score.
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.PredictionsSorter.sortByScore", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11008
 * 
 * 	@staticmethod
 * 	def sortByNodePair(list predictions):             # <<<<<<<<<<<<<<
 * 		""" Sorts the predictions ascendingly by node-pair.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_17PredictionsSorter_3sortByNodePair(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_17PredictionsSorter_2sortByNodePair[] = " Sorts the predictions ascendingly by node-pair.\n\n\t\tThis means for example (0, 0) < (0, 1) and (1, 1) < (1, 0).\n\n\t\tParameters\n\t\t----------\n\t\tpredictions : vector[pair[pair[node, node], double]]\n\t\t\tThe predictions to sort.\n\t\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_17PredictionsSorter_3sortByNodePair = {"sortByNodePair", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_17PredictionsSorter_3sortByNodePair, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_17PredictionsSorter_2sortByNodePair};
static PyObject *__pyx_pw_9networkit_10_NetworKit_17PredictionsSorter_3sortByNodePair(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_predictions = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sortByNodePair (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_predictions,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_predictions)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "sortByNodePair") < 0)) __PYX_ERR(0, 11008, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_predictions = ((PyObject*)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("sortByNodePair", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11008, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PredictionsSorter.sortByNodePair", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_predictions), (&PyList_Type), 1, "predictions", 1))) __PYX_ERR(0, 11008, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17PredictionsSorter_2sortByNodePair(__pyx_v_predictions);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_17PredictionsSorter_2sortByNodePair(PyObject *__pyx_v_predictions) {
  std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_v_predCopy;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("sortByNodePair", 0);

  /* "networkit/_NetworKit.pyx":11018
 * 			The predictions to sort.
 * 		"""
 * 		cdef vector[pair[pair[node, node], double]] predCopy = predictions             # <<<<<<<<<<<<<<
 * 		sortByNodePair(predCopy)
 * 		predictions[:] = predCopy
 */
  __pyx_t_1 = __pyx_convert_vector_from_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___(__pyx_v_predictions); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11018, __pyx_L1_error)
  __pyx_v_predCopy = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":11019
 * 		"""
 * 		cdef vector[pair[pair[node, node], double]] predCopy = predictions
 * 		sortByNodePair(predCopy)             # <<<<<<<<<<<<<<
 * 		predictions[:] = predCopy
 * 
 */
  try {
    NetworKit::PredictionsSorter::sortByNodePair(__pyx_v_predCopy);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11019, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":11020
 * 		cdef vector[pair[pair[node, node], double]] predCopy = predictions
 * 		sortByNodePair(predCopy)
 * 		predictions[:] = predCopy             # <<<<<<<<<<<<<<
 * 
 * # Module: EdgeScore
 */
  __pyx_t_2 = __pyx_convert_vector_to_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___(__pyx_v_predCopy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11020, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (unlikely(__pyx_v_predictions == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 11020, __pyx_L1_error)
  }
  if (__Pyx_PyObject_SetSlice(__pyx_v_predictions, __pyx_t_2, 0, 0, NULL, NULL, NULL, 0, 0, 1) < 0) __PYX_ERR(0, 11020, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":11008
 * 
 * 	@staticmethod
 * 	def sortByNodePair(list predictions):             # <<<<<<<<<<<<<<
 * 		""" Sorts the predictions ascendingly by node-pair.
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.PredictionsSorter.sortByNodePair", __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_9networkit_10_NetworKit_17PredictionsSorter_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17PredictionsSorter_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17PredictionsSorter_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PredictionsSorter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_17PredictionsSorter_4__reduce_cython__(struct __pyx_obj_9networkit_10_NetworKit_PredictionsSorter *__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;
  __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:
 */
  __Pyx_INCREF(__pyx_empty_tuple);
  __pyx_v_state = __pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_2 = (__pyx_v__dict != Py_None);
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (__pyx_t_3) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 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:
 *         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:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PredictionsSorter, (type(self), 0xd41d8cd, None), state
 */
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PredictionsSorter, (type(self), 0xd41d8cd, None), state
 *     else:
 */
  __pyx_t_3 = (__pyx_v_use_setstate != 0);
  if (__pyx_t_3) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_PredictionsSorter, (type(self), 0xd41d8cd, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PredictionsSorter, (type(self), 0xd41d8cd, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_PredictionsSorter); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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))));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_222419149);
    __Pyx_GIVEREF(__pyx_int_222419149);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state);
    __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_PredictionsSorter, (type(self), 0xd41d8cd, None), state
 *     else:
 */
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PredictionsSorter, (type(self), 0xd41d8cd, None), state
 *     else:
 *         return __pyx_unpickle_PredictionsSorter, (type(self), 0xd41d8cd, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PredictionsSorter__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle_PredictionsSorter); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 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))));
    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_222419149);
    __Pyx_GIVEREF(__pyx_int_222419149);
    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_1);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
    __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("networkit._NetworKit.PredictionsSorter.__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_PredictionsSorter, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PredictionsSorter__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_17PredictionsSorter_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17PredictionsSorter_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17PredictionsSorter_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PredictionsSorter *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_17PredictionsSorter_6__setstate_cython__(struct __pyx_obj_9networkit_10_NetworKit_PredictionsSorter *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PredictionsSorter, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PredictionsSorter__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
  __pyx_t_1 = __pyx_f_9networkit_10_NetworKit___pyx_unpickle_PredictionsSorter__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PredictionsSorter, (type(self), 0xd41d8cd, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PredictionsSorter__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_AddTraceback("networkit._NetworKit.PredictionsSorter.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11038
 * 	cdef Graph _G
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		raise RuntimeError("Implement in subclass")
 * 
 */

static bool __pyx_f_9networkit_10_NetworKit_9EdgeScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *__pyx_v_self) {
  bool __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("isDoubleValue", 0);

  /* "networkit/_NetworKit.pyx":11039
 * 
 * 	cdef bool_t isDoubleValue(self):
 * 		raise RuntimeError("Implement in subclass")             # <<<<<<<<<<<<<<
 * 
 * 	def __init__(self, *args, **namedargs):
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__407, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11039, __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(0, 11039, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":11038
 * 	cdef Graph _G
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		raise RuntimeError("Implement in subclass")
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_WriteUnraisable("networkit._NetworKit.EdgeScore.isDoubleValue", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11041
 * 		raise RuntimeError("Implement in subclass")
 * 
 * 	def __init__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == EdgeScore:
 * 			raise RuntimeError("Error, you may not use EdgeScore directly, use a sub-class instead")
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_9EdgeScore_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_9EdgeScore_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_namedargs = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9EdgeScore___init__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *)__pyx_v_self), __pyx_v_args, __pyx_v_namedargs);

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_namedargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_9EdgeScore___init__(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "networkit/_NetworKit.pyx":11042
 * 
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == EdgeScore:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use EdgeScore directly, use a sub-class instead")
 * 
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), ((PyObject *)__pyx_ptype_9networkit_10_NetworKit_EdgeScore), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11042, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 11042, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(__pyx_t_2)) {

    /* "networkit/_NetworKit.pyx":11043
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == EdgeScore:
 * 			raise RuntimeError("Error, you may not use EdgeScore directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__408, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11043, __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(0, 11043, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":11042
 * 
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == EdgeScore:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use EdgeScore directly, use a sub-class instead")
 * 
 */
  }

  /* "networkit/_NetworKit.pyx":11041
 * 		raise RuntimeError("Implement in subclass")
 * 
 * 	def __init__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == EdgeScore:
 * 			raise RuntimeError("Error, you may not use EdgeScore directly, use a sub-class instead")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeScore.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11045
 * 			raise RuntimeError("Error, you may not use EdgeScore directly, use a sub-class instead")
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		self._G = None # just to be sure the graph is deleted
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_9EdgeScore_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_9EdgeScore_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_9EdgeScore_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9networkit_10_NetworKit_9EdgeScore_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":11046
 * 
 * 	def __dealloc__(self):
 * 		self._G = None # just to be sure the graph is deleted             # <<<<<<<<<<<<<<
 * 
 * 	def score(self, u, v = None):
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None);

  /* "networkit/_NetworKit.pyx":11045
 * 			raise RuntimeError("Error, you may not use EdgeScore directly, use a sub-class instead")
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		self._G = None # just to be sure the graph is deleted
 * 
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":11048
 * 		self._G = None # just to be sure the graph is deleted
 * 
 * 	def score(self, u, v = None):             # <<<<<<<<<<<<<<
 * 		if v is None:
 * 			if self.isDoubleValue():
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9EdgeScore_5score(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_9EdgeScore_5score(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_u = 0;
  PyObject *__pyx_v_v = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("score (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "score") < 0)) __PYX_ERR(0, 11048, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_u = values[0];
    __pyx_v_v = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("score", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11048, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EdgeScore.score", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9EdgeScore_4score(((struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_9EdgeScore_4score(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  __pyx_t_9networkit_10_NetworKit_edgeid __pyx_t_3;
  double __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_6;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_7;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_8;
  __Pyx_RefNannySetupContext("score", 0);

  /* "networkit/_NetworKit.pyx":11049
 * 
 * 	def score(self, u, v = None):
 * 		if v is None:             # <<<<<<<<<<<<<<
 * 			if self.isDoubleValue():
 * 				return (<_EdgeScore[double]*>(self._this)).score(u)
 */
  __pyx_t_1 = (__pyx_v_v == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "networkit/_NetworKit.pyx":11050
 * 	def score(self, u, v = None):
 * 		if v is None:
 * 			if self.isDoubleValue():             # <<<<<<<<<<<<<<
 * 				return (<_EdgeScore[double]*>(self._this)).score(u)
 * 			else:
 */
    __pyx_t_2 = (((struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore *)__pyx_v_self->__pyx_vtab)->isDoubleValue(__pyx_v_self) != 0);
    if (__pyx_t_2) {

      /* "networkit/_NetworKit.pyx":11051
 * 		if v is None:
 * 			if self.isDoubleValue():
 * 				return (<_EdgeScore[double]*>(self._this)).score(u)             # <<<<<<<<<<<<<<
 * 			else:
 * 				return (<_EdgeScore[count]*>(self._this)).score(u)
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_3 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11051, __pyx_L1_error)
      try {
        __pyx_t_4 = ((NetworKit::EdgeScore<double>  *)__pyx_v_self->__pyx_base._this)->score(__pyx_t_3);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(0, 11051, __pyx_L1_error)
      }
      __pyx_t_5 = PyFloat_FromDouble(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11051, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_r = __pyx_t_5;
      __pyx_t_5 = 0;
      goto __pyx_L0;

      /* "networkit/_NetworKit.pyx":11050
 * 	def score(self, u, v = None):
 * 		if v is None:
 * 			if self.isDoubleValue():             # <<<<<<<<<<<<<<
 * 				return (<_EdgeScore[double]*>(self._this)).score(u)
 * 			else:
 */
    }

    /* "networkit/_NetworKit.pyx":11053
 * 				return (<_EdgeScore[double]*>(self._this)).score(u)
 * 			else:
 * 				return (<_EdgeScore[count]*>(self._this)).score(u)             # <<<<<<<<<<<<<<
 * 		else:
 * 			if self.isDoubleValue():
 */
    /*else*/ {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_3 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11053, __pyx_L1_error)
      try {
        __pyx_t_6 = ((NetworKit::EdgeScore<__pyx_t_9networkit_10_NetworKit_count>  *)__pyx_v_self->__pyx_base._this)->score(__pyx_t_3);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(0, 11053, __pyx_L1_error)
      }
      __pyx_t_5 = __Pyx_PyInt_From_uint64_t(__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11053, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_r = __pyx_t_5;
      __pyx_t_5 = 0;
      goto __pyx_L0;
    }

    /* "networkit/_NetworKit.pyx":11049
 * 
 * 	def score(self, u, v = None):
 * 		if v is None:             # <<<<<<<<<<<<<<
 * 			if self.isDoubleValue():
 * 				return (<_EdgeScore[double]*>(self._this)).score(u)
 */
  }

  /* "networkit/_NetworKit.pyx":11055
 * 				return (<_EdgeScore[count]*>(self._this)).score(u)
 * 		else:
 * 			if self.isDoubleValue():             # <<<<<<<<<<<<<<
 * 				return (<_EdgeScore[double]*>(self._this)).score(u, v)
 * 			else:
 */
  /*else*/ {
    __pyx_t_2 = (((struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore *)__pyx_v_self->__pyx_vtab)->isDoubleValue(__pyx_v_self) != 0);
    if (__pyx_t_2) {

      /* "networkit/_NetworKit.pyx":11056
 * 		else:
 * 			if self.isDoubleValue():
 * 				return (<_EdgeScore[double]*>(self._this)).score(u, v)             # <<<<<<<<<<<<<<
 * 			else:
 * 				return (<_EdgeScore[count]*>(self._this)).score(u, v)
 */
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_7 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_7 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11056, __pyx_L1_error)
      __pyx_t_8 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_8 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11056, __pyx_L1_error)
      try {
        __pyx_t_4 = ((NetworKit::EdgeScore<double>  *)__pyx_v_self->__pyx_base._this)->score(__pyx_t_7, __pyx_t_8);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(0, 11056, __pyx_L1_error)
      }
      __pyx_t_5 = PyFloat_FromDouble(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11056, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_r = __pyx_t_5;
      __pyx_t_5 = 0;
      goto __pyx_L0;

      /* "networkit/_NetworKit.pyx":11055
 * 				return (<_EdgeScore[count]*>(self._this)).score(u)
 * 		else:
 * 			if self.isDoubleValue():             # <<<<<<<<<<<<<<
 * 				return (<_EdgeScore[double]*>(self._this)).score(u, v)
 * 			else:
 */
    }

    /* "networkit/_NetworKit.pyx":11058
 * 				return (<_EdgeScore[double]*>(self._this)).score(u, v)
 * 			else:
 * 				return (<_EdgeScore[count]*>(self._this)).score(u, v)             # <<<<<<<<<<<<<<
 * 
 * 	def scores(self):
 */
    /*else*/ {
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_8 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_8 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11058, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_7 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11058, __pyx_L1_error)
      try {
        __pyx_t_6 = ((NetworKit::EdgeScore<__pyx_t_9networkit_10_NetworKit_count>  *)__pyx_v_self->__pyx_base._this)->score(__pyx_t_8, __pyx_t_7);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(0, 11058, __pyx_L1_error)
      }
      __pyx_t_5 = __Pyx_PyInt_From_uint64_t(__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11058, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_r = __pyx_t_5;
      __pyx_t_5 = 0;
      goto __pyx_L0;
    }
  }

  /* "networkit/_NetworKit.pyx":11048
 * 		self._G = None # just to be sure the graph is deleted
 * 
 * 	def score(self, u, v = None):             # <<<<<<<<<<<<<<
 * 		if v is None:
 * 			if self.isDoubleValue():
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeScore.score", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11060
 * 				return (<_EdgeScore[count]*>(self._this)).score(u, v)
 * 
 * 	def scores(self):             # <<<<<<<<<<<<<<
 * 		if self.isDoubleValue():
 * 			return (<_EdgeScore[double]*>(self._this)).scores()
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9EdgeScore_7scores(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_9EdgeScore_7scores(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("scores (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9EdgeScore_6scores(((struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_9EdgeScore_6scores(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  std::vector<double>  __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_t_4;
  __Pyx_RefNannySetupContext("scores", 0);

  /* "networkit/_NetworKit.pyx":11061
 * 
 * 	def scores(self):
 * 		if self.isDoubleValue():             # <<<<<<<<<<<<<<
 * 			return (<_EdgeScore[double]*>(self._this)).scores()
 * 		else:
 */
  __pyx_t_1 = (((struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore *)__pyx_v_self->__pyx_vtab)->isDoubleValue(__pyx_v_self) != 0);
  if (__pyx_t_1) {

    /* "networkit/_NetworKit.pyx":11062
 * 	def scores(self):
 * 		if self.isDoubleValue():
 * 			return (<_EdgeScore[double]*>(self._this)).scores()             # <<<<<<<<<<<<<<
 * 		else:
 * 			return (<_EdgeScore[count]*>(self._this)).scores()
 */
    __Pyx_XDECREF(__pyx_r);
    try {
      __pyx_t_2 = ((NetworKit::EdgeScore<double>  *)__pyx_v_self->__pyx_base._this)->scores();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 11062, __pyx_L1_error)
    }
    __pyx_t_3 = __pyx_convert_vector_to_py_double(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11062, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "networkit/_NetworKit.pyx":11061
 * 
 * 	def scores(self):
 * 		if self.isDoubleValue():             # <<<<<<<<<<<<<<
 * 			return (<_EdgeScore[double]*>(self._this)).scores()
 * 		else:
 */
  }

  /* "networkit/_NetworKit.pyx":11064
 * 			return (<_EdgeScore[double]*>(self._this)).scores()
 * 		else:
 * 			return (<_EdgeScore[count]*>(self._this)).scores()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    try {
      __pyx_t_4 = ((NetworKit::EdgeScore<__pyx_t_9networkit_10_NetworKit_count>  *)__pyx_v_self->__pyx_base._this)->scores();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 11064, __pyx_L1_error)
    }
    __pyx_t_3 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_count(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11064, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;
  }

  /* "networkit/_NetworKit.pyx":11060
 * 				return (<_EdgeScore[count]*>(self._this)).score(u, v)
 * 
 * 	def scores(self):             # <<<<<<<<<<<<<<
 * 		if self.isDoubleValue():
 * 			return (<_EdgeScore[double]*>(self._this)).scores()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeScore.scores", __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_9networkit_10_NetworKit_9EdgeScore_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_9EdgeScore_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9EdgeScore_8__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_9EdgeScore_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__409, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeScore.__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_9networkit_10_NetworKit_9EdgeScore_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_9EdgeScore_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9EdgeScore_10__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_9EdgeScore_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__410, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeScore.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11082
 * 	"""
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		G : networkit.Graph
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_31ChibaNishizekiTriangleEdgeScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_31ChibaNishizekiTriangleEdgeScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11082, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11082, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ChibaNishizekiTriangleEdgeScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 11082, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_31ChibaNishizekiTriangleEdgeScore___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_31ChibaNishizekiTriangleEdgeScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::ChibaNishizekiTriangleEdgeScore *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11087
 * 			The graph to count triangles on.
 * 		"""
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _ChibaNishizekiTriangleEdgeScore(G._this)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":11088
 * 		"""
 * 		self._G = G
 * 		self._this = new _ChibaNishizekiTriangleEdgeScore(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	cdef bool_t isDoubleValue(self):
 */
  try {
    __pyx_t_1 = new NetworKit::ChibaNishizekiTriangleEdgeScore(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11088, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":11082
 * 	"""
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		G : networkit.Graph
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ChibaNishizekiTriangleEdgeScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11090
 * 		self._this = new _ChibaNishizekiTriangleEdgeScore(G._this)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return False
 * 
 */

static bool __pyx_f_9networkit_10_NetworKit_31ChibaNishizekiTriangleEdgeScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore *__pyx_v_self) {
  bool __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isDoubleValue", 0);

  /* "networkit/_NetworKit.pyx":11091
 * 
 * 	cdef bool_t isDoubleValue(self):
 * 		return False             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/edgescores/ChibaNishizekiQuadrangleEdgeScore.hpp>":
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11090
 * 		self._this = new _ChibaNishizekiTriangleEdgeScore(G._this)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return False
 * 
 */

  /* function exit code */
  __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_9networkit_10_NetworKit_31ChibaNishizekiTriangleEdgeScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_31ChibaNishizekiTriangleEdgeScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_31ChibaNishizekiTriangleEdgeScore_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_31ChibaNishizekiTriangleEdgeScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__411, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ChibaNishizekiTriangleEdgeScore.__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_9networkit_10_NetworKit_31ChibaNishizekiTriangleEdgeScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_31ChibaNishizekiTriangleEdgeScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_31ChibaNishizekiTriangleEdgeScore_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_31ChibaNishizekiTriangleEdgeScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__412, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ChibaNishizekiTriangleEdgeScore.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11108
 * 	"""
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Parameters
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_33ChibaNishizekiQuadrangleEdgeScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_33ChibaNishizekiQuadrangleEdgeScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11108, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11108, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ChibaNishizekiQuadrangleEdgeScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 11108, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_33ChibaNishizekiQuadrangleEdgeScore___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_33ChibaNishizekiQuadrangleEdgeScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::ChibaNishizekiQuadrangleEdgeScore *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11115
 * 			The graph to count quadrangles on.
 * 		"""
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _ChibaNishizekiQuadrangleEdgeScore(G._this)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":11116
 * 		"""
 * 		self._G = G
 * 		self._this = new _ChibaNishizekiQuadrangleEdgeScore(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	cdef bool_t isDoubleValue(self):
 */
  try {
    __pyx_t_1 = new NetworKit::ChibaNishizekiQuadrangleEdgeScore(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11116, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":11108
 * 	"""
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Parameters
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ChibaNishizekiQuadrangleEdgeScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11118
 * 		self._this = new _ChibaNishizekiQuadrangleEdgeScore(G._this)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return False
 * 
 */

static bool __pyx_f_9networkit_10_NetworKit_33ChibaNishizekiQuadrangleEdgeScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore *__pyx_v_self) {
  bool __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isDoubleValue", 0);

  /* "networkit/_NetworKit.pyx":11119
 * 
 * 	cdef bool_t isDoubleValue(self):
 * 		return False             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/edgescores/TriangleEdgeScore.hpp>":
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11118
 * 		self._this = new _ChibaNishizekiQuadrangleEdgeScore(G._this)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return False
 * 
 */

  /* function exit code */
  __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_9networkit_10_NetworKit_33ChibaNishizekiQuadrangleEdgeScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_33ChibaNishizekiQuadrangleEdgeScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_33ChibaNishizekiQuadrangleEdgeScore_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_33ChibaNishizekiQuadrangleEdgeScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__413, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ChibaNishizekiQuadrangleEdgeScore.__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_9networkit_10_NetworKit_33ChibaNishizekiQuadrangleEdgeScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_33ChibaNishizekiQuadrangleEdgeScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_33ChibaNishizekiQuadrangleEdgeScore_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_33ChibaNishizekiQuadrangleEdgeScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__414, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ChibaNishizekiQuadrangleEdgeScore.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11136
 * 	"""
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Parameters
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_17TriangleEdgeScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_17TriangleEdgeScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11136, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11136, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.TriangleEdgeScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 11136, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17TriangleEdgeScore___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_TriangleEdgeScore *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_17TriangleEdgeScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_TriangleEdgeScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::TriangleEdgeScore *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11143
 * 			The graph to count triangles on.
 * 		"""
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _TriangleEdgeScore(G._this)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":11144
 * 		"""
 * 		self._G = G
 * 		self._this = new _TriangleEdgeScore(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	cdef bool_t isDoubleValue(self):
 */
  try {
    __pyx_t_1 = new NetworKit::TriangleEdgeScore(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11144, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":11136
 * 	"""
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Parameters
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.TriangleEdgeScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11146
 * 		self._this = new _TriangleEdgeScore(G._this)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return False
 * 
 */

static bool __pyx_f_9networkit_10_NetworKit_17TriangleEdgeScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_TriangleEdgeScore *__pyx_v_self) {
  bool __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isDoubleValue", 0);

  /* "networkit/_NetworKit.pyx":11147
 * 
 * 	cdef bool_t isDoubleValue(self):
 * 		return False             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/edgescores/EdgeScoreLinearizer.hpp>":
 */
  __pyx_r = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11146
 * 		self._this = new _TriangleEdgeScore(G._this)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return False
 * 
 */

  /* function exit code */
  __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_9networkit_10_NetworKit_17TriangleEdgeScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17TriangleEdgeScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17TriangleEdgeScore_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_TriangleEdgeScore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_17TriangleEdgeScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_TriangleEdgeScore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__415, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.TriangleEdgeScore.__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_9networkit_10_NetworKit_17TriangleEdgeScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17TriangleEdgeScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17TriangleEdgeScore_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_TriangleEdgeScore *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_17TriangleEdgeScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_TriangleEdgeScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__416, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.TriangleEdgeScore.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11167
 * 	cdef vector[double] _score
 * 
 * 	def __cinit__(self, Graph G, vector[double] score, inverse = False):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._score = score
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_19EdgeScoreLinearizer_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_19EdgeScoreLinearizer_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  std::vector<double>  __pyx_v_score;
  PyObject *__pyx_v_inverse = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_score,&__pyx_n_s_inverse,0};
    PyObject* values[3] = {0,0,0};
    values[2] = ((PyObject *)Py_False);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_score)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, 1); __PYX_ERR(0, 11167, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_inverse);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11167, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_score = __pyx_convert_vector_from_py_double(values[1]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11167, __pyx_L3_error)
    __pyx_v_inverse = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11167, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EdgeScoreLinearizer.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 11167, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19EdgeScoreLinearizer___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreLinearizer *)__pyx_v_self), __pyx_v_G, __pyx_v_score, __pyx_v_inverse);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_19EdgeScoreLinearizer___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreLinearizer *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<double>  __pyx_v_score, PyObject *__pyx_v_inverse) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  NetworKit::EdgeScoreLinearizer *__pyx_t_2;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11168
 * 
 * 	def __cinit__(self, Graph G, vector[double] score, inverse = False):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._score = score
 * 		self._this = new _EdgeScoreLinearizer(G._this, self._score, inverse)
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":11169
 * 	def __cinit__(self, Graph G, vector[double] score, inverse = False):
 * 		self._G = G
 * 		self._score = score             # <<<<<<<<<<<<<<
 * 		self._this = new _EdgeScoreLinearizer(G._this, self._score, inverse)
 * 
 */
  __pyx_v_self->_score = __pyx_v_score;

  /* "networkit/_NetworKit.pyx":11170
 * 		self._G = G
 * 		self._score = score
 * 		self._this = new _EdgeScoreLinearizer(G._this, self._score, inverse)             # <<<<<<<<<<<<<<
 * 
 * 	cdef bool_t isDoubleValue(self):
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_inverse); if (unlikely((__pyx_t_1 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11170, __pyx_L1_error)
  try {
    __pyx_t_2 = new NetworKit::EdgeScoreLinearizer(__pyx_v_G->_this, __pyx_v_self->_score, __pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11170, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_2;

  /* "networkit/_NetworKit.pyx":11167
 * 	cdef vector[double] _score
 * 
 * 	def __cinit__(self, Graph G, vector[double] score, inverse = False):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._score = score
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EdgeScoreLinearizer.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11172
 * 		self._this = new _EdgeScoreLinearizer(G._this, self._score, inverse)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

static bool __pyx_f_9networkit_10_NetworKit_19EdgeScoreLinearizer_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreLinearizer *__pyx_v_self) {
  bool __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isDoubleValue", 0);

  /* "networkit/_NetworKit.pyx":11173
 * 
 * 	cdef bool_t isDoubleValue(self):
 * 		return True             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = 1;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11172
 * 		self._this = new _EdgeScoreLinearizer(G._this, self._score, inverse)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

  /* function exit code */
  __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_9networkit_10_NetworKit_19EdgeScoreLinearizer_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19EdgeScoreLinearizer_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19EdgeScoreLinearizer_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreLinearizer *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19EdgeScoreLinearizer_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreLinearizer *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__417, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeScoreLinearizer.__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_9networkit_10_NetworKit_19EdgeScoreLinearizer_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19EdgeScoreLinearizer_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19EdgeScoreLinearizer_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreLinearizer *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19EdgeScoreLinearizer_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreLinearizer *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__418, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeScoreLinearizer.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11201
 * 	cdef vector[count] _inScoreCount
 * 
 * 	def __cinit__(self, Graph G not None, score, bool_t inverse = False, double lower = 0.0, double upper = 1.0):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		try:
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_19EdgeScoreNormalizer_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_19EdgeScoreNormalizer_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_score = 0;
  bool __pyx_v_inverse;
  double __pyx_v_lower;
  double __pyx_v_upper;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_score,&__pyx_n_s_inverse,&__pyx_n_s_lower,&__pyx_n_s_upper,0};
    PyObject* values[5] = {0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_score)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 5, 1); __PYX_ERR(0, 11201, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_inverse);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lower);
          if (value) { values[3] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_upper);
          if (value) { values[4] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11201, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_score = values[1];
    if (values[2]) {
      __pyx_v_inverse = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_inverse == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11201, __pyx_L3_error)
    } else {
      __pyx_v_inverse = ((bool)0);
    }
    if (values[3]) {
      __pyx_v_lower = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_lower == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 11201, __pyx_L3_error)
    } else {
      __pyx_v_lower = ((double)0.0);
    }
    if (values[4]) {
      __pyx_v_upper = __pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_upper == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 11201, __pyx_L3_error)
    } else {
      __pyx_v_upper = ((double)1.0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11201, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EdgeScoreNormalizer.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 11201, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19EdgeScoreNormalizer___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreNormalizer *)__pyx_v_self), __pyx_v_G, __pyx_v_score, __pyx_v_inverse, __pyx_v_lower, __pyx_v_upper);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_19EdgeScoreNormalizer___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreNormalizer *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_score, bool __pyx_v_inverse, double __pyx_v_lower, double __pyx_v_upper) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  std::vector<double>  __pyx_t_4;
  NetworKit::EdgeScoreNormalizer<double>  *__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;
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_t_13;
  NetworKit::EdgeScoreNormalizer<__pyx_t_9networkit_10_NetworKit_count>  *__pyx_t_14;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11202
 * 
 * 	def __cinit__(self, Graph G not None, score, bool_t inverse = False, double lower = 0.0, double upper = 1.0):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		try:
 * 			self._inScoreDouble = <vector[double]?>score
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":11203
 * 	def __cinit__(self, Graph G not None, score, bool_t inverse = False, double lower = 0.0, double upper = 1.0):
 * 		self._G = G
 * 		try:             # <<<<<<<<<<<<<<
 * 			self._inScoreDouble = <vector[double]?>score
 * 			self._this = new _EdgeScoreNormalizer[double](G._this, self._inScoreDouble, inverse, lower, upper)
 */
  {
    __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:*/ {

      /* "networkit/_NetworKit.pyx":11204
 * 		self._G = G
 * 		try:
 * 			self._inScoreDouble = <vector[double]?>score             # <<<<<<<<<<<<<<
 * 			self._this = new _EdgeScoreNormalizer[double](G._this, self._inScoreDouble, inverse, lower, upper)
 * 		except TypeError:
 */
      __pyx_t_4 = __pyx_convert_vector_from_py_double(__pyx_v_score); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11204, __pyx_L3_error)
      __pyx_v_self->_inScoreDouble = ((std::vector<double> )__pyx_t_4);

      /* "networkit/_NetworKit.pyx":11205
 * 		try:
 * 			self._inScoreDouble = <vector[double]?>score
 * 			self._this = new _EdgeScoreNormalizer[double](G._this, self._inScoreDouble, inverse, lower, upper)             # <<<<<<<<<<<<<<
 * 		except TypeError:
 * 			try:
 */
      try {
        __pyx_t_5 = new NetworKit::EdgeScoreNormalizer<double> (__pyx_v_G->_this, __pyx_v_self->_inScoreDouble, __pyx_v_inverse, __pyx_v_lower, __pyx_v_upper);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(0, 11205, __pyx_L3_error)
      }
      __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_5;

      /* "networkit/_NetworKit.pyx":11203
 * 	def __cinit__(self, Graph G not None, score, bool_t inverse = False, double lower = 0.0, double upper = 1.0):
 * 		self._G = G
 * 		try:             # <<<<<<<<<<<<<<
 * 			self._inScoreDouble = <vector[double]?>score
 * 			self._this = new _EdgeScoreNormalizer[double](G._this, self._inScoreDouble, inverse, lower, upper)
 */
    }
    __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:;

    /* "networkit/_NetworKit.pyx":11206
 * 			self._inScoreDouble = <vector[double]?>score
 * 			self._this = new _EdgeScoreNormalizer[double](G._this, self._inScoreDouble, inverse, lower, upper)
 * 		except TypeError:             # <<<<<<<<<<<<<<
 * 			try:
 * 				self._inScoreCount = <vector[count]?>score
 */
    __pyx_t_6 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_TypeError);
    if (__pyx_t_6) {
      __Pyx_AddTraceback("networkit._NetworKit.EdgeScoreNormalizer.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0) __PYX_ERR(0, 11206, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_GOTREF(__pyx_t_9);

      /* "networkit/_NetworKit.pyx":11207
 * 			self._this = new _EdgeScoreNormalizer[double](G._this, self._inScoreDouble, inverse, lower, upper)
 * 		except TypeError:
 * 			try:             # <<<<<<<<<<<<<<
 * 				self._inScoreCount = <vector[count]?>score
 * 				self._this = new _EdgeScoreNormalizer[count](G._this, self._inScoreCount, inverse, lower, upper)
 */
      {
        __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:*/ {

          /* "networkit/_NetworKit.pyx":11208
 * 		except TypeError:
 * 			try:
 * 				self._inScoreCount = <vector[count]?>score             # <<<<<<<<<<<<<<
 * 				self._this = new _EdgeScoreNormalizer[count](G._this, self._inScoreCount, inverse, lower, upper)
 * 			except TypeError:
 */
          __pyx_t_13 = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_count(__pyx_v_score); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11208, __pyx_L11_error)
          __pyx_v_self->_inScoreCount = ((std::vector<__pyx_t_9networkit_10_NetworKit_count> )__pyx_t_13);

          /* "networkit/_NetworKit.pyx":11209
 * 			try:
 * 				self._inScoreCount = <vector[count]?>score
 * 				self._this = new _EdgeScoreNormalizer[count](G._this, self._inScoreCount, inverse, lower, upper)             # <<<<<<<<<<<<<<
 * 			except TypeError:
 * 				raise TypeError("score must be either a vector of integer or float")
 */
          try {
            __pyx_t_14 = new NetworKit::EdgeScoreNormalizer<__pyx_t_9networkit_10_NetworKit_count> (__pyx_v_G->_this, ((std::vector<__pyx_t_9networkit_10_NetworKit_count>  &)__pyx_v_self->_inScoreCount), __pyx_v_inverse, __pyx_v_lower, __pyx_v_upper);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 11209, __pyx_L11_error)
          }
          __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_14;

          /* "networkit/_NetworKit.pyx":11207
 * 			self._this = new _EdgeScoreNormalizer[double](G._this, self._inScoreDouble, inverse, lower, upper)
 * 		except TypeError:
 * 			try:             # <<<<<<<<<<<<<<
 * 				self._inScoreCount = <vector[count]?>score
 * 				self._this = new _EdgeScoreNormalizer[count](G._this, self._inScoreCount, inverse, lower, upper)
 */
        }
        __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_L18_try_end;
        __pyx_L11_error:;

        /* "networkit/_NetworKit.pyx":11210
 * 				self._inScoreCount = <vector[count]?>score
 * 				self._this = new _EdgeScoreNormalizer[count](G._this, self._inScoreCount, inverse, lower, upper)
 * 			except TypeError:             # <<<<<<<<<<<<<<
 * 				raise TypeError("score must be either a vector of integer or float")
 * 
 */
        __pyx_t_6 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_TypeError);
        if (__pyx_t_6) {
          __Pyx_AddTraceback("networkit._NetworKit.EdgeScoreNormalizer.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
          if (__Pyx_GetException(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17) < 0) __PYX_ERR(0, 11210, __pyx_L13_except_error)
          __Pyx_GOTREF(__pyx_t_15);
          __Pyx_GOTREF(__pyx_t_16);
          __Pyx_GOTREF(__pyx_t_17);

          /* "networkit/_NetworKit.pyx":11211
 * 				self._this = new _EdgeScoreNormalizer[count](G._this, self._inScoreCount, inverse, lower, upper)
 * 			except TypeError:
 * 				raise TypeError("score must be either a vector of integer or float")             # <<<<<<<<<<<<<<
 * 
 * 	cdef bool_t isDoubleValue(self):
 */
          __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__419, NULL); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 11211, __pyx_L13_except_error)
          __Pyx_GOTREF(__pyx_t_18);
          __Pyx_Raise(__pyx_t_18, 0, 0, 0);
          __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
          __PYX_ERR(0, 11211, __pyx_L13_except_error)
        }
        goto __pyx_L13_except_error;
        __pyx_L13_except_error:;

        /* "networkit/_NetworKit.pyx":11207
 * 			self._this = new _EdgeScoreNormalizer[double](G._this, self._inScoreDouble, inverse, lower, upper)
 * 		except TypeError:
 * 			try:             # <<<<<<<<<<<<<<
 * 				self._inScoreCount = <vector[count]?>score
 * 				self._this = new _EdgeScoreNormalizer[count](G._this, self._inScoreCount, inverse, lower, upper)
 */
        __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_L5_except_error;
        __pyx_L18_try_end:;
      }
      __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;
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "networkit/_NetworKit.pyx":11203
 * 	def __cinit__(self, Graph G not None, score, bool_t inverse = False, double lower = 0.0, double upper = 1.0):
 * 		self._G = G
 * 		try:             # <<<<<<<<<<<<<<
 * 			self._inScoreDouble = <vector[double]?>score
 * 			self._this = new _EdgeScoreNormalizer[double](G._this, self._inScoreDouble, inverse, lower, upper)
 */
    __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_L4_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_L8_try_end:;
  }

  /* "networkit/_NetworKit.pyx":11201
 * 	cdef vector[count] _inScoreCount
 * 
 * 	def __cinit__(self, Graph G not None, score, bool_t inverse = False, double lower = 0.0, double upper = 1.0):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		try:
 */

  /* function exit code */
  __pyx_r = 0;
  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_15);
  __Pyx_XDECREF(__pyx_t_16);
  __Pyx_XDECREF(__pyx_t_17);
  __Pyx_XDECREF(__pyx_t_18);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeScoreNormalizer.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11213
 * 				raise TypeError("score must be either a vector of integer or float")
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

static bool __pyx_f_9networkit_10_NetworKit_19EdgeScoreNormalizer_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreNormalizer *__pyx_v_self) {
  bool __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isDoubleValue", 0);

  /* "networkit/_NetworKit.pyx":11214
 * 
 * 	cdef bool_t isDoubleValue(self):
 * 		return True             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/edgescores/EdgeScoreBlender.hpp>":
 */
  __pyx_r = 1;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11213
 * 				raise TypeError("score must be either a vector of integer or float")
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

  /* function exit code */
  __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_9networkit_10_NetworKit_19EdgeScoreNormalizer_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19EdgeScoreNormalizer_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19EdgeScoreNormalizer_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreNormalizer *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19EdgeScoreNormalizer_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreNormalizer *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__420, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeScoreNormalizer.__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_9networkit_10_NetworKit_19EdgeScoreNormalizer_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19EdgeScoreNormalizer_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19EdgeScoreNormalizer_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreNormalizer *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19EdgeScoreNormalizer_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreNormalizer *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__421, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeScoreNormalizer.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11240
 * 	cdef vector[bool_t] _selection
 * 
 * 	def __cinit__(self, Graph G not None, vector[double] attribute0, vector[double] attribute1, vector[bool_t] selection):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._attribute0 = move(attribute0)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_16EdgeScoreBlender_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_16EdgeScoreBlender_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  std::vector<double>  __pyx_v_attribute0;
  std::vector<double>  __pyx_v_attribute1;
  std::vector<bool>  __pyx_v_selection;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_attribute0,&__pyx_n_s_attribute1,&__pyx_n_s_selection,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_attribute0)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 4, 4, 1); __PYX_ERR(0, 11240, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_attribute1)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 4, 4, 2); __PYX_ERR(0, 11240, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_selection)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 4, 4, 3); __PYX_ERR(0, 11240, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11240, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_attribute0 = __pyx_convert_vector_from_py_double(values[1]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11240, __pyx_L3_error)
    __pyx_v_attribute1 = __pyx_convert_vector_from_py_double(values[2]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11240, __pyx_L3_error)
    __pyx_v_selection = __pyx_convert_vector_from_py_bool(values[3]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11240, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11240, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EdgeScoreBlender.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 11240, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16EdgeScoreBlender___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreBlender *)__pyx_v_self), __pyx_v_G, __pyx_v_attribute0, __pyx_v_attribute1, __pyx_v_selection);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_16EdgeScoreBlender___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreBlender *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<double>  __pyx_v_attribute0, std::vector<double>  __pyx_v_attribute1, std::vector<bool>  __pyx_v_selection) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::EdgeScoreBlender *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11241
 * 
 * 	def __cinit__(self, Graph G not None, vector[double] attribute0, vector[double] attribute1, vector[bool_t] selection):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._attribute0 = move(attribute0)
 * 		self._attribute1 = move(attribute1)
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":11242
 * 	def __cinit__(self, Graph G not None, vector[double] attribute0, vector[double] attribute1, vector[bool_t] selection):
 * 		self._G = G
 * 		self._attribute0 = move(attribute0)             # <<<<<<<<<<<<<<
 * 		self._attribute1 = move(attribute1)
 * 		self._selection = move(selection)
 */
  __pyx_v_self->_attribute0 = std::move(__pyx_v_attribute0);

  /* "networkit/_NetworKit.pyx":11243
 * 		self._G = G
 * 		self._attribute0 = move(attribute0)
 * 		self._attribute1 = move(attribute1)             # <<<<<<<<<<<<<<
 * 		self._selection = move(selection)
 * 
 */
  __pyx_v_self->_attribute1 = std::move(__pyx_v_attribute1);

  /* "networkit/_NetworKit.pyx":11244
 * 		self._attribute0 = move(attribute0)
 * 		self._attribute1 = move(attribute1)
 * 		self._selection = move(selection)             # <<<<<<<<<<<<<<
 * 
 * 		self._this = new _EdgeScoreBlender(G._this, self._attribute0, self._attribute1, self._selection)
 */
  __pyx_v_self->_selection = std::move(__pyx_v_selection);

  /* "networkit/_NetworKit.pyx":11246
 * 		self._selection = move(selection)
 * 
 * 		self._this = new _EdgeScoreBlender(G._this, self._attribute0, self._attribute1, self._selection)             # <<<<<<<<<<<<<<
 * 
 * 	cdef bool_t isDoubleValue(self):
 */
  try {
    __pyx_t_1 = new NetworKit::EdgeScoreBlender(__pyx_v_G->_this, __pyx_v_self->_attribute0, __pyx_v_self->_attribute1, __pyx_v_self->_selection);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11246, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":11240
 * 	cdef vector[bool_t] _selection
 * 
 * 	def __cinit__(self, Graph G not None, vector[double] attribute0, vector[double] attribute1, vector[bool_t] selection):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._attribute0 = move(attribute0)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EdgeScoreBlender.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11248
 * 		self._this = new _EdgeScoreBlender(G._this, self._attribute0, self._attribute1, self._selection)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

static bool __pyx_f_9networkit_10_NetworKit_16EdgeScoreBlender_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreBlender *__pyx_v_self) {
  bool __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isDoubleValue", 0);

  /* "networkit/_NetworKit.pyx":11249
 * 
 * 	cdef bool_t isDoubleValue(self):
 * 		return True             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/edgescores/GeometricMeanScore.hpp>":
 */
  __pyx_r = 1;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11248
 * 		self._this = new _EdgeScoreBlender(G._this, self._attribute0, self._attribute1, self._selection)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

  /* function exit code */
  __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_9networkit_10_NetworKit_16EdgeScoreBlender_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_16EdgeScoreBlender_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16EdgeScoreBlender_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreBlender *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_16EdgeScoreBlender_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreBlender *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__422, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeScoreBlender.__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_9networkit_10_NetworKit_16EdgeScoreBlender_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_16EdgeScoreBlender_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16EdgeScoreBlender_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreBlender *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_16EdgeScoreBlender_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreBlender *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__423, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeScoreBlender.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11269
 * 	cdef vector[double] _attribute
 * 
 * 	def __cinit__(self, Graph G, vector[double] attribute):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._attribute = attribute
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_18GeometricMeanScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_18GeometricMeanScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  std::vector<double>  __pyx_v_attribute;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_attribute,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_attribute)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); __PYX_ERR(0, 11269, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11269, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_attribute = __pyx_convert_vector_from_py_double(values[1]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11269, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11269, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GeometricMeanScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 11269, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18GeometricMeanScore___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_GeometricMeanScore *)__pyx_v_self), __pyx_v_G, __pyx_v_attribute);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_18GeometricMeanScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_GeometricMeanScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<double>  __pyx_v_attribute) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::GeometricMeanScore *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11270
 * 
 * 	def __cinit__(self, Graph G, vector[double] attribute):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._attribute = attribute
 * 		self._this = new _GeometricMeanScore(G._this, self._attribute)
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":11271
 * 	def __cinit__(self, Graph G, vector[double] attribute):
 * 		self._G = G
 * 		self._attribute = attribute             # <<<<<<<<<<<<<<
 * 		self._this = new _GeometricMeanScore(G._this, self._attribute)
 * 
 */
  __pyx_v_self->_attribute = __pyx_v_attribute;

  /* "networkit/_NetworKit.pyx":11272
 * 		self._G = G
 * 		self._attribute = attribute
 * 		self._this = new _GeometricMeanScore(G._this, self._attribute)             # <<<<<<<<<<<<<<
 * 
 * 	cdef bool_t isDoubleValue(self):
 */
  try {
    __pyx_t_1 = new NetworKit::GeometricMeanScore(__pyx_v_G->_this, __pyx_v_self->_attribute);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11272, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":11269
 * 	cdef vector[double] _attribute
 * 
 * 	def __cinit__(self, Graph G, vector[double] attribute):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._attribute = attribute
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GeometricMeanScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11274
 * 		self._this = new _GeometricMeanScore(G._this, self._attribute)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

static bool __pyx_f_9networkit_10_NetworKit_18GeometricMeanScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GeometricMeanScore *__pyx_v_self) {
  bool __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isDoubleValue", 0);

  /* "networkit/_NetworKit.pyx":11275
 * 
 * 	cdef bool_t isDoubleValue(self):
 * 		return True             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/edgescores/EdgeScoreAsWeight.hpp>":
 */
  __pyx_r = 1;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11274
 * 		self._this = new _GeometricMeanScore(G._this, self._attribute)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

  /* function exit code */
  __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_9networkit_10_NetworKit_18GeometricMeanScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_18GeometricMeanScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18GeometricMeanScore_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GeometricMeanScore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_18GeometricMeanScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GeometricMeanScore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__424, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GeometricMeanScore.__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_9networkit_10_NetworKit_18GeometricMeanScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_18GeometricMeanScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18GeometricMeanScore_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GeometricMeanScore *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_18GeometricMeanScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GeometricMeanScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__425, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GeometricMeanScore.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11305
 * 	cdef vector[double] _score
 * 
 * 	def __cinit__(self, Graph G, vector[double] score, bool_t squared, edgeweight offset, edgeweight factor):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._score = score
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_17EdgeScoreAsWeight_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_17EdgeScoreAsWeight_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  std::vector<double>  __pyx_v_score;
  bool __pyx_v_squared;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_v_offset;
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_v_factor;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_score,&__pyx_n_s_squared,&__pyx_n_s_offset,&__pyx_n_s_factor,0};
    PyObject* values[5] = {0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_score)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 5, 5, 1); __PYX_ERR(0, 11305, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_squared)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 5, 5, 2); __PYX_ERR(0, 11305, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_offset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 5, 5, 3); __PYX_ERR(0, 11305, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_factor)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 5, 5, 4); __PYX_ERR(0, 11305, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11305, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 5) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_score = __pyx_convert_vector_from_py_double(values[1]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11305, __pyx_L3_error)
    __pyx_v_squared = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_squared == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11305, __pyx_L3_error)
    __pyx_v_offset = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_offset == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 11305, __pyx_L3_error)
    __pyx_v_factor = __pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_factor == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 11305, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11305, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EdgeScoreAsWeight.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 11305, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17EdgeScoreAsWeight___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreAsWeight *)__pyx_v_self), __pyx_v_G, __pyx_v_score, __pyx_v_squared, __pyx_v_offset, __pyx_v_factor);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_17EdgeScoreAsWeight___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreAsWeight *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<double>  __pyx_v_score, bool __pyx_v_squared, __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_v_offset, __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_v_factor) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::EdgeScoreAsWeight *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11306
 * 
 * 	def __cinit__(self, Graph G, vector[double] score, bool_t squared, edgeweight offset, edgeweight factor):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._score = score
 * 		self._this = new _EdgeScoreAsWeight(G._this, self._score, squared, offset, factor)
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":11307
 * 	def __cinit__(self, Graph G, vector[double] score, bool_t squared, edgeweight offset, edgeweight factor):
 * 		self._G = G
 * 		self._score = score             # <<<<<<<<<<<<<<
 * 		self._this = new _EdgeScoreAsWeight(G._this, self._score, squared, offset, factor)
 * 
 */
  __pyx_v_self->_score = __pyx_v_score;

  /* "networkit/_NetworKit.pyx":11308
 * 		self._G = G
 * 		self._score = score
 * 		self._this = new _EdgeScoreAsWeight(G._this, self._score, squared, offset, factor)             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  try {
    __pyx_t_1 = new NetworKit::EdgeScoreAsWeight(__pyx_v_G->_this, __pyx_v_self->_score, __pyx_v_squared, __pyx_v_offset, __pyx_v_factor);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11308, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":11305
 * 	cdef vector[double] _score
 * 
 * 	def __cinit__(self, Graph G, vector[double] score, bool_t squared, edgeweight offset, edgeweight factor):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._score = score
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EdgeScoreAsWeight.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11310
 * 		self._this = new _EdgeScoreAsWeight(G._this, self._score, squared, offset, factor)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		if self._this is not NULL:
 * 			del self._this
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_17EdgeScoreAsWeight_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_17EdgeScoreAsWeight_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_17EdgeScoreAsWeight_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreAsWeight *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9networkit_10_NetworKit_17EdgeScoreAsWeight_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreAsWeight *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":11311
 * 
 * 	def __dealloc__(self):
 * 		if self._this is not NULL:             # <<<<<<<<<<<<<<
 * 			del self._this
 * 			self._this = NULL
 */
  __pyx_t_1 = ((__pyx_v_self->_this != NULL) != 0);
  if (__pyx_t_1) {

    /* "networkit/_NetworKit.pyx":11312
 * 	def __dealloc__(self):
 * 		if self._this is not NULL:
 * 			del self._this             # <<<<<<<<<<<<<<
 * 			self._this = NULL
 * 
 */
    delete __pyx_v_self->_this;

    /* "networkit/_NetworKit.pyx":11313
 * 		if self._this is not NULL:
 * 			del self._this
 * 			self._this = NULL             # <<<<<<<<<<<<<<
 * 
 * 	def getWeightedGraph(self):
 */
    __pyx_v_self->_this = NULL;

    /* "networkit/_NetworKit.pyx":11311
 * 
 * 	def __dealloc__(self):
 * 		if self._this is not NULL:             # <<<<<<<<<<<<<<
 * 			del self._this
 * 			self._this = NULL
 */
  }

  /* "networkit/_NetworKit.pyx":11310
 * 		self._this = new _EdgeScoreAsWeight(G._this, self._score, squared, offset, factor)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		if self._this is not NULL:
 * 			del self._this
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":11315
 * 			self._this = NULL
 * 
 * 	def getWeightedGraph(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_17EdgeScoreAsWeight_5getWeightedGraph(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_17EdgeScoreAsWeight_4getWeightedGraph[] = "\n\t\tReturns\n\t\t-------\n\t\tnetworkit.Graph\n\t\t\tThe weighted result graph.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_17EdgeScoreAsWeight_5getWeightedGraph(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getWeightedGraph (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17EdgeScoreAsWeight_4getWeightedGraph(((struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreAsWeight *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_17EdgeScoreAsWeight_4getWeightedGraph(struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreAsWeight *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Graph __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("getWeightedGraph", 0);

  /* "networkit/_NetworKit.pyx":11322
 * 			The weighted result graph.
 * 		"""
 * 		return Graph(0).setThis(self._this.calculate())             # <<<<<<<<<<<<<<
 * 
 * # Module: distances
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph), __pyx_tuple__79, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11322, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = __pyx_v_self->_this->calculate();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11322, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11322, __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;

  /* "networkit/_NetworKit.pyx":11315
 * 			self._this = NULL
 * 
 * 	def getWeightedGraph(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeScoreAsWeight.getWeightedGraph", __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_9networkit_10_NetworKit_17EdgeScoreAsWeight_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17EdgeScoreAsWeight_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17EdgeScoreAsWeight_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreAsWeight *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_17EdgeScoreAsWeight_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreAsWeight *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__426, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeScoreAsWeight.__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_9networkit_10_NetworKit_17EdgeScoreAsWeight_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17EdgeScoreAsWeight_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17EdgeScoreAsWeight_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreAsWeight *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_17EdgeScoreAsWeight_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreAsWeight *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__427, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EdgeScoreAsWeight.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11345
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _AdamicAdarDistance(G._this)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_18AdamicAdarDistance_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_18AdamicAdarDistance_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11345, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11345, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.AdamicAdarDistance.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 11345, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18AdamicAdarDistance___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_18AdamicAdarDistance___cinit__(struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::AdamicAdarDistance *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11346
 * 
 * 	def __cinit__(self, Graph G):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _AdamicAdarDistance(G._this)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":11347
 * 	def __cinit__(self, Graph G):
 * 		self._G = G
 * 		self._this = new _AdamicAdarDistance(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  try {
    __pyx_t_1 = new NetworKit::AdamicAdarDistance(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11347, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":11345
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _AdamicAdarDistance(G._this)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.AdamicAdarDistance.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11349
 * 		self._this = new _AdamicAdarDistance(G._this)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_18AdamicAdarDistance_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_18AdamicAdarDistance_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_18AdamicAdarDistance_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9networkit_10_NetworKit_18AdamicAdarDistance_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":11350
 * 
 * 	def __dealloc__(self):
 * 		del self._this             # <<<<<<<<<<<<<<
 * 
 * 	def preprocess(self):
 */
  delete __pyx_v_self->_this;

  /* "networkit/_NetworKit.pyx":11349
 * 		self._this = new _AdamicAdarDistance(G._this)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":11352
 * 		del self._this
 * 
 * 	def preprocess(self):             # <<<<<<<<<<<<<<
 * 		self._this.preprocess()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_18AdamicAdarDistance_5preprocess(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_18AdamicAdarDistance_5preprocess(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("preprocess (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18AdamicAdarDistance_4preprocess(((struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_18AdamicAdarDistance_4preprocess(struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("preprocess", 0);

  /* "networkit/_NetworKit.pyx":11353
 * 
 * 	def preprocess(self):
 * 		self._this.preprocess()             # <<<<<<<<<<<<<<
 * 
 * 	def getAttribute(self):
 */
  try {
    __pyx_v_self->_this->preprocess();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11353, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":11352
 * 		del self._this
 * 
 * 	def preprocess(self):             # <<<<<<<<<<<<<<
 * 		self._this.preprocess()
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.AdamicAdarDistance.preprocess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11355
 * 		self._this.preprocess()
 * 
 * 	def getAttribute(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_18AdamicAdarDistance_7getAttribute(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_18AdamicAdarDistance_6getAttribute[] = "\n\t\tReturns\n\t\t-------\n\t\tvector[double]\n\t\t\tThe edge attribute that contains the adamic adar similarity.\n\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_18AdamicAdarDistance_7getAttribute(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getAttribute (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18AdamicAdarDistance_6getAttribute(((struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_18AdamicAdarDistance_6getAttribute(struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<double>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getAttribute", 0);

  /* "networkit/_NetworKit.pyx":11364
 * 		"""
 * 		#### TODO: convert distance to similarity!?! ####
 * 		return self._this.getEdgeScores()             # <<<<<<<<<<<<<<
 * 
 * 	def distance(self, node u, node v):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this->getEdgeScores();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11364, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_double(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11355
 * 		self._this.preprocess()
 * 
 * 	def getAttribute(self):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.AdamicAdarDistance.getAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11366
 * 		return self._this.getEdgeScores()
 * 
 * 	def distance(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		return self._this.distance(u, v)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_18AdamicAdarDistance_9distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_18AdamicAdarDistance_9distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("distance (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("distance", 1, 2, 2, 1); __PYX_ERR(0, 11366, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "distance") < 0)) __PYX_ERR(0, 11366, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11366, __pyx_L3_error)
    __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11366, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("distance", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11366, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.AdamicAdarDistance.distance", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18AdamicAdarDistance_8distance(((struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_18AdamicAdarDistance_8distance(struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("distance", 0);

  /* "networkit/_NetworKit.pyx":11367
 * 
 * 	def distance(self, node u, node v):
 * 		return self._this.distance(u, v)             # <<<<<<<<<<<<<<
 * 
 * # Module: sparsification
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this->distance(__pyx_v_u, __pyx_v_v);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11367, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11366
 * 		return self._this.getEdgeScores()
 * 
 * 	def distance(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		return self._this.distance(u, v)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.AdamicAdarDistance.distance", __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_9networkit_10_NetworKit_18AdamicAdarDistance_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_18AdamicAdarDistance_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18AdamicAdarDistance_10__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_18AdamicAdarDistance_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__428, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.AdamicAdarDistance.__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_9networkit_10_NetworKit_18AdamicAdarDistance_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_18AdamicAdarDistance_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18AdamicAdarDistance_12__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_18AdamicAdarDistance_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__429, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.AdamicAdarDistance.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11391
 * 		Previously calculated edge triangle counts on G.
 * 	"""
 * 	def __cinit__(self, Graph G, vector[count] triangles, count maxRank):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._triangles = triangles
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_21SimmelianOverlapScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_21SimmelianOverlapScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_triangles;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_maxRank;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_triangles,&__pyx_n_s_maxRank,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_triangles)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 1); __PYX_ERR(0, 11391, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_maxRank)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 2); __PYX_ERR(0, 11391, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11391, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_triangles = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_count(values[1]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11391, __pyx_L3_error)
    __pyx_v_maxRank = __Pyx_PyInt_As_uint64_t(values[2]); if (unlikely((__pyx_v_maxRank == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11391, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11391, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.SimmelianOverlapScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 11391, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21SimmelianOverlapScore___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_SimmelianOverlapScore *)__pyx_v_self), __pyx_v_G, __pyx_v_triangles, __pyx_v_maxRank);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_21SimmelianOverlapScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_SimmelianOverlapScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_triangles, __pyx_t_9networkit_10_NetworKit_count __pyx_v_maxRank) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::SimmelianOverlapScore *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11392
 * 	"""
 * 	def __cinit__(self, Graph G, vector[count] triangles, count maxRank):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._triangles = triangles
 * 		self._this = new _SimmelianOverlapScore(G._this, self._triangles, maxRank)
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":11393
 * 	def __cinit__(self, Graph G, vector[count] triangles, count maxRank):
 * 		self._G = G
 * 		self._triangles = triangles             # <<<<<<<<<<<<<<
 * 		self._this = new _SimmelianOverlapScore(G._this, self._triangles, maxRank)
 * 
 */
  __pyx_v_self->_triangles = __pyx_v_triangles;

  /* "networkit/_NetworKit.pyx":11394
 * 		self._G = G
 * 		self._triangles = triangles
 * 		self._this = new _SimmelianOverlapScore(G._this, self._triangles, maxRank)             # <<<<<<<<<<<<<<
 * 
 * 	cdef bool_t isDoubleValue(self):
 */
  try {
    __pyx_t_1 = new NetworKit::SimmelianOverlapScore(__pyx_v_G->_this, __pyx_v_self->_triangles, __pyx_v_maxRank);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11394, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":11391
 * 		Previously calculated edge triangle counts on G.
 * 	"""
 * 	def __cinit__(self, Graph G, vector[count] triangles, count maxRank):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._triangles = triangles
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.SimmelianOverlapScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11396
 * 		self._this = new _SimmelianOverlapScore(G._this, self._triangles, maxRank)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

static bool __pyx_f_9networkit_10_NetworKit_21SimmelianOverlapScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SimmelianOverlapScore *__pyx_v_self) {
  bool __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isDoubleValue", 0);

  /* "networkit/_NetworKit.pyx":11397
 * 
 * 	cdef bool_t isDoubleValue(self):
 * 		return True             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/edgescores/PrefixJaccardScore.hpp>":
 */
  __pyx_r = 1;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11396
 * 		self._this = new _SimmelianOverlapScore(G._this, self._triangles, maxRank)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

  /* function exit code */
  __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_9networkit_10_NetworKit_21SimmelianOverlapScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21SimmelianOverlapScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21SimmelianOverlapScore_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_SimmelianOverlapScore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21SimmelianOverlapScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SimmelianOverlapScore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__430, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.SimmelianOverlapScore.__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_9networkit_10_NetworKit_21SimmelianOverlapScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21SimmelianOverlapScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21SimmelianOverlapScore_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_SimmelianOverlapScore *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21SimmelianOverlapScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SimmelianOverlapScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__431, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.SimmelianOverlapScore.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11407
 * 	cdef vector[double] _attribute
 * 
 * 	def __cinit__(self, Graph G, vector[double] attribute):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._attribute = attribute
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_18PrefixJaccardScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_18PrefixJaccardScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  std::vector<double>  __pyx_v_attribute;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_attribute,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_attribute)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); __PYX_ERR(0, 11407, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11407, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_attribute = __pyx_convert_vector_from_py_double(values[1]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11407, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11407, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PrefixJaccardScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 11407, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18PrefixJaccardScore___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_PrefixJaccardScore *)__pyx_v_self), __pyx_v_G, __pyx_v_attribute);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_18PrefixJaccardScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PrefixJaccardScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<double>  __pyx_v_attribute) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::PrefixJaccardScore<double> *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11408
 * 
 * 	def __cinit__(self, Graph G, vector[double] attribute):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._attribute = attribute
 * 		self._this = new _PrefixJaccardScore(G._this, self._attribute)
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":11409
 * 	def __cinit__(self, Graph G, vector[double] attribute):
 * 		self._G = G
 * 		self._attribute = attribute             # <<<<<<<<<<<<<<
 * 		self._this = new _PrefixJaccardScore(G._this, self._attribute)
 * 
 */
  __pyx_v_self->_attribute = __pyx_v_attribute;

  /* "networkit/_NetworKit.pyx":11410
 * 		self._G = G
 * 		self._attribute = attribute
 * 		self._this = new _PrefixJaccardScore(G._this, self._attribute)             # <<<<<<<<<<<<<<
 * 
 * 	cdef bool_t isDoubleValue(self):
 */
  try {
    __pyx_t_1 = new NetworKit::PrefixJaccardScore<double>(__pyx_v_G->_this, __pyx_v_self->_attribute);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11410, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":11407
 * 	cdef vector[double] _attribute
 * 
 * 	def __cinit__(self, Graph G, vector[double] attribute):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._attribute = attribute
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PrefixJaccardScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11412
 * 		self._this = new _PrefixJaccardScore(G._this, self._attribute)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

static bool __pyx_f_9networkit_10_NetworKit_18PrefixJaccardScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PrefixJaccardScore *__pyx_v_self) {
  bool __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isDoubleValue", 0);

  /* "networkit/_NetworKit.pyx":11413
 * 
 * 	cdef bool_t isDoubleValue(self):
 * 		return True             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/sparsification/MultiscaleScore.hpp>":
 */
  __pyx_r = 1;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11412
 * 		self._this = new _PrefixJaccardScore(G._this, self._attribute)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

  /* function exit code */
  __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_9networkit_10_NetworKit_18PrefixJaccardScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_18PrefixJaccardScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18PrefixJaccardScore_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PrefixJaccardScore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_18PrefixJaccardScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PrefixJaccardScore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__432, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PrefixJaccardScore.__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_9networkit_10_NetworKit_18PrefixJaccardScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_18PrefixJaccardScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18PrefixJaccardScore_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PrefixJaccardScore *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_18PrefixJaccardScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PrefixJaccardScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__433, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PrefixJaccardScore.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11435
 * 	cdef vector[double] _attribute
 * 
 * 	def __cinit__(self, Graph G, vector[double] attribute):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._attribute = attribute
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_15MultiscaleScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_15MultiscaleScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  std::vector<double>  __pyx_v_attribute;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_attribute,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_attribute)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); __PYX_ERR(0, 11435, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11435, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_attribute = __pyx_convert_vector_from_py_double(values[1]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11435, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11435, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MultiscaleScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 11435, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15MultiscaleScore___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_MultiscaleScore *)__pyx_v_self), __pyx_v_G, __pyx_v_attribute);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_15MultiscaleScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_MultiscaleScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<double>  __pyx_v_attribute) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::MultiscaleScore *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11436
 * 
 * 	def __cinit__(self, Graph G, vector[double] attribute):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._attribute = attribute
 * 		self._this = new _MultiscaleScore(G._this, self._attribute)
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":11437
 * 	def __cinit__(self, Graph G, vector[double] attribute):
 * 		self._G = G
 * 		self._attribute = attribute             # <<<<<<<<<<<<<<
 * 		self._this = new _MultiscaleScore(G._this, self._attribute)
 * 
 */
  __pyx_v_self->_attribute = __pyx_v_attribute;

  /* "networkit/_NetworKit.pyx":11438
 * 		self._G = G
 * 		self._attribute = attribute
 * 		self._this = new _MultiscaleScore(G._this, self._attribute)             # <<<<<<<<<<<<<<
 * 
 * 	cdef bool_t isDoubleValue(self):
 */
  try {
    __pyx_t_1 = new NetworKit::MultiscaleScore(__pyx_v_G->_this, __pyx_v_self->_attribute);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11438, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":11435
 * 	cdef vector[double] _attribute
 * 
 * 	def __cinit__(self, Graph G, vector[double] attribute):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._attribute = attribute
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MultiscaleScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11440
 * 		self._this = new _MultiscaleScore(G._this, self._attribute)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

static bool __pyx_f_9networkit_10_NetworKit_15MultiscaleScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MultiscaleScore *__pyx_v_self) {
  bool __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isDoubleValue", 0);

  /* "networkit/_NetworKit.pyx":11441
 * 
 * 	cdef bool_t isDoubleValue(self):
 * 		return True             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/sparsification/RandomEdgeScore.hpp>":
 */
  __pyx_r = 1;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11440
 * 		self._this = new _MultiscaleScore(G._this, self._attribute)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

  /* function exit code */
  __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_9networkit_10_NetworKit_15MultiscaleScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15MultiscaleScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15MultiscaleScore_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_MultiscaleScore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15MultiscaleScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MultiscaleScore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__434, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.MultiscaleScore.__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_9networkit_10_NetworKit_15MultiscaleScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15MultiscaleScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15MultiscaleScore_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_MultiscaleScore *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15MultiscaleScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MultiscaleScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__435, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.MultiscaleScore.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11458
 * 	"""
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _RandomEdgeScore(G._this)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_15RandomEdgeScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_15RandomEdgeScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11458, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11458, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.RandomEdgeScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 11458, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15RandomEdgeScore___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_RandomEdgeScore *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_15RandomEdgeScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_RandomEdgeScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::RandomEdgeScore *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11459
 * 
 * 	def __cinit__(self, Graph G):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _RandomEdgeScore(G._this)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":11460
 * 	def __cinit__(self, Graph G):
 * 		self._G = G
 * 		self._this = new _RandomEdgeScore(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	cdef bool_t isDoubleValue(self):
 */
  try {
    __pyx_t_1 = new NetworKit::RandomEdgeScore(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11460, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":11458
 * 	"""
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _RandomEdgeScore(G._this)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.RandomEdgeScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11462
 * 		self._this = new _RandomEdgeScore(G._this)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

static bool __pyx_f_9networkit_10_NetworKit_15RandomEdgeScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_RandomEdgeScore *__pyx_v_self) {
  bool __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isDoubleValue", 0);

  /* "networkit/_NetworKit.pyx":11463
 * 
 * 	cdef bool_t isDoubleValue(self):
 * 		return True             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/sparsification/LocalSimilarityScore.hpp>":
 */
  __pyx_r = 1;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11462
 * 		self._this = new _RandomEdgeScore(G._this)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

  /* function exit code */
  __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_9networkit_10_NetworKit_15RandomEdgeScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15RandomEdgeScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15RandomEdgeScore_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_RandomEdgeScore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15RandomEdgeScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_RandomEdgeScore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__436, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.RandomEdgeScore.__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_9networkit_10_NetworKit_15RandomEdgeScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15RandomEdgeScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15RandomEdgeScore_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_RandomEdgeScore *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15RandomEdgeScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_RandomEdgeScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__437, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.RandomEdgeScore.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11485
 * 	cdef vector[count] _triangles
 * 
 * 	def __cinit__(self, Graph G, vector[count] triangles):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._triangles = triangles
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_20LocalSimilarityScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_20LocalSimilarityScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_triangles;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_triangles,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_triangles)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); __PYX_ERR(0, 11485, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11485, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_triangles = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_count(values[1]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11485, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11485, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LocalSimilarityScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 11485, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20LocalSimilarityScore___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_LocalSimilarityScore *)__pyx_v_self), __pyx_v_G, __pyx_v_triangles);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_20LocalSimilarityScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_LocalSimilarityScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_triangles) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::LocalSimilarityScore *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11486
 * 
 * 	def __cinit__(self, Graph G, vector[count] triangles):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._triangles = triangles
 * 		self._this = new _LocalSimilarityScore(G._this, self._triangles)
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":11487
 * 	def __cinit__(self, Graph G, vector[count] triangles):
 * 		self._G = G
 * 		self._triangles = triangles             # <<<<<<<<<<<<<<
 * 		self._this = new _LocalSimilarityScore(G._this, self._triangles)
 * 
 */
  __pyx_v_self->_triangles = __pyx_v_triangles;

  /* "networkit/_NetworKit.pyx":11488
 * 		self._G = G
 * 		self._triangles = triangles
 * 		self._this = new _LocalSimilarityScore(G._this, self._triangles)             # <<<<<<<<<<<<<<
 * 
 * 	cdef bool_t isDoubleValue(self):
 */
  try {
    __pyx_t_1 = new NetworKit::LocalSimilarityScore(__pyx_v_G->_this, __pyx_v_self->_triangles);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11488, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":11485
 * 	cdef vector[count] _triangles
 * 
 * 	def __cinit__(self, Graph G, vector[count] triangles):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._triangles = triangles
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LocalSimilarityScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11490
 * 		self._this = new _LocalSimilarityScore(G._this, self._triangles)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

static bool __pyx_f_9networkit_10_NetworKit_20LocalSimilarityScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalSimilarityScore *__pyx_v_self) {
  bool __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isDoubleValue", 0);

  /* "networkit/_NetworKit.pyx":11491
 * 
 * 	cdef bool_t isDoubleValue(self):
 * 		return True             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/sparsification/ForestFireScore.hpp>":
 */
  __pyx_r = 1;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11490
 * 		self._this = new _LocalSimilarityScore(G._this, self._triangles)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

  /* function exit code */
  __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_9networkit_10_NetworKit_20LocalSimilarityScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20LocalSimilarityScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20LocalSimilarityScore_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LocalSimilarityScore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20LocalSimilarityScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalSimilarityScore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__438, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LocalSimilarityScore.__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_9networkit_10_NetworKit_20LocalSimilarityScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20LocalSimilarityScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20LocalSimilarityScore_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LocalSimilarityScore *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20LocalSimilarityScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalSimilarityScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__439, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LocalSimilarityScore.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11514
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, double pf, double tebr):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _ForestFireScore(G._this, pf, tebr)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_15ForestFireScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_15ForestFireScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  double __pyx_v_pf;
  double __pyx_v_tebr;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_pf,&__pyx_n_s_tebr,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pf)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 1); __PYX_ERR(0, 11514, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tebr)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 2); __PYX_ERR(0, 11514, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11514, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_pf = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_pf == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 11514, __pyx_L3_error)
    __pyx_v_tebr = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_tebr == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 11514, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11514, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ForestFireScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 11514, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15ForestFireScore___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_ForestFireScore *)__pyx_v_self), __pyx_v_G, __pyx_v_pf, __pyx_v_tebr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_15ForestFireScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ForestFireScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, double __pyx_v_pf, double __pyx_v_tebr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::ForestFireScore *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11515
 * 
 * 	def __cinit__(self, Graph G, double pf, double tebr):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _ForestFireScore(G._this, pf, tebr)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":11516
 * 	def __cinit__(self, Graph G, double pf, double tebr):
 * 		self._G = G
 * 		self._this = new _ForestFireScore(G._this, pf, tebr)             # <<<<<<<<<<<<<<
 * 
 * 	cdef bool_t isDoubleValue(self):
 */
  try {
    __pyx_t_1 = new NetworKit::ForestFireScore(__pyx_v_G->_this, __pyx_v_pf, __pyx_v_tebr);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11516, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":11514
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, double pf, double tebr):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _ForestFireScore(G._this, pf, tebr)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ForestFireScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11518
 * 		self._this = new _ForestFireScore(G._this, pf, tebr)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

static bool __pyx_f_9networkit_10_NetworKit_15ForestFireScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ForestFireScore *__pyx_v_self) {
  bool __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isDoubleValue", 0);

  /* "networkit/_NetworKit.pyx":11519
 * 
 * 	cdef bool_t isDoubleValue(self):
 * 		return True             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/sparsification/LocalDegreeScore.hpp>":
 */
  __pyx_r = 1;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11518
 * 		self._this = new _ForestFireScore(G._this, pf, tebr)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

  /* function exit code */
  __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_9networkit_10_NetworKit_15ForestFireScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15ForestFireScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15ForestFireScore_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ForestFireScore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15ForestFireScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ForestFireScore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__440, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ForestFireScore.__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_9networkit_10_NetworKit_15ForestFireScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15ForestFireScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15ForestFireScore_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ForestFireScore *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15ForestFireScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ForestFireScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__441, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ForestFireScore.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11538
 * 	"""
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _LocalDegreeScore(G._this)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_16LocalDegreeScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_16LocalDegreeScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11538, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11538, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LocalDegreeScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 11538, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16LocalDegreeScore___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_LocalDegreeScore *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_16LocalDegreeScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_LocalDegreeScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::LocalDegreeScore *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11539
 * 
 * 	def __cinit__(self, Graph G):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _LocalDegreeScore(G._this)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":11540
 * 	def __cinit__(self, Graph G):
 * 		self._G = G
 * 		self._this = new _LocalDegreeScore(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	cdef bool_t isDoubleValue(self):
 */
  try {
    __pyx_t_1 = new NetworKit::LocalDegreeScore(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11540, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":11538
 * 	"""
 * 
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _LocalDegreeScore(G._this)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LocalDegreeScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11542
 * 		self._this = new _LocalDegreeScore(G._this)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

static bool __pyx_f_9networkit_10_NetworKit_16LocalDegreeScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalDegreeScore *__pyx_v_self) {
  bool __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isDoubleValue", 0);

  /* "networkit/_NetworKit.pyx":11543
 * 
 * 	cdef bool_t isDoubleValue(self):
 * 		return True             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/distance/JaccardDistance.hpp>":
 */
  __pyx_r = 1;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11542
 * 		self._this = new _LocalDegreeScore(G._this)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

  /* function exit code */
  __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_9networkit_10_NetworKit_16LocalDegreeScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_16LocalDegreeScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16LocalDegreeScore_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LocalDegreeScore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_16LocalDegreeScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalDegreeScore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__442, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LocalDegreeScore.__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_9networkit_10_NetworKit_16LocalDegreeScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_16LocalDegreeScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16LocalDegreeScore_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LocalDegreeScore *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_16LocalDegreeScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalDegreeScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__443, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LocalDegreeScore.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11569
 * 	cdef vector[count] triangles
 * 
 * 	def __cinit__(self, Graph G, vector[count] triangles):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._triangles = triangles
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_15JaccardDistance_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_15JaccardDistance_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_triangles;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_triangles,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_triangles)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); __PYX_ERR(0, 11569, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11569, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_triangles = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_count(values[1]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11569, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11569, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.JaccardDistance.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 11569, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15JaccardDistance___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_JaccardDistance *)__pyx_v_self), __pyx_v_G, __pyx_v_triangles);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_15JaccardDistance___cinit__(struct __pyx_obj_9networkit_10_NetworKit_JaccardDistance *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_triangles) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_t_2;
  NetworKit::JaccardDistance *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11570
 * 
 * 	def __cinit__(self, Graph G, vector[count] triangles):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._triangles = triangles
 * 		self._this = new _JaccardDistance(G._this, self._triangles)
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":11571
 * 	def __cinit__(self, Graph G, vector[count] triangles):
 * 		self._G = G
 * 		self._triangles = triangles             # <<<<<<<<<<<<<<
 * 		self._this = new _JaccardDistance(G._this, self._triangles)
 * 
 */
  __pyx_t_1 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_count(__pyx_v_triangles); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_triangles_2, __pyx_t_1) < 0) __PYX_ERR(0, 11571, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":11572
 * 		self._G = G
 * 		self._triangles = triangles
 * 		self._this = new _JaccardDistance(G._this, self._triangles)             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_triangles_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11572, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_count(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11572, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  try {
    __pyx_t_3 = new NetworKit::JaccardDistance(__pyx_v_G->_this, __pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11572, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_3;

  /* "networkit/_NetworKit.pyx":11569
 * 	cdef vector[count] triangles
 * 
 * 	def __cinit__(self, Graph G, vector[count] triangles):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._triangles = triangles
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.JaccardDistance.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11574
 * 		self._this = new _JaccardDistance(G._this, self._triangles)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_15JaccardDistance_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_15JaccardDistance_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_15JaccardDistance_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_JaccardDistance *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9networkit_10_NetworKit_15JaccardDistance_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_JaccardDistance *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":11575
 * 
 * 	def __dealloc__(self):
 * 		del self._this             # <<<<<<<<<<<<<<
 * 
 * 	def getAttribute(self):
 */
  delete __pyx_v_self->_this;

  /* "networkit/_NetworKit.pyx":11574
 * 		self._this = new _JaccardDistance(G._this, self._triangles)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":11577
 * 		del self._this
 * 
 * 	def getAttribute(self):             # <<<<<<<<<<<<<<
 * 		return self._this.getEdgeScores()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15JaccardDistance_5getAttribute(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15JaccardDistance_5getAttribute(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getAttribute (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15JaccardDistance_4getAttribute(((struct __pyx_obj_9networkit_10_NetworKit_JaccardDistance *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15JaccardDistance_4getAttribute(struct __pyx_obj_9networkit_10_NetworKit_JaccardDistance *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<double>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getAttribute", 0);

  /* "networkit/_NetworKit.pyx":11578
 * 
 * 	def getAttribute(self):
 * 		return self._this.getEdgeScores()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this->getEdgeScores();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11578, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_double(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11577
 * 		del self._this
 * 
 * 	def getAttribute(self):             # <<<<<<<<<<<<<<
 * 		return self._this.getEdgeScores()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.JaccardDistance.getAttribute", __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_9networkit_10_NetworKit_15JaccardDistance_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15JaccardDistance_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15JaccardDistance_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_JaccardDistance *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15JaccardDistance_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_JaccardDistance *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__444, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.JaccardDistance.__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_9networkit_10_NetworKit_15JaccardDistance_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15JaccardDistance_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15JaccardDistance_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_JaccardDistance *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15JaccardDistance_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_JaccardDistance *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__445, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.JaccardDistance.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11615
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G, count numberSystems=10, count numberIterations=30, double omega=0.5, index norm=0, bool_t withEdgeScores=False):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _AlgebraicDistance(G._this, numberSystems, numberIterations, omega, norm, withEdgeScores)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_17AlgebraicDistance_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_17AlgebraicDistance_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_numberSystems;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_numberIterations;
  double __pyx_v_omega;
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_norm;
  bool __pyx_v_withEdgeScores;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_numberSystems,&__pyx_n_s_numberIterations,&__pyx_n_s_omega,&__pyx_n_s_norm,&__pyx_n_s_withEdgeScores,0};
    PyObject* values[6] = {0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numberSystems);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numberIterations);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_omega);
          if (value) { values[3] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_norm);
          if (value) { values[4] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_withEdgeScores);
          if (value) { values[5] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11615, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    if (values[1]) {
      __pyx_v_numberSystems = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_numberSystems == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11615, __pyx_L3_error)
    } else {
      __pyx_v_numberSystems = ((__pyx_t_9networkit_10_NetworKit_count)10);
    }
    if (values[2]) {
      __pyx_v_numberIterations = __Pyx_PyInt_As_uint64_t(values[2]); if (unlikely((__pyx_v_numberIterations == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11615, __pyx_L3_error)
    } else {
      __pyx_v_numberIterations = ((__pyx_t_9networkit_10_NetworKit_count)30);
    }
    if (values[3]) {
      __pyx_v_omega = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_omega == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 11615, __pyx_L3_error)
    } else {
      __pyx_v_omega = ((double)0.5);
    }
    if (values[4]) {
      __pyx_v_norm = __Pyx_PyInt_As_uint64_t(values[4]); if (unlikely((__pyx_v_norm == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11615, __pyx_L3_error)
    } else {
      __pyx_v_norm = ((__pyx_t_9networkit_10_NetworKit_index)0);
    }
    if (values[5]) {
      __pyx_v_withEdgeScores = __Pyx_PyObject_IsTrue(values[5]); if (unlikely((__pyx_v_withEdgeScores == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11615, __pyx_L3_error)
    } else {
      __pyx_v_withEdgeScores = ((bool)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11615, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.AlgebraicDistance.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 11615, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17AlgebraicDistance___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *)__pyx_v_self), __pyx_v_G, __pyx_v_numberSystems, __pyx_v_numberIterations, __pyx_v_omega, __pyx_v_norm, __pyx_v_withEdgeScores);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_17AlgebraicDistance___cinit__(struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_numberSystems, __pyx_t_9networkit_10_NetworKit_count __pyx_v_numberIterations, double __pyx_v_omega, __pyx_t_9networkit_10_NetworKit_index __pyx_v_norm, bool __pyx_v_withEdgeScores) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::AlgebraicDistance *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11616
 * 
 * 	def __cinit__(self, Graph G, count numberSystems=10, count numberIterations=30, double omega=0.5, index norm=0, bool_t withEdgeScores=False):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _AlgebraicDistance(G._this, numberSystems, numberIterations, omega, norm, withEdgeScores)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":11617
 * 	def __cinit__(self, Graph G, count numberSystems=10, count numberIterations=30, double omega=0.5, index norm=0, bool_t withEdgeScores=False):
 * 		self._G = G
 * 		self._this = new _AlgebraicDistance(G._this, numberSystems, numberIterations, omega, norm, withEdgeScores)             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  try {
    __pyx_t_1 = new NetworKit::AlgebraicDistance(__pyx_v_G->_this, __pyx_v_numberSystems, __pyx_v_numberIterations, __pyx_v_omega, __pyx_v_norm, __pyx_v_withEdgeScores);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11617, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":11615
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G, count numberSystems=10, count numberIterations=30, double omega=0.5, index norm=0, bool_t withEdgeScores=False):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _AlgebraicDistance(G._this, numberSystems, numberIterations, omega, norm, withEdgeScores)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.AlgebraicDistance.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11619
 * 		self._this = new _AlgebraicDistance(G._this, numberSystems, numberIterations, omega, norm, withEdgeScores)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_17AlgebraicDistance_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_17AlgebraicDistance_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_17AlgebraicDistance_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9networkit_10_NetworKit_17AlgebraicDistance_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":11620
 * 
 * 	def __dealloc__(self):
 * 		del self._this             # <<<<<<<<<<<<<<
 * 
 * 	def preprocess(self):
 */
  delete __pyx_v_self->_this;

  /* "networkit/_NetworKit.pyx":11619
 * 		self._this = new _AlgebraicDistance(G._this, numberSystems, numberIterations, omega, norm, withEdgeScores)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":11622
 * 		del self._this
 * 
 * 	def preprocess(self):             # <<<<<<<<<<<<<<
 * 		self._this.preprocess()
 * 		return self
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_17AlgebraicDistance_5preprocess(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17AlgebraicDistance_5preprocess(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("preprocess (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17AlgebraicDistance_4preprocess(((struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_17AlgebraicDistance_4preprocess(struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("preprocess", 0);

  /* "networkit/_NetworKit.pyx":11623
 * 
 * 	def preprocess(self):
 * 		self._this.preprocess()             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
  try {
    __pyx_v_self->_this->preprocess();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11623, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":11624
 * 	def preprocess(self):
 * 		self._this.preprocess()
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def distance(self, node u, node v):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11622
 * 		del self._this
 * 
 * 	def preprocess(self):             # <<<<<<<<<<<<<<
 * 		self._this.preprocess()
 * 		return self
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.AlgebraicDistance.preprocess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11626
 * 		return self
 * 
 * 	def distance(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		return self._this.distance(u, v)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_17AlgebraicDistance_7distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17AlgebraicDistance_7distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("distance (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("distance", 1, 2, 2, 1); __PYX_ERR(0, 11626, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "distance") < 0)) __PYX_ERR(0, 11626, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11626, __pyx_L3_error)
    __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11626, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("distance", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11626, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.AlgebraicDistance.distance", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17AlgebraicDistance_6distance(((struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_17AlgebraicDistance_6distance(struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("distance", 0);

  /* "networkit/_NetworKit.pyx":11627
 * 
 * 	def distance(self, node u, node v):
 * 		return self._this.distance(u, v)             # <<<<<<<<<<<<<<
 * 
 * 	def getEdgeScores(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this->distance(__pyx_v_u, __pyx_v_v);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11627, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11626
 * 		return self
 * 
 * 	def distance(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		return self._this.distance(u, v)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.AlgebraicDistance.distance", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11629
 * 		return self._this.distance(u, v)
 * 
 * 	def getEdgeScores(self):             # <<<<<<<<<<<<<<
 * 		return self._this.getEdgeScores()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_17AlgebraicDistance_9getEdgeScores(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17AlgebraicDistance_9getEdgeScores(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getEdgeScores (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17AlgebraicDistance_8getEdgeScores(((struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_17AlgebraicDistance_8getEdgeScores(struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<double>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getEdgeScores", 0);

  /* "networkit/_NetworKit.pyx":11630
 * 
 * 	def getEdgeScores(self):
 * 		return self._this.getEdgeScores()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this->getEdgeScores();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11630, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_double(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11629
 * 		return self._this.distance(u, v)
 * 
 * 	def getEdgeScores(self):             # <<<<<<<<<<<<<<
 * 		return self._this.getEdgeScores()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.AlgebraicDistance.getEdgeScores", __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_9networkit_10_NetworKit_17AlgebraicDistance_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17AlgebraicDistance_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17AlgebraicDistance_10__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_17AlgebraicDistance_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__446, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.AlgebraicDistance.__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_9networkit_10_NetworKit_17AlgebraicDistance_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_17AlgebraicDistance_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_17AlgebraicDistance_12__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_17AlgebraicDistance_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__447, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.AlgebraicDistance.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11650
 * 	cdef vector[count] _triangles
 * 
 * 	def __cinit__(self, Graph G, vector[count] triangles):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._triangles = triangles
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_triangles;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_triangles,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_triangles)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); __PYX_ERR(0, 11650, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11650, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_triangles = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_count(values[1]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11650, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11650, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.JaccardSimilarityAttributizer.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 11650, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29JaccardSimilarityAttributizer___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_JaccardSimilarityAttributizer *)__pyx_v_self), __pyx_v_G, __pyx_v_triangles);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_29JaccardSimilarityAttributizer___cinit__(struct __pyx_obj_9networkit_10_NetworKit_JaccardSimilarityAttributizer *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_triangles) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::JaccardDistance *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11651
 * 
 * 	def __cinit__(self, Graph G, vector[count] triangles):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._triangles = triangles
 * 		self._this = new _JaccardDistance(G._this, self._triangles)
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":11652
 * 	def __cinit__(self, Graph G, vector[count] triangles):
 * 		self._G = G
 * 		self._triangles = triangles             # <<<<<<<<<<<<<<
 * 		self._this = new _JaccardDistance(G._this, self._triangles)
 * 
 */
  __pyx_v_self->_triangles = __pyx_v_triangles;

  /* "networkit/_NetworKit.pyx":11653
 * 		self._G = G
 * 		self._triangles = triangles
 * 		self._this = new _JaccardDistance(G._this, self._triangles)             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  try {
    __pyx_t_1 = new NetworKit::JaccardDistance(__pyx_v_G->_this, __pyx_v_self->_triangles);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11653, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":11650
 * 	cdef vector[count] _triangles
 * 
 * 	def __cinit__(self, Graph G, vector[count] triangles):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._triangles = triangles
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.JaccardSimilarityAttributizer.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11655
 * 		self._this = new _JaccardDistance(G._this, self._triangles)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_JaccardSimilarityAttributizer *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_JaccardSimilarityAttributizer *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":11656
 * 
 * 	def __dealloc__(self):
 * 		del self._this             # <<<<<<<<<<<<<<
 * 
 * 	def getAttribute(self):
 */
  delete __pyx_v_self->_this;

  /* "networkit/_NetworKit.pyx":11655
 * 		self._this = new _JaccardDistance(G._this, self._triangles)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":11658
 * 		del self._this
 * 
 * 	def getAttribute(self):             # <<<<<<<<<<<<<<
 * 		#convert distance to similarity
 * 		self._this.preprocess()
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_5getAttribute(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_5getAttribute(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getAttribute (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_4getAttribute(((struct __pyx_obj_9networkit_10_NetworKit_JaccardSimilarityAttributizer *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_4getAttribute(struct __pyx_obj_9networkit_10_NetworKit_JaccardSimilarityAttributizer *__pyx_v_self) {
  double __pyx_9genexpr23__pyx_v_x;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  std::vector<double>  __pyx_t_2;
  std::vector<double> ::iterator __pyx_t_3;
  std::vector<double>  *__pyx_t_4;
  double __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  __Pyx_RefNannySetupContext("getAttribute", 0);

  /* "networkit/_NetworKit.pyx":11660
 * 	def getAttribute(self):
 * 		#convert distance to similarity
 * 		self._this.preprocess()             # <<<<<<<<<<<<<<
 * 		return [1 - x for x in self._this.getEdgeScores()]
 * 
 */
  try {
    __pyx_v_self->_this->preprocess();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11660, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":11661
 * 		#convert distance to similarity
 * 		self._this.preprocess()
 * 		return [1 - x for x in self._this.getEdgeScores()]             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/sparsification/RandomNodeEdgeScore.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11661, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    try {
      __pyx_t_2 = __pyx_v_self->_this->getEdgeScores();
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 11661, __pyx_L1_error)
    }
    __pyx_t_4 = &__pyx_t_2;
    __pyx_t_3 = __pyx_t_4->begin();
    for (;;) {
      if (!(__pyx_t_3 != __pyx_t_4->end())) break;
      __pyx_t_5 = *__pyx_t_3;
      ++__pyx_t_3;
      __pyx_9genexpr23__pyx_v_x = __pyx_t_5;
      __pyx_t_6 = PyFloat_FromDouble((1.0 - __pyx_9genexpr23__pyx_v_x)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11661, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 11661, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11658
 * 		del self._this
 * 
 * 	def getAttribute(self):             # <<<<<<<<<<<<<<
 * 		#convert distance to similarity
 * 		self._this.preprocess()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("networkit._NetworKit.JaccardSimilarityAttributizer.getAttribute", __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_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_JaccardSimilarityAttributizer *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_JaccardSimilarityAttributizer *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__448, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.JaccardSimilarityAttributizer.__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_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_JaccardSimilarityAttributizer *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_JaccardSimilarityAttributizer *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__449, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.JaccardSimilarityAttributizer.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11678
 * 		The graph to calculate the Random Edge attribute for.
 * 	"""
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _RandomNodeEdgeScore(G._this)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_19RandomNodeEdgeScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_19RandomNodeEdgeScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11678, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11678, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.RandomNodeEdgeScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 11678, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19RandomNodeEdgeScore___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_RandomNodeEdgeScore *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_19RandomNodeEdgeScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_RandomNodeEdgeScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::RandomNodeEdgeScore *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11679
 * 	"""
 * 	def __cinit__(self, Graph G):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _RandomNodeEdgeScore(G._this)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":11680
 * 	def __cinit__(self, Graph G):
 * 		self._G = G
 * 		self._this = new _RandomNodeEdgeScore(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	cdef bool_t isDoubleValue(self):
 */
  try {
    __pyx_t_1 = new NetworKit::RandomNodeEdgeScore(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11680, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":11678
 * 		The graph to calculate the Random Edge attribute for.
 * 	"""
 * 	def __cinit__(self, Graph G):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _RandomNodeEdgeScore(G._this)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.RandomNodeEdgeScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11682
 * 		self._this = new _RandomNodeEdgeScore(G._this)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

static bool __pyx_f_9networkit_10_NetworKit_19RandomNodeEdgeScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_RandomNodeEdgeScore *__pyx_v_self) {
  bool __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isDoubleValue", 0);

  /* "networkit/_NetworKit.pyx":11683
 * 
 * 	cdef bool_t isDoubleValue(self):
 * 		return True             # <<<<<<<<<<<<<<
 * 
 * ctypedef fused DoubleInt:
 */
  __pyx_r = 1;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11682
 * 		self._this = new _RandomNodeEdgeScore(G._this)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

  /* function exit code */
  __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_9networkit_10_NetworKit_19RandomNodeEdgeScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19RandomNodeEdgeScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19RandomNodeEdgeScore_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_RandomNodeEdgeScore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19RandomNodeEdgeScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_RandomNodeEdgeScore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__450, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.RandomNodeEdgeScore.__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_9networkit_10_NetworKit_19RandomNodeEdgeScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19RandomNodeEdgeScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19RandomNodeEdgeScore_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_RandomNodeEdgeScore *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19RandomNodeEdgeScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_RandomNodeEdgeScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__451, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.RandomNodeEdgeScore.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11716
 * 	cdef vector[double] _a
 * 
 * 	def __cinit__(self, Graph G, vector[double] a, bool_t logarithmic = True):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._a = a
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_16LocalFilterScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_16LocalFilterScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  std::vector<double>  __pyx_v_a;
  bool __pyx_v_logarithmic;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_a,&__pyx_n_s_logarithmic,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_a)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, 1); __PYX_ERR(0, 11716, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_logarithmic);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11716, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_a = __pyx_convert_vector_from_py_double(values[1]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11716, __pyx_L3_error)
    if (values[2]) {
      __pyx_v_logarithmic = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_logarithmic == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11716, __pyx_L3_error)
    } else {
      __pyx_v_logarithmic = ((bool)1);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11716, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LocalFilterScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 11716, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16LocalFilterScore___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_LocalFilterScore *)__pyx_v_self), __pyx_v_G, __pyx_v_a, __pyx_v_logarithmic);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_16LocalFilterScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_LocalFilterScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<double>  __pyx_v_a, bool __pyx_v_logarithmic) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::LocalFilterScore<double> *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11717
 * 
 * 	def __cinit__(self, Graph G, vector[double] a, bool_t logarithmic = True):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._a = a
 * 		self._this = new _LocalFilterScoreDouble(G._this, self._a, logarithmic)
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":11718
 * 	def __cinit__(self, Graph G, vector[double] a, bool_t logarithmic = True):
 * 		self._G = G
 * 		self._a = a             # <<<<<<<<<<<<<<
 * 		self._this = new _LocalFilterScoreDouble(G._this, self._a, logarithmic)
 * 
 */
  __pyx_v_self->_a = __pyx_v_a;

  /* "networkit/_NetworKit.pyx":11719
 * 		self._G = G
 * 		self._a = a
 * 		self._this = new _LocalFilterScoreDouble(G._this, self._a, logarithmic)             # <<<<<<<<<<<<<<
 * 
 * 	cdef bool_t isDoubleValue(self):
 */
  try {
    __pyx_t_1 = new NetworKit::LocalFilterScore<double>(__pyx_v_G->_this, __pyx_v_self->_a, __pyx_v_logarithmic);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11719, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":11716
 * 	cdef vector[double] _a
 * 
 * 	def __cinit__(self, Graph G, vector[double] a, bool_t logarithmic = True):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._a = a
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.LocalFilterScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11721
 * 		self._this = new _LocalFilterScoreDouble(G._this, self._a, logarithmic)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

static bool __pyx_f_9networkit_10_NetworKit_16LocalFilterScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalFilterScore *__pyx_v_self) {
  bool __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isDoubleValue", 0);

  /* "networkit/_NetworKit.pyx":11722
 * 
 * 	cdef bool_t isDoubleValue(self):
 * 		return True             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/sparsification/ChanceCorrectedTriangleScore.hpp>":
 */
  __pyx_r = 1;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11721
 * 		self._this = new _LocalFilterScoreDouble(G._this, self._a, logarithmic)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

  /* function exit code */
  __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_9networkit_10_NetworKit_16LocalFilterScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_16LocalFilterScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16LocalFilterScore_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LocalFilterScore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_16LocalFilterScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalFilterScore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__452, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LocalFilterScore.__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_9networkit_10_NetworKit_16LocalFilterScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_16LocalFilterScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_16LocalFilterScore_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_LocalFilterScore *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_16LocalFilterScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_LocalFilterScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__453, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.LocalFilterScore.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11742
 * 	cdef vector[count] _triangles
 * 
 * 	def __cinit__(self, Graph G, vector[count] triangles):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._triangles = triangles
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_28ChanceCorrectedTriangleScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_28ChanceCorrectedTriangleScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_triangles;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_triangles,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_triangles)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); __PYX_ERR(0, 11742, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11742, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_triangles = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_count(values[1]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11742, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11742, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ChanceCorrectedTriangleScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 11742, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_28ChanceCorrectedTriangleScore___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_ChanceCorrectedTriangleScore *)__pyx_v_self), __pyx_v_G, __pyx_v_triangles);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_28ChanceCorrectedTriangleScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_ChanceCorrectedTriangleScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_triangles) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::ChanceCorrectedTriangleScore *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11743
 * 
 * 	def __cinit__(self, Graph G, vector[count] triangles):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._triangles = triangles
 * 		self._this = new _ChanceCorrectedTriangleScore(G._this, self._triangles)
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":11744
 * 	def __cinit__(self, Graph G, vector[count] triangles):
 * 		self._G = G
 * 		self._triangles = triangles             # <<<<<<<<<<<<<<
 * 		self._this = new _ChanceCorrectedTriangleScore(G._this, self._triangles)
 * 
 */
  __pyx_v_self->_triangles = __pyx_v_triangles;

  /* "networkit/_NetworKit.pyx":11745
 * 		self._G = G
 * 		self._triangles = triangles
 * 		self._this = new _ChanceCorrectedTriangleScore(G._this, self._triangles)             # <<<<<<<<<<<<<<
 * 
 * 	cdef bool_t isDoubleValue(self):
 */
  try {
    __pyx_t_1 = new NetworKit::ChanceCorrectedTriangleScore(__pyx_v_G->_this, __pyx_v_self->_triangles);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11745, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":11742
 * 	cdef vector[count] _triangles
 * 
 * 	def __cinit__(self, Graph G, vector[count] triangles):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._triangles = triangles
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.ChanceCorrectedTriangleScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11747
 * 		self._this = new _ChanceCorrectedTriangleScore(G._this, self._triangles)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

static bool __pyx_f_9networkit_10_NetworKit_28ChanceCorrectedTriangleScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ChanceCorrectedTriangleScore *__pyx_v_self) {
  bool __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isDoubleValue", 0);

  /* "networkit/_NetworKit.pyx":11748
 * 
 * 	cdef bool_t isDoubleValue(self):
 * 		return True             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/sparsification/SCANStructuralSimilarityScore.hpp>":
 */
  __pyx_r = 1;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11747
 * 		self._this = new _ChanceCorrectedTriangleScore(G._this, self._triangles)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

  /* function exit code */
  __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_9networkit_10_NetworKit_28ChanceCorrectedTriangleScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_28ChanceCorrectedTriangleScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_28ChanceCorrectedTriangleScore_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ChanceCorrectedTriangleScore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_28ChanceCorrectedTriangleScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ChanceCorrectedTriangleScore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__454, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ChanceCorrectedTriangleScore.__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_9networkit_10_NetworKit_28ChanceCorrectedTriangleScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_28ChanceCorrectedTriangleScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_28ChanceCorrectedTriangleScore_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_ChanceCorrectedTriangleScore *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_28ChanceCorrectedTriangleScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_ChanceCorrectedTriangleScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__455, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.ChanceCorrectedTriangleScore.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11758
 * 	cdef vector[count] _triangles
 * 
 * 	def __cinit__(self, Graph G, vector[count] triangles):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._triangles = triangles
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_29SCANStructuralSimilarityScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_29SCANStructuralSimilarityScore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_triangles;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_triangles,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_triangles)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); __PYX_ERR(0, 11758, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11758, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_triangles = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_count(values[1]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11758, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11758, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.SCANStructuralSimilarityScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 11758, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29SCANStructuralSimilarityScore___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_SCANStructuralSimilarityScore *)__pyx_v_self), __pyx_v_G, __pyx_v_triangles);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_29SCANStructuralSimilarityScore___cinit__(struct __pyx_obj_9networkit_10_NetworKit_SCANStructuralSimilarityScore *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_triangles) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::SCANStructuralSimilarityScore *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11759
 * 
 * 	def __cinit__(self, Graph G, vector[count] triangles):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._triangles = triangles
 * 		self._this = new _SCANStructuralSimilarityScore(G._this, self._triangles)
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base._G));
  __pyx_v_self->__pyx_base._G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":11760
 * 	def __cinit__(self, Graph G, vector[count] triangles):
 * 		self._G = G
 * 		self._triangles = triangles             # <<<<<<<<<<<<<<
 * 		self._this = new _SCANStructuralSimilarityScore(G._this, self._triangles)
 * 
 */
  __pyx_v_self->_triangles = __pyx_v_triangles;

  /* "networkit/_NetworKit.pyx":11761
 * 		self._G = G
 * 		self._triangles = triangles
 * 		self._this = new _SCANStructuralSimilarityScore(G._this, self._triangles)             # <<<<<<<<<<<<<<
 * 
 * 	cdef bool_t isDoubleValue(self):
 */
  try {
    __pyx_t_1 = new NetworKit::SCANStructuralSimilarityScore(__pyx_v_G->_this, __pyx_v_self->_triangles);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11761, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":11758
 * 	cdef vector[count] _triangles
 * 
 * 	def __cinit__(self, Graph G, vector[count] triangles):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._triangles = triangles
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.SCANStructuralSimilarityScore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11763
 * 		self._this = new _SCANStructuralSimilarityScore(G._this, self._triangles)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

static bool __pyx_f_9networkit_10_NetworKit_29SCANStructuralSimilarityScore_isDoubleValue(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SCANStructuralSimilarityScore *__pyx_v_self) {
  bool __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isDoubleValue", 0);

  /* "networkit/_NetworKit.pyx":11764
 * 
 * 	cdef bool_t isDoubleValue(self):
 * 		return True             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/sparsification/GlobalThresholdFilter.hpp>":
 */
  __pyx_r = 1;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11763
 * 		self._this = new _SCANStructuralSimilarityScore(G._this, self._triangles)
 * 
 * 	cdef bool_t isDoubleValue(self):             # <<<<<<<<<<<<<<
 * 		return True
 * 
 */

  /* function exit code */
  __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_9networkit_10_NetworKit_29SCANStructuralSimilarityScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_29SCANStructuralSimilarityScore_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29SCANStructuralSimilarityScore_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_SCANStructuralSimilarityScore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_29SCANStructuralSimilarityScore_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SCANStructuralSimilarityScore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__456, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.SCANStructuralSimilarityScore.__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_9networkit_10_NetworKit_29SCANStructuralSimilarityScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_29SCANStructuralSimilarityScore_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29SCANStructuralSimilarityScore_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_SCANStructuralSimilarityScore *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_29SCANStructuralSimilarityScore_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SCANStructuralSimilarityScore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__457, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.SCANStructuralSimilarityScore.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11793
 * 	cdef vector[double] _attribute
 * 
 * 	def __cinit__(self, Graph G not None, vector[double] attribute, double e, bool_t above):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._attribute = attribute
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_21GlobalThresholdFilter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_21GlobalThresholdFilter_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  std::vector<double>  __pyx_v_attribute;
  double __pyx_v_e;
  bool __pyx_v_above;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_attribute,&__pyx_n_s_e,&__pyx_n_s_above,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_attribute)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 4, 4, 1); __PYX_ERR(0, 11793, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_e)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 4, 4, 2); __PYX_ERR(0, 11793, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_above)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 4, 4, 3); __PYX_ERR(0, 11793, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11793, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_attribute = __pyx_convert_vector_from_py_double(values[1]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11793, __pyx_L3_error)
    __pyx_v_e = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_e == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 11793, __pyx_L3_error)
    __pyx_v_above = __Pyx_PyObject_IsTrue(values[3]); if (unlikely((__pyx_v_above == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11793, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11793, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GlobalThresholdFilter.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 11793, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21GlobalThresholdFilter___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_GlobalThresholdFilter *)__pyx_v_self), __pyx_v_G, __pyx_v_attribute, __pyx_v_e, __pyx_v_above);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_21GlobalThresholdFilter___cinit__(struct __pyx_obj_9networkit_10_NetworKit_GlobalThresholdFilter *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, std::vector<double>  __pyx_v_attribute, double __pyx_v_e, bool __pyx_v_above) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::GlobalThresholdFilter *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11794
 * 
 * 	def __cinit__(self, Graph G not None, vector[double] attribute, double e, bool_t above):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._attribute = attribute
 * 		self._this = new _GlobalThresholdFilter(G._this, self._attribute, e, above)
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":11795
 * 	def __cinit__(self, Graph G not None, vector[double] attribute, double e, bool_t above):
 * 		self._G = G
 * 		self._attribute = attribute             # <<<<<<<<<<<<<<
 * 		self._this = new _GlobalThresholdFilter(G._this, self._attribute, e, above)
 * 
 */
  __pyx_v_self->_attribute = __pyx_v_attribute;

  /* "networkit/_NetworKit.pyx":11796
 * 		self._G = G
 * 		self._attribute = attribute
 * 		self._this = new _GlobalThresholdFilter(G._this, self._attribute, e, above)             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  try {
    __pyx_t_1 = new NetworKit::GlobalThresholdFilter(__pyx_v_G->_this, __pyx_v_self->_attribute, __pyx_v_e, __pyx_v_above);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11796, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":11793
 * 	cdef vector[double] _attribute
 * 
 * 	def __cinit__(self, Graph G not None, vector[double] attribute, double e, bool_t above):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._attribute = attribute
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GlobalThresholdFilter.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11798
 * 		self._this = new _GlobalThresholdFilter(G._this, self._attribute, e, above)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_21GlobalThresholdFilter_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_21GlobalThresholdFilter_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_21GlobalThresholdFilter_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_GlobalThresholdFilter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9networkit_10_NetworKit_21GlobalThresholdFilter_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_GlobalThresholdFilter *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":11799
 * 
 * 	def __dealloc__(self):
 * 		del self._this             # <<<<<<<<<<<<<<
 * 
 * 	def calculate(self):
 */
  delete __pyx_v_self->_this;

  /* "networkit/_NetworKit.pyx":11798
 * 		self._this = new _GlobalThresholdFilter(G._this, self._attribute, e, above)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":11801
 * 		del self._this
 * 
 * 	def calculate(self):             # <<<<<<<<<<<<<<
 * 		return Graph().setThis(self._this.calculate())
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_21GlobalThresholdFilter_5calculate(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21GlobalThresholdFilter_5calculate(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("calculate (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21GlobalThresholdFilter_4calculate(((struct __pyx_obj_9networkit_10_NetworKit_GlobalThresholdFilter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21GlobalThresholdFilter_4calculate(struct __pyx_obj_9networkit_10_NetworKit_GlobalThresholdFilter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Graph __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("calculate", 0);

  /* "networkit/_NetworKit.pyx":11802
 * 
 * 	def calculate(self):
 * 		return Graph().setThis(self._this.calculate())             # <<<<<<<<<<<<<<
 * 
 * # matching
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = __pyx_v_self->_this->calculate();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11802, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11802, __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;

  /* "networkit/_NetworKit.pyx":11801
 * 		del self._this
 * 
 * 	def calculate(self):             # <<<<<<<<<<<<<<
 * 		return Graph().setThis(self._this.calculate())
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.GlobalThresholdFilter.calculate", __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_9networkit_10_NetworKit_21GlobalThresholdFilter_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21GlobalThresholdFilter_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21GlobalThresholdFilter_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GlobalThresholdFilter *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21GlobalThresholdFilter_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GlobalThresholdFilter *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__458, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GlobalThresholdFilter.__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_9networkit_10_NetworKit_21GlobalThresholdFilter_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_21GlobalThresholdFilter_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_21GlobalThresholdFilter_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GlobalThresholdFilter *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_21GlobalThresholdFilter_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GlobalThresholdFilter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__459, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GlobalThresholdFilter.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11836
 * 	cdef _Matching _this
 * 
 * 	def __cinit__(self, index z=0):             # <<<<<<<<<<<<<<
 * 		self._this = move(_Matching(z))
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_8Matching_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_8Matching_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_index __pyx_v_z;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_z,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_z);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11836, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_z = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_z == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11836, __pyx_L3_error)
    } else {
      __pyx_v_z = ((__pyx_t_9networkit_10_NetworKit_index)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11836, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Matching.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8Matching___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_Matching *)__pyx_v_self), __pyx_v_z);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_8Matching___cinit__(struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_index __pyx_v_z) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::Matching __pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11837
 * 
 * 	def __cinit__(self, index z=0):
 * 		self._this = move(_Matching(z))             # <<<<<<<<<<<<<<
 * 
 * 	cdef setThis(self,  _Matching& other):
 */
  try {
    __pyx_t_1 = NetworKit::Matching(__pyx_v_z);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11837, __pyx_L1_error)
  }
  __pyx_v_self->_this = std::move(__pyx_t_1);

  /* "networkit/_NetworKit.pyx":11836
 * 	cdef _Matching _this
 * 
 * 	def __cinit__(self, index z=0):             # <<<<<<<<<<<<<<
 * 		self._this = move(_Matching(z))
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Matching.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11839
 * 		self._this = move(_Matching(z))
 * 
 * 	cdef setThis(self,  _Matching& other):             # <<<<<<<<<<<<<<
 * 		swap[_Matching](self._this,  other)
 * 		return self
 */

static PyObject *__pyx_f_9networkit_10_NetworKit_8Matching_setThis(struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self, NetworKit::Matching &__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setThis", 0);

  /* "networkit/_NetworKit.pyx":11840
 * 
 * 	cdef setThis(self,  _Matching& other):
 * 		swap[_Matching](self._this,  other)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
  std::swap<NetworKit::Matching>(__pyx_v_self->_this, __pyx_v_other);

  /* "networkit/_NetworKit.pyx":11841
 * 	cdef setThis(self,  _Matching& other):
 * 		swap[_Matching](self._this,  other)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def match(self, node u, node v):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11839
 * 		self._this = move(_Matching(z))
 * 
 * 	cdef setThis(self,  _Matching& other):             # <<<<<<<<<<<<<<
 * 		swap[_Matching](self._this,  other)
 * 		return self
 */

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11843
 * 		return self
 * 
 * 	def match(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		self._this.match(u,v)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Matching_3match(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Matching_3match(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("match (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("match", 1, 2, 2, 1); __PYX_ERR(0, 11843, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "match") < 0)) __PYX_ERR(0, 11843, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11843, __pyx_L3_error)
    __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11843, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("match", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11843, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Matching.match", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8Matching_2match(((struct __pyx_obj_9networkit_10_NetworKit_Matching *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_8Matching_2match(struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("match", 0);

  /* "networkit/_NetworKit.pyx":11844
 * 
 * 	def match(self, node u, node v):
 * 		self._this.match(u,v)             # <<<<<<<<<<<<<<
 * 
 * 	def unmatch(self, node u,  node v):
 */
  try {
    __pyx_v_self->_this.match(__pyx_v_u, __pyx_v_v);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11844, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":11843
 * 		return self
 * 
 * 	def match(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		self._this.match(u,v)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Matching.match", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11846
 * 		self._this.match(u,v)
 * 
 * 	def unmatch(self, node u,  node v):             # <<<<<<<<<<<<<<
 * 		self._this.unmatch(u, v)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Matching_5unmatch(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Matching_5unmatch(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("unmatch (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("unmatch", 1, 2, 2, 1); __PYX_ERR(0, 11846, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "unmatch") < 0)) __PYX_ERR(0, 11846, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11846, __pyx_L3_error)
    __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11846, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("unmatch", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11846, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Matching.unmatch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8Matching_4unmatch(((struct __pyx_obj_9networkit_10_NetworKit_Matching *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_8Matching_4unmatch(struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("unmatch", 0);

  /* "networkit/_NetworKit.pyx":11847
 * 
 * 	def unmatch(self, node u,  node v):
 * 		self._this.unmatch(u, v)             # <<<<<<<<<<<<<<
 * 
 * 	def isMatched(self, node u):
 */
  try {
    __pyx_v_self->_this.unmatch(__pyx_v_u, __pyx_v_v);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11847, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":11846
 * 		self._this.match(u,v)
 * 
 * 	def unmatch(self, node u,  node v):             # <<<<<<<<<<<<<<
 * 		self._this.unmatch(u, v)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Matching.unmatch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11849
 * 		self._this.unmatch(u, v)
 * 
 * 	def isMatched(self, node u):             # <<<<<<<<<<<<<<
 * 		return self._this.isMatched(u)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Matching_7isMatched(PyObject *__pyx_v_self, PyObject *__pyx_arg_u); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Matching_7isMatched(PyObject *__pyx_v_self, PyObject *__pyx_arg_u) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isMatched (wrapper)", 0);
  assert(__pyx_arg_u); {
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(__pyx_arg_u); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11849, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Matching.isMatched", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8Matching_6isMatched(((struct __pyx_obj_9networkit_10_NetworKit_Matching *)__pyx_v_self), ((__pyx_t_9networkit_10_NetworKit_node)__pyx_v_u));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_8Matching_6isMatched(struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("isMatched", 0);

  /* "networkit/_NetworKit.pyx":11850
 * 
 * 	def isMatched(self, node u):
 * 		return self._this.isMatched(u)             # <<<<<<<<<<<<<<
 * 
 * 	def areMatched(self, node u, node v):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.isMatched(__pyx_v_u);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11850, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11849
 * 		self._this.unmatch(u, v)
 * 
 * 	def isMatched(self, node u):             # <<<<<<<<<<<<<<
 * 		return self._this.isMatched(u)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Matching.isMatched", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11852
 * 		return self._this.isMatched(u)
 * 
 * 	def areMatched(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		return self._this.areMatched(u,v)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Matching_9areMatched(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Matching_9areMatched(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_u;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("areMatched (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("areMatched", 1, 2, 2, 1); __PYX_ERR(0, 11852, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "areMatched") < 0)) __PYX_ERR(0, 11852, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_u == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11852, __pyx_L3_error)
    __pyx_v_v = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11852, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("areMatched", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11852, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Matching.areMatched", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8Matching_8areMatched(((struct __pyx_obj_9networkit_10_NetworKit_Matching *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_8Matching_8areMatched(struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_u, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("areMatched", 0);

  /* "networkit/_NetworKit.pyx":11853
 * 
 * 	def areMatched(self, node u, node v):
 * 		return self._this.areMatched(u,v)             # <<<<<<<<<<<<<<
 * 
 * 	def isProper(self, Graph G):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.areMatched(__pyx_v_u, __pyx_v_v);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11853, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11853, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11852
 * 		return self._this.isMatched(u)
 * 
 * 	def areMatched(self, node u, node v):             # <<<<<<<<<<<<<<
 * 		return self._this.areMatched(u,v)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Matching.areMatched", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11855
 * 		return self._this.areMatched(u,v)
 * 
 * 	def isProper(self, Graph G):             # <<<<<<<<<<<<<<
 * 		return self._this.isProper(G._this)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Matching_11isProper(PyObject *__pyx_v_self, PyObject *__pyx_v_G); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Matching_11isProper(PyObject *__pyx_v_self, PyObject *__pyx_v_G) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isProper (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 11855, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8Matching_10isProper(((struct __pyx_obj_9networkit_10_NetworKit_Matching *)__pyx_v_self), ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_G));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_8Matching_10isProper(struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  bool __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("isProper", 0);

  /* "networkit/_NetworKit.pyx":11856
 * 
 * 	def isProper(self, Graph G):
 * 		return self._this.isProper(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def size(self, Graph G):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.isProper(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11856, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11856, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11855
 * 		return self._this.areMatched(u,v)
 * 
 * 	def isProper(self, Graph G):             # <<<<<<<<<<<<<<
 * 		return self._this.isProper(G._this)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Matching.isProper", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11858
 * 		return self._this.isProper(G._this)
 * 
 * 	def size(self, Graph G):             # <<<<<<<<<<<<<<
 * 		return self._this.size(G._this)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Matching_13size(PyObject *__pyx_v_self, PyObject *__pyx_v_G); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Matching_13size(PyObject *__pyx_v_self, PyObject *__pyx_v_G) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("size (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 11858, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8Matching_12size(((struct __pyx_obj_9networkit_10_NetworKit_Matching *)__pyx_v_self), ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_G));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_8Matching_12size(struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("size", 0);

  /* "networkit/_NetworKit.pyx":11859
 * 
 * 	def size(self, Graph G):
 * 		return self._this.size(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def mate(self, node v):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.size(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11859, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11858
 * 		return self._this.isProper(G._this)
 * 
 * 	def size(self, Graph G):             # <<<<<<<<<<<<<<
 * 		return self._this.size(G._this)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Matching.size", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11861
 * 		return self._this.size(G._this)
 * 
 * 	def mate(self, node v):             # <<<<<<<<<<<<<<
 * 		return self._this.mate(v)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Matching_15mate(PyObject *__pyx_v_self, PyObject *__pyx_arg_v); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Matching_15mate(PyObject *__pyx_v_self, PyObject *__pyx_arg_v) {
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_v;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("mate (wrapper)", 0);
  assert(__pyx_arg_v); {
    __pyx_v_v = __Pyx_PyInt_As_uint64_t(__pyx_arg_v); if (unlikely((__pyx_v_v == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 11861, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Matching.mate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8Matching_14mate(((struct __pyx_obj_9networkit_10_NetworKit_Matching *)__pyx_v_self), ((__pyx_t_9networkit_10_NetworKit_node)__pyx_v_v));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_8Matching_14mate(struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_node __pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_index __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("mate", 0);

  /* "networkit/_NetworKit.pyx":11862
 * 
 * 	def mate(self, node v):
 * 		return self._this.mate(v)             # <<<<<<<<<<<<<<
 * 
 * 	def weight(self, Graph G):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.mate(__pyx_v_v);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11862, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11861
 * 		return self._this.size(G._this)
 * 
 * 	def mate(self, node v):             # <<<<<<<<<<<<<<
 * 		return self._this.mate(v)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Matching.mate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11864
 * 		return self._this.mate(v)
 * 
 * 	def weight(self, Graph G):             # <<<<<<<<<<<<<<
 * 		return self._this.weight(G._this)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Matching_17weight(PyObject *__pyx_v_self, PyObject *__pyx_v_G); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Matching_17weight(PyObject *__pyx_v_self, PyObject *__pyx_v_G) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("weight (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 11864, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8Matching_16weight(((struct __pyx_obj_9networkit_10_NetworKit_Matching *)__pyx_v_self), ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_G));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_8Matching_16weight(struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_edgeweight __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("weight", 0);

  /* "networkit/_NetworKit.pyx":11865
 * 
 * 	def weight(self, Graph G):
 * 		return self._this.weight(G._this)             # <<<<<<<<<<<<<<
 * 
 * 	def toPartition(self, Graph G):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.weight(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11865, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11864
 * 		return self._this.mate(v)
 * 
 * 	def weight(self, Graph G):             # <<<<<<<<<<<<<<
 * 		return self._this.weight(G._this)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Matching.weight", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11867
 * 		return self._this.weight(G._this)
 * 
 * 	def toPartition(self, Graph G):             # <<<<<<<<<<<<<<
 * 		return Partition().setThis(self._this.toPartition(G._this))
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Matching_19toPartition(PyObject *__pyx_v_self, PyObject *__pyx_v_G); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Matching_19toPartition(PyObject *__pyx_v_self, PyObject *__pyx_v_G) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("toPartition (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 11867, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8Matching_18toPartition(((struct __pyx_obj_9networkit_10_NetworKit_Matching *)__pyx_v_self), ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_G));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_8Matching_18toPartition(struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Partition __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("toPartition", 0);

  /* "networkit/_NetworKit.pyx":11868
 * 
 * 	def toPartition(self, Graph G):
 * 		return Partition().setThis(self._this.toPartition(G._this))             # <<<<<<<<<<<<<<
 * 
 * 	def getVector(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Partition)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = __pyx_v_self->_this.toPartition(__pyx_v_G->_this);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11868, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Partition *)((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Partition *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11868, __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;

  /* "networkit/_NetworKit.pyx":11867
 * 		return self._this.weight(G._this)
 * 
 * 	def toPartition(self, Graph G):             # <<<<<<<<<<<<<<
 * 		return Partition().setThis(self._this.toPartition(G._this))
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Matching.toPartition", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11870
 * 		return Partition().setThis(self._this.toPartition(G._this))
 * 
 * 	def getVector(self):             # <<<<<<<<<<<<<<
 * 		""" Get the vector storing the data
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Matching_21getVector(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_8Matching_20getVector[] = " Get the vector storing the data\n\n\t\tReturns\n\t\t-------\n\t\tvector\n\t\t\tVector indexed by node id to node id of mate or none if unmatched\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Matching_21getVector(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getVector (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8Matching_20getVector(((struct __pyx_obj_9networkit_10_NetworKit_Matching *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_8Matching_20getVector(struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getVector", 0);

  /* "networkit/_NetworKit.pyx":11878
 * 			Vector indexed by node id to node id of mate or none if unmatched
 * 		"""
 * 		return self._this.getVector()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this.getVector();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11878, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11878, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11870
 * 		return Partition().setThis(self._this.toPartition(G._this))
 * 
 * 	def getVector(self):             # <<<<<<<<<<<<<<
 * 		""" Get the vector storing the data
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Matching.getVector", __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_9networkit_10_NetworKit_8Matching_23__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Matching_23__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8Matching_22__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Matching *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_8Matching_22__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__460, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Matching.__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_9networkit_10_NetworKit_8Matching_25__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_8Matching_25__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8Matching_24__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Matching *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_8Matching_24__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Matching *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__461, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Matching.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11894
 * 	cdef Graph G
 * 
 * 	def __init__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == Matcher:
 * 			raise RuntimeError("Instantiation of abstract base class")
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_7Matcher_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_7Matcher_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_namedargs = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_7Matcher___init__(((struct __pyx_obj_9networkit_10_NetworKit_Matcher *)__pyx_v_self), __pyx_v_args, __pyx_v_namedargs);

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_namedargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_7Matcher___init__(struct __pyx_obj_9networkit_10_NetworKit_Matcher *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_namedargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "networkit/_NetworKit.pyx":11895
 * 
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == Matcher:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Instantiation of abstract base class")
 * 
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), ((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Matcher), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11895, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 11895, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(__pyx_t_2)) {

    /* "networkit/_NetworKit.pyx":11896
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == Matcher:
 * 			raise RuntimeError("Instantiation of abstract base class")             # <<<<<<<<<<<<<<
 * 
 * 	def getMatching(self):
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__462, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11896, __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(0, 11896, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":11895
 * 
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == Matcher:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Instantiation of abstract base class")
 * 
 */
  }

  /* "networkit/_NetworKit.pyx":11894
 * 	cdef Graph G
 * 
 * 	def __init__(self, *args, **namedargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == Matcher:
 * 			raise RuntimeError("Instantiation of abstract base class")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Matcher.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11898
 * 			raise RuntimeError("Instantiation of abstract base class")
 * 
 * 	def getMatching(self):             # <<<<<<<<<<<<<<
 * 		"""  Returns the matching.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_7Matcher_3getMatching(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_7Matcher_2getMatching[] = "  Returns the matching.\n\n\t\tReturns\n\t\t-------\n\t\tMatching\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_7Matcher_3getMatching(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getMatching (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_7Matcher_2getMatching(((struct __pyx_obj_9networkit_10_NetworKit_Matcher *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_7Matcher_2getMatching(struct __pyx_obj_9networkit_10_NetworKit_Matcher *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  NetworKit::Matching __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("getMatching", 0);

  /* "networkit/_NetworKit.pyx":11905
 * 		Matching
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return Matching().setThis((<_Matcher*>(self._this)).getMatching())
 */
  __pyx_t_1 = ((__pyx_v_self->__pyx_base._this == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":11906
 * 		"""
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")             # <<<<<<<<<<<<<<
 * 		return Matching().setThis((<_Matcher*>(self._this)).getMatching())
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 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(0, 11906, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":11905
 * 		Matching
 * 		"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return Matching().setThis((<_Matcher*>(self._this)).getMatching())
 */
  }

  /* "networkit/_NetworKit.pyx":11907
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return Matching().setThis((<_Matcher*>(self._this)).getMatching())             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Matching)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  try {
    __pyx_t_3 = ((NetworKit::Matcher *)__pyx_v_self->__pyx_base._this)->getMatching();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11907, __pyx_L1_error)
  }
  __pyx_t_4 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Matching *)((struct __pyx_obj_9networkit_10_NetworKit_Matching *)__pyx_t_2)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Matching *)__pyx_t_2), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11907, __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;

  /* "networkit/_NetworKit.pyx":11898
 * 			raise RuntimeError("Instantiation of abstract base class")
 * 
 * 	def getMatching(self):             # <<<<<<<<<<<<<<
 * 		"""  Returns the matching.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("networkit._NetworKit.Matcher.getMatching", __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_9networkit_10_NetworKit_7Matcher_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_7Matcher_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_7Matcher_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Matcher *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_7Matcher_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Matcher *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__463, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Matcher.__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_9networkit_10_NetworKit_7Matcher_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_7Matcher_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_7Matcher_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Matcher *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_7Matcher_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Matcher *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__464, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Matcher.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11921
 * 	Computes an approximate maximum weight matching with guarantee 1/2.
 * 	"""
 * 	def __cinit__(self, Graph G not None, edgeScores=None):             # <<<<<<<<<<<<<<
 * 		self.G = G
 * 		if edgeScores:
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_18PathGrowingMatcher_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_18PathGrowingMatcher_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  PyObject *__pyx_v_edgeScores = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_edgeScores,0};
    PyObject* values[2] = {0,0};
    values[1] = ((PyObject *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_edgeScores);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11921, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_edgeScores = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11921, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PathGrowingMatcher.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 0, "G", 0))) __PYX_ERR(0, 11921, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18PathGrowingMatcher___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_PathGrowingMatcher *)__pyx_v_self), __pyx_v_G, __pyx_v_edgeScores);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_18PathGrowingMatcher___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PathGrowingMatcher *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, PyObject *__pyx_v_edgeScores) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  std::vector<double>  __pyx_t_2;
  NetworKit::PathGrowingMatcher *__pyx_t_3;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11922
 * 	"""
 * 	def __cinit__(self, Graph G not None, edgeScores=None):
 * 		self.G = G             # <<<<<<<<<<<<<<
 * 		if edgeScores:
 * 			self._this = new _PathGrowingMatcher(G._this, edgeScores)
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->__pyx_base.G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.G));
  __pyx_v_self->__pyx_base.G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":11923
 * 	def __cinit__(self, Graph G not None, edgeScores=None):
 * 		self.G = G
 * 		if edgeScores:             # <<<<<<<<<<<<<<
 * 			self._this = new _PathGrowingMatcher(G._this, edgeScores)
 * 		else:
 */
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_edgeScores); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 11923, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "networkit/_NetworKit.pyx":11924
 * 		self.G = G
 * 		if edgeScores:
 * 			self._this = new _PathGrowingMatcher(G._this, edgeScores)             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._this = new _PathGrowingMatcher(G._this)
 */
    __pyx_t_2 = __pyx_convert_vector_from_py_double(__pyx_v_edgeScores); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11924, __pyx_L1_error)
    try {
      __pyx_t_3 = new NetworKit::PathGrowingMatcher(__pyx_v_G->_this, __pyx_t_2);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 11924, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_3;

    /* "networkit/_NetworKit.pyx":11923
 * 	def __cinit__(self, Graph G not None, edgeScores=None):
 * 		self.G = G
 * 		if edgeScores:             # <<<<<<<<<<<<<<
 * 			self._this = new _PathGrowingMatcher(G._this, edgeScores)
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":11926
 * 			self._this = new _PathGrowingMatcher(G._this, edgeScores)
 * 		else:
 * 			self._this = new _PathGrowingMatcher(G._this)             # <<<<<<<<<<<<<<
 * 
 * # profiling
 */
  /*else*/ {
    try {
      __pyx_t_3 = new NetworKit::PathGrowingMatcher(__pyx_v_G->_this);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 11926, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base.__pyx_base._this = __pyx_t_3;
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":11921
 * 	Computes an approximate maximum weight matching with guarantee 1/2.
 * 	"""
 * 	def __cinit__(self, Graph G not None, edgeScores=None):             # <<<<<<<<<<<<<<
 * 		self.G = G
 * 		if edgeScores:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PathGrowingMatcher.__cinit__", __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_9networkit_10_NetworKit_18PathGrowingMatcher_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_18PathGrowingMatcher_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18PathGrowingMatcher_2__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PathGrowingMatcher *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_18PathGrowingMatcher_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PathGrowingMatcher *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__465, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PathGrowingMatcher.__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_9networkit_10_NetworKit_18PathGrowingMatcher_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_18PathGrowingMatcher_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_18PathGrowingMatcher_4__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PathGrowingMatcher *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_18PathGrowingMatcher_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PathGrowingMatcher *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__466, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PathGrowingMatcher.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11930
 * # profiling
 * 
 * def ranked(sample):             # <<<<<<<<<<<<<<
 * 	"""
 * 		Given a list of numbers, this function computes the rank of each value
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_21ranked(PyObject *__pyx_self, PyObject *__pyx_v_sample); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_20ranked[] = "\n\t\tGiven a list of numbers, this function computes the rank of each value\n\t\tand returns a list of ranks where result[i] is the rank of\n\t\tthe i-th element in the given sample.\n\t\tCurrently used in profiling.stat.\n\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_21ranked = {"ranked", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21ranked, METH_O, __pyx_doc_9networkit_10_NetworKit_20ranked};
static PyObject *__pyx_pw_9networkit_10_NetworKit_21ranked(PyObject *__pyx_self, PyObject *__pyx_v_sample) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("ranked (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20ranked(__pyx_self, ((PyObject *)__pyx_v_sample));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20ranked(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_sample) {
  std::vector<std::pair<double,__pyx_t_9networkit_10_NetworKit_count> >  __pyx_v_helper;
  std::vector<double>  __pyx_v_result;
  PyObject *__pyx_v_i = NULL;
  double __pyx_v_value;
  double __pyx_v_summ;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_length;
  PyObject *__pyx_v_j = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  std::vector<std::pair<double,__pyx_t_9networkit_10_NetworKit_count> >  __pyx_t_2;
  std::vector<double>  __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *(*__pyx_t_6)(PyObject *);
  PyObject *__pyx_t_7 = NULL;
  std::pair<double,__pyx_t_9networkit_10_NetworKit_count>  __pyx_t_8;
  std::vector<std::pair<double,__pyx_t_9networkit_10_NetworKit_count> > ::size_type __pyx_t_9;
  double __pyx_t_10;
  int __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  Py_ssize_t __pyx_t_13;
  PyObject *(*__pyx_t_14)(PyObject *);
  __Pyx_RefNannySetupContext("ranked", 0);

  /* "networkit/_NetworKit.pyx":11937
 * 		Currently used in profiling.stat.
 * 	"""
 * 	cdef vector[pair[double, count]] helper = vector[pair[double, count]](len(sample))             # <<<<<<<<<<<<<<
 * 	cdef vector[double] result = vector[double](len(sample), 0)
 * 	for i in range(len(sample)):
 */
  __pyx_t_1 = PyObject_Length(__pyx_v_sample); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 11937, __pyx_L1_error)
  try {
    __pyx_t_2 = std::vector<std::pair<double,__pyx_t_9networkit_10_NetworKit_count> > (__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11937, __pyx_L1_error)
  }
  __pyx_v_helper = __pyx_t_2;

  /* "networkit/_NetworKit.pyx":11938
 * 	"""
 * 	cdef vector[pair[double, count]] helper = vector[pair[double, count]](len(sample))
 * 	cdef vector[double] result = vector[double](len(sample), 0)             # <<<<<<<<<<<<<<
 * 	for i in range(len(sample)):
 * 		helper[i] = <pair[double, count]?>(sample[i], i)
 */
  __pyx_t_1 = PyObject_Length(__pyx_v_sample); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 11938, __pyx_L1_error)
  try {
    __pyx_t_3 = std::vector<double> (__pyx_t_1, 0.0);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11938, __pyx_L1_error)
  }
  __pyx_v_result = __pyx_t_3;

  /* "networkit/_NetworKit.pyx":11939
 * 	cdef vector[pair[double, count]] helper = vector[pair[double, count]](len(sample))
 * 	cdef vector[double] result = vector[double](len(sample), 0)
 * 	for i in range(len(sample)):             # <<<<<<<<<<<<<<
 * 		helper[i] = <pair[double, count]?>(sample[i], i)
 * 	sort(helper.begin(), helper.end())
 */
  __pyx_t_1 = PyObject_Length(__pyx_v_sample); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 11939, __pyx_L1_error)
  __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
    __pyx_t_4 = __pyx_t_5; __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_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11939, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11939, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  for (;;) {
    if (likely(!__pyx_t_6)) {
      if (likely(PyList_CheckExact(__pyx_t_4))) {
        if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_1); __Pyx_INCREF(__pyx_t_5); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 11939, __pyx_L1_error)
        #else
        __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11939, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        #endif
      } else {
        if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_1); __Pyx_INCREF(__pyx_t_5); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 11939, __pyx_L1_error)
        #else
        __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11939, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        #endif
      }
    } else {
      __pyx_t_5 = __pyx_t_6(__pyx_t_4);
      if (unlikely(!__pyx_t_5)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 11939, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_5);
    __pyx_t_5 = 0;

    /* "networkit/_NetworKit.pyx":11940
 * 	cdef vector[double] result = vector[double](len(sample), 0)
 * 	for i in range(len(sample)):
 * 		helper[i] = <pair[double, count]?>(sample[i], i)             # <<<<<<<<<<<<<<
 * 	sort(helper.begin(), helper.end())
 * 	cdef double value = helper[0].first
 */
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_sample, __pyx_v_i); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11940, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 11940, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_GIVEREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5);
    __Pyx_INCREF(__pyx_v_i);
    __Pyx_GIVEREF(__pyx_v_i);
    PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_v_i);
    __pyx_t_5 = 0;
    __pyx_t_8 = __pyx_convert_pair_from_py_double__and___pyx_t_9networkit_10_NetworKit_count(__pyx_t_7); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11940, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_9 = __Pyx_PyInt_As_size_t(__pyx_v_i); if (unlikely((__pyx_t_9 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11940, __pyx_L1_error)
    (__pyx_v_helper[__pyx_t_9]) = ((std::pair<double,__pyx_t_9networkit_10_NetworKit_count> )__pyx_t_8);

    /* "networkit/_NetworKit.pyx":11939
 * 	cdef vector[pair[double, count]] helper = vector[pair[double, count]](len(sample))
 * 	cdef vector[double] result = vector[double](len(sample), 0)
 * 	for i in range(len(sample)):             # <<<<<<<<<<<<<<
 * 		helper[i] = <pair[double, count]?>(sample[i], i)
 * 	sort(helper.begin(), helper.end())
 */
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "networkit/_NetworKit.pyx":11941
 * 	for i in range(len(sample)):
 * 		helper[i] = <pair[double, count]?>(sample[i], i)
 * 	sort(helper.begin(), helper.end())             # <<<<<<<<<<<<<<
 * 	cdef double value = helper[0].first
 * 	cdef double summ = 0.
 */
  Aux::Parallel::sort<std::vector<std::pair<double,__pyx_t_9networkit_10_NetworKit_count> > ::iterator>(__pyx_v_helper.begin(), __pyx_v_helper.end());

  /* "networkit/_NetworKit.pyx":11942
 * 		helper[i] = <pair[double, count]?>(sample[i], i)
 * 	sort(helper.begin(), helper.end())
 * 	cdef double value = helper[0].first             # <<<<<<<<<<<<<<
 * 	cdef double summ = 0.
 * 	cdef count length = 0
 */
  __pyx_t_10 = (__pyx_v_helper[0]).first;
  __pyx_v_value = __pyx_t_10;

  /* "networkit/_NetworKit.pyx":11943
 * 	sort(helper.begin(), helper.end())
 * 	cdef double value = helper[0].first
 * 	cdef double summ = 0.             # <<<<<<<<<<<<<<
 * 	cdef count length = 0
 * 	for i in range(len(sample)):
 */
  __pyx_v_summ = 0.;

  /* "networkit/_NetworKit.pyx":11944
 * 	cdef double value = helper[0].first
 * 	cdef double summ = 0.
 * 	cdef count length = 0             # <<<<<<<<<<<<<<
 * 	for i in range(len(sample)):
 * 		if value == helper[i].first:
 */
  __pyx_v_length = 0;

  /* "networkit/_NetworKit.pyx":11945
 * 	cdef double summ = 0.
 * 	cdef count length = 0
 * 	for i in range(len(sample)):             # <<<<<<<<<<<<<<
 * 		if value == helper[i].first:
 * 			summ += (i+1)
 */
  __pyx_t_1 = PyObject_Length(__pyx_v_sample); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 11945, __pyx_L1_error)
  __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 11945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) {
    __pyx_t_4 = __pyx_t_7; __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_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11945, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  for (;;) {
    if (likely(!__pyx_t_6)) {
      if (likely(PyList_CheckExact(__pyx_t_4))) {
        if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_7 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_1); __Pyx_INCREF(__pyx_t_7); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 11945, __pyx_L1_error)
        #else
        __pyx_t_7 = PySequence_ITEM(__pyx_t_4, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 11945, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        #endif
      } else {
        if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_1); __Pyx_INCREF(__pyx_t_7); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 11945, __pyx_L1_error)
        #else
        __pyx_t_7 = PySequence_ITEM(__pyx_t_4, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 11945, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        #endif
      }
    } else {
      __pyx_t_7 = __pyx_t_6(__pyx_t_4);
      if (unlikely(!__pyx_t_7)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 11945, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_7);
    }
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_7);
    __pyx_t_7 = 0;

    /* "networkit/_NetworKit.pyx":11946
 * 	cdef count length = 0
 * 	for i in range(len(sample)):
 * 		if value == helper[i].first:             # <<<<<<<<<<<<<<
 * 			summ += (i+1)
 * 			length += 1
 */
    __pyx_t_9 = __Pyx_PyInt_As_size_t(__pyx_v_i); if (unlikely((__pyx_t_9 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11946, __pyx_L1_error)
    __pyx_t_11 = ((__pyx_v_value == (__pyx_v_helper[__pyx_t_9]).first) != 0);
    if (__pyx_t_11) {

      /* "networkit/_NetworKit.pyx":11947
 * 	for i in range(len(sample)):
 * 		if value == helper[i].first:
 * 			summ += (i+1)             # <<<<<<<<<<<<<<
 * 			length += 1
 * 		else:
 */
      __pyx_t_7 = PyFloat_FromDouble(__pyx_v_summ); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 11947, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11947, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 11947, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 11947, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __pyx_v_summ = __pyx_t_10;

      /* "networkit/_NetworKit.pyx":11948
 * 		if value == helper[i].first:
 * 			summ += (i+1)
 * 			length += 1             # <<<<<<<<<<<<<<
 * 		else:
 * 			summ /= length
 */
      __pyx_v_length = (__pyx_v_length + 1);

      /* "networkit/_NetworKit.pyx":11946
 * 	cdef count length = 0
 * 	for i in range(len(sample)):
 * 		if value == helper[i].first:             # <<<<<<<<<<<<<<
 * 			summ += (i+1)
 * 			length += 1
 */
      goto __pyx_L7;
    }

    /* "networkit/_NetworKit.pyx":11950
 * 			length += 1
 * 		else:
 * 			summ /= length             # <<<<<<<<<<<<<<
 * 			for j in range(length):
 * 				result[helper[i-j-1].second] = summ
 */
    /*else*/ {
      if (unlikely(__pyx_v_length == 0)) {
        PyErr_SetString(PyExc_ZeroDivisionError, "float division");
        __PYX_ERR(0, 11950, __pyx_L1_error)
      }
      __pyx_v_summ = (__pyx_v_summ / __pyx_v_length);

      /* "networkit/_NetworKit.pyx":11951
 * 		else:
 * 			summ /= length
 * 			for j in range(length):             # <<<<<<<<<<<<<<
 * 				result[helper[i-j-1].second] = summ
 * 			value = helper[i].first
 */
      __pyx_t_12 = __Pyx_PyInt_From_uint64_t(__pyx_v_length); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 11951, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11951, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
        __pyx_t_12 = __pyx_t_5; __Pyx_INCREF(__pyx_t_12); __pyx_t_13 = 0;
        __pyx_t_14 = NULL;
      } else {
        __pyx_t_13 = -1; __pyx_t_12 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 11951, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_12);
        __pyx_t_14 = Py_TYPE(__pyx_t_12)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 11951, __pyx_L1_error)
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      for (;;) {
        if (likely(!__pyx_t_14)) {
          if (likely(PyList_CheckExact(__pyx_t_12))) {
            if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_12)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_5 = PyList_GET_ITEM(__pyx_t_12, __pyx_t_13); __Pyx_INCREF(__pyx_t_5); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 11951, __pyx_L1_error)
            #else
            __pyx_t_5 = PySequence_ITEM(__pyx_t_12, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11951, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            #endif
          } else {
            if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_12)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_12, __pyx_t_13); __Pyx_INCREF(__pyx_t_5); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 11951, __pyx_L1_error)
            #else
            __pyx_t_5 = PySequence_ITEM(__pyx_t_12, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11951, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            #endif
          }
        } else {
          __pyx_t_5 = __pyx_t_14(__pyx_t_12);
          if (unlikely(!__pyx_t_5)) {
            PyObject* exc_type = PyErr_Occurred();
            if (exc_type) {
              if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
              else __PYX_ERR(0, 11951, __pyx_L1_error)
            }
            break;
          }
          __Pyx_GOTREF(__pyx_t_5);
        }
        __Pyx_XDECREF_SET(__pyx_v_j, __pyx_t_5);
        __pyx_t_5 = 0;

        /* "networkit/_NetworKit.pyx":11952
 * 			summ /= length
 * 			for j in range(length):
 * 				result[helper[i-j-1].second] = summ             # <<<<<<<<<<<<<<
 * 			value = helper[i].first
 * 			summ = i+1
 */
        __pyx_t_5 = PyNumber_Subtract(__pyx_v_i, __pyx_v_j); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11952, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_7 = __Pyx_PyInt_SubtractObjC(__pyx_t_5, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 11952, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_9 = __Pyx_PyInt_As_size_t(__pyx_t_7); if (unlikely((__pyx_t_9 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11952, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        (__pyx_v_result[(__pyx_v_helper[__pyx_t_9]).second]) = __pyx_v_summ;

        /* "networkit/_NetworKit.pyx":11951
 * 		else:
 * 			summ /= length
 * 			for j in range(length):             # <<<<<<<<<<<<<<
 * 				result[helper[i-j-1].second] = summ
 * 			value = helper[i].first
 */
      }
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;

      /* "networkit/_NetworKit.pyx":11953
 * 			for j in range(length):
 * 				result[helper[i-j-1].second] = summ
 * 			value = helper[i].first             # <<<<<<<<<<<<<<
 * 			summ = i+1
 * 			length = 1
 */
      __pyx_t_9 = __Pyx_PyInt_As_size_t(__pyx_v_i); if (unlikely((__pyx_t_9 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11953, __pyx_L1_error)
      __pyx_t_10 = (__pyx_v_helper[__pyx_t_9]).first;
      __pyx_v_value = __pyx_t_10;

      /* "networkit/_NetworKit.pyx":11954
 * 				result[helper[i-j-1].second] = summ
 * 			value = helper[i].first
 * 			summ = i+1             # <<<<<<<<<<<<<<
 * 			length = 1
 * 	summ /= length
 */
      __pyx_t_12 = __Pyx_PyInt_AddObjC(__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 11954, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 11954, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __pyx_v_summ = __pyx_t_10;

      /* "networkit/_NetworKit.pyx":11955
 * 			value = helper[i].first
 * 			summ = i+1
 * 			length = 1             # <<<<<<<<<<<<<<
 * 	summ /= length
 * 	for j in range(length):
 */
      __pyx_v_length = 1;
    }
    __pyx_L7:;

    /* "networkit/_NetworKit.pyx":11945
 * 	cdef double summ = 0.
 * 	cdef count length = 0
 * 	for i in range(len(sample)):             # <<<<<<<<<<<<<<
 * 		if value == helper[i].first:
 * 			summ += (i+1)
 */
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "networkit/_NetworKit.pyx":11956
 * 			summ = i+1
 * 			length = 1
 * 	summ /= length             # <<<<<<<<<<<<<<
 * 	for j in range(length):
 * 		result[helper[len(sample)-j-1].second] = summ
 */
  if (unlikely(__pyx_v_length == 0)) {
    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
    __PYX_ERR(0, 11956, __pyx_L1_error)
  }
  __pyx_v_summ = (__pyx_v_summ / __pyx_v_length);

  /* "networkit/_NetworKit.pyx":11957
 * 			length = 1
 * 	summ /= length
 * 	for j in range(length):             # <<<<<<<<<<<<<<
 * 		result[helper[len(sample)-j-1].second] = summ
 * 	return result
 */
  __pyx_t_4 = __Pyx_PyInt_From_uint64_t(__pyx_v_length); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11957, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_12 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_t_4); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 11957, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (likely(PyList_CheckExact(__pyx_t_12)) || PyTuple_CheckExact(__pyx_t_12)) {
    __pyx_t_4 = __pyx_t_12; __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_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11957, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11957, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
  for (;;) {
    if (likely(!__pyx_t_6)) {
      if (likely(PyList_CheckExact(__pyx_t_4))) {
        if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_12 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_1); __Pyx_INCREF(__pyx_t_12); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 11957, __pyx_L1_error)
        #else
        __pyx_t_12 = PySequence_ITEM(__pyx_t_4, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 11957, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_12);
        #endif
      } else {
        if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_12 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_1); __Pyx_INCREF(__pyx_t_12); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 11957, __pyx_L1_error)
        #else
        __pyx_t_12 = PySequence_ITEM(__pyx_t_4, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 11957, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_12);
        #endif
      }
    } else {
      __pyx_t_12 = __pyx_t_6(__pyx_t_4);
      if (unlikely(!__pyx_t_12)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 11957, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_12);
    }
    __Pyx_XDECREF_SET(__pyx_v_j, __pyx_t_12);
    __pyx_t_12 = 0;

    /* "networkit/_NetworKit.pyx":11958
 * 	summ /= length
 * 	for j in range(length):
 * 		result[helper[len(sample)-j-1].second] = summ             # <<<<<<<<<<<<<<
 * 	return result
 * 
 */
    __pyx_t_13 = PyObject_Length(__pyx_v_sample); if (unlikely(__pyx_t_13 == ((Py_ssize_t)-1))) __PYX_ERR(0, 11958, __pyx_L1_error)
    __pyx_t_12 = PyInt_FromSsize_t(__pyx_t_13); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 11958, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __pyx_t_7 = PyNumber_Subtract(__pyx_t_12, __pyx_v_j); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 11958, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_12 = __Pyx_PyInt_SubtractObjC(__pyx_t_7, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 11958, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_9 = __Pyx_PyInt_As_size_t(__pyx_t_12); if (unlikely((__pyx_t_9 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 11958, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    (__pyx_v_result[(__pyx_v_helper[__pyx_t_9]).second]) = __pyx_v_summ;

    /* "networkit/_NetworKit.pyx":11957
 * 			length = 1
 * 	summ /= length
 * 	for j in range(length):             # <<<<<<<<<<<<<<
 * 		result[helper[len(sample)-j-1].second] = summ
 * 	return result
 */
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "networkit/_NetworKit.pyx":11959
 * 	for j in range(length):
 * 		result[helper[len(sample)-j-1].second] = summ
 * 	return result             # <<<<<<<<<<<<<<
 * 
 * def sort2(sample):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_4 = __pyx_convert_vector_to_py_double(__pyx_v_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11959, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11930
 * # profiling
 * 
 * def ranked(sample):             # <<<<<<<<<<<<<<
 * 	"""
 * 		Given a list of numbers, this function computes the rank of each value
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("networkit._NetworKit.ranked", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_i);
  __Pyx_XDECREF(__pyx_v_j);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11961
 * 	return result
 * 
 * def sort2(sample):             # <<<<<<<<<<<<<<
 * 	"""
 * 		Sorts a given list of numbers.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_23sort2(PyObject *__pyx_self, PyObject *__pyx_v_sample); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_22sort2[] = "\n\t\tSorts a given list of numbers.\n\t\tCurrently used as profiling.stat.sorted.\n\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_23sort2 = {"sort2", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_23sort2, METH_O, __pyx_doc_9networkit_10_NetworKit_22sort2};
static PyObject *__pyx_pw_9networkit_10_NetworKit_23sort2(PyObject *__pyx_self, PyObject *__pyx_v_sample) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sort2 (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22sort2(__pyx_self, ((PyObject *)__pyx_v_sample));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_22sort2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_sample) {
  std::vector<double>  __pyx_v_result;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<double>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("sort2", 0);

  /* "networkit/_NetworKit.pyx":11966
 * 		Currently used as profiling.stat.sorted.
 * 	"""
 * 	cdef vector[double] result = <vector[double]?>sample             # <<<<<<<<<<<<<<
 * 	sort(result.begin(),result.end())
 * 	return result
 */
  __pyx_t_1 = __pyx_convert_vector_from_py_double(__pyx_v_sample); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 11966, __pyx_L1_error)
  __pyx_v_result = ((std::vector<double> )__pyx_t_1);

  /* "networkit/_NetworKit.pyx":11967
 * 	"""
 * 	cdef vector[double] result = <vector[double]?>sample
 * 	sort(result.begin(),result.end())             # <<<<<<<<<<<<<<
 * 	return result
 * 
 */
  Aux::Parallel::sort<std::vector<double> ::iterator>(__pyx_v_result.begin(), __pyx_v_result.end());

  /* "networkit/_NetworKit.pyx":11968
 * 	cdef vector[double] result = <vector[double]?>sample
 * 	sort(result.begin(),result.end())
 * 	return result             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_convert_vector_to_py_double(__pyx_v_result); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11968, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":11961
 * 	return result
 * 
 * def sort2(sample):             # <<<<<<<<<<<<<<
 * 	"""
 * 		Sorts a given list of numbers.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.sort2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":11997
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self,  Graph G, double tol = 0.1):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _CommuteTimeDistance(G._this, tol)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_19CommuteTimeDistance_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_19CommuteTimeDistance_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  double __pyx_v_tol;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_tol,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tol);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 11997, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    if (values[1]) {
      __pyx_v_tol = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_tol == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 11997, __pyx_L3_error)
    } else {
      __pyx_v_tol = ((double)0.1);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 11997, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.CommuteTimeDistance.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 11997, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19CommuteTimeDistance___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *)__pyx_v_self), __pyx_v_G, __pyx_v_tol);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_19CommuteTimeDistance___cinit__(struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, double __pyx_v_tol) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::CommuteTimeDistance *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":11998
 * 
 * 	def __cinit__(self,  Graph G, double tol = 0.1):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _CommuteTimeDistance(G._this, tol)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":11999
 * 	def __cinit__(self,  Graph G, double tol = 0.1):
 * 		self._G = G
 * 		self._this = new _CommuteTimeDistance(G._this, tol)             # <<<<<<<<<<<<<<
 * 
 * 	def runApproximation(self):
 */
  try {
    __pyx_t_1 = new NetworKit::CommuteTimeDistance(__pyx_v_G->_this, __pyx_v_tol);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 11999, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":11997
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self,  Graph G, double tol = 0.1):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _CommuteTimeDistance(G._this, tol)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.CommuteTimeDistance.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12001
 * 		self._this = new _CommuteTimeDistance(G._this, tol)
 * 
 * 	def runApproximation(self):             # <<<<<<<<<<<<<<
 * 		""" Computes approximation of the ECTD. """
 * 		return (<_CommuteTimeDistance*>(self._this)).runApproximation()
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19CommuteTimeDistance_3runApproximation(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_19CommuteTimeDistance_2runApproximation[] = " Computes approximation of the ECTD. ";
static PyObject *__pyx_pw_9networkit_10_NetworKit_19CommuteTimeDistance_3runApproximation(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("runApproximation (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19CommuteTimeDistance_2runApproximation(((struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19CommuteTimeDistance_2runApproximation(struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("runApproximation", 0);

  /* "networkit/_NetworKit.pyx":12003
 * 	def runApproximation(self):
 * 		""" Computes approximation of the ECTD. """
 * 		return (<_CommuteTimeDistance*>(self._this)).runApproximation()             # <<<<<<<<<<<<<<
 * 
 * 	def runParallelApproximation(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    ((NetworKit::CommuteTimeDistance *)__pyx_v_self->__pyx_base._this)->runApproximation();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12003, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12003, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12001
 * 		self._this = new _CommuteTimeDistance(G._this, tol)
 * 
 * 	def runApproximation(self):             # <<<<<<<<<<<<<<
 * 		""" Computes approximation of the ECTD. """
 * 		return (<_CommuteTimeDistance*>(self._this)).runApproximation()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.CommuteTimeDistance.runApproximation", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12005
 * 		return (<_CommuteTimeDistance*>(self._this)).runApproximation()
 * 
 * 	def runParallelApproximation(self):             # <<<<<<<<<<<<<<
 * 		""" Computes approximation (in parallel) of the ECTD. """
 * 		return (<_CommuteTimeDistance*>(self._this)).runParallelApproximation()
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19CommuteTimeDistance_5runParallelApproximation(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_19CommuteTimeDistance_4runParallelApproximation[] = " Computes approximation (in parallel) of the ECTD. ";
static PyObject *__pyx_pw_9networkit_10_NetworKit_19CommuteTimeDistance_5runParallelApproximation(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("runParallelApproximation (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19CommuteTimeDistance_4runParallelApproximation(((struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19CommuteTimeDistance_4runParallelApproximation(struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("runParallelApproximation", 0);

  /* "networkit/_NetworKit.pyx":12007
 * 	def runParallelApproximation(self):
 * 		""" Computes approximation (in parallel) of the ECTD. """
 * 		return (<_CommuteTimeDistance*>(self._this)).runParallelApproximation()             # <<<<<<<<<<<<<<
 * 
 * 	def distance(self, u, v):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    ((NetworKit::CommuteTimeDistance *)__pyx_v_self->__pyx_base._this)->runParallelApproximation();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12007, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12005
 * 		return (<_CommuteTimeDistance*>(self._this)).runApproximation()
 * 
 * 	def runParallelApproximation(self):             # <<<<<<<<<<<<<<
 * 		""" Computes approximation (in parallel) of the ECTD. """
 * 		return (<_CommuteTimeDistance*>(self._this)).runParallelApproximation()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.CommuteTimeDistance.runParallelApproximation", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12009
 * 		return (<_CommuteTimeDistance*>(self._this)).runParallelApproximation()
 * 
 * 	def distance(self, u, v):             # <<<<<<<<<<<<<<
 * 		"""  Returns the ECTD between node u and node v.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19CommuteTimeDistance_7distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_19CommuteTimeDistance_6distance[] = "  Returns the ECTD between node u and node v.\n\n\t\tu : node\n\t\tv : node\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_19CommuteTimeDistance_7distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_u = 0;
  PyObject *__pyx_v_v = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("distance (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("distance", 1, 2, 2, 1); __PYX_ERR(0, 12009, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "distance") < 0)) __PYX_ERR(0, 12009, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = values[0];
    __pyx_v_v = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("distance", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 12009, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.CommuteTimeDistance.distance", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19CommuteTimeDistance_6distance(((struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19CommuteTimeDistance_6distance(struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_2;
  double __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("distance", 0);

  /* "networkit/_NetworKit.pyx":12015
 * 		v : node
 * 		"""
 * 		return (<_CommuteTimeDistance*>(self._this)).distance(u, v)             # <<<<<<<<<<<<<<
 * 
 * 	def runSinglePair(self, u, v):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 12015, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 12015, __pyx_L1_error)
  try {
    __pyx_t_3 = ((NetworKit::CommuteTimeDistance *)__pyx_v_self->__pyx_base._this)->distance(__pyx_t_1, __pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12015, __pyx_L1_error)
  }
  __pyx_t_4 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12009
 * 		return (<_CommuteTimeDistance*>(self._this)).runParallelApproximation()
 * 
 * 	def distance(self, u, v):             # <<<<<<<<<<<<<<
 * 		"""  Returns the ECTD between node u and node v.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("networkit._NetworKit.CommuteTimeDistance.distance", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12017
 * 		return (<_CommuteTimeDistance*>(self._this)).distance(u, v)
 * 
 * 	def runSinglePair(self, u, v):             # <<<<<<<<<<<<<<
 * 		"""  Returns the ECTD between node u and node v, without preprocessing.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19CommuteTimeDistance_9runSinglePair(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_19CommuteTimeDistance_8runSinglePair[] = "  Returns the ECTD between node u and node v, without preprocessing.\n\n\t\tu : node\n\t\tv : node\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_19CommuteTimeDistance_9runSinglePair(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_u = 0;
  PyObject *__pyx_v_v = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("runSinglePair (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_u,&__pyx_n_s_v,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_u)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("runSinglePair", 1, 2, 2, 1); __PYX_ERR(0, 12017, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "runSinglePair") < 0)) __PYX_ERR(0, 12017, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_u = values[0];
    __pyx_v_v = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("runSinglePair", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 12017, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.CommuteTimeDistance.runSinglePair", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19CommuteTimeDistance_8runSinglePair(((struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *)__pyx_v_self), __pyx_v_u, __pyx_v_v);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19CommuteTimeDistance_8runSinglePair(struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *__pyx_v_self, PyObject *__pyx_v_u, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_2;
  double __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("runSinglePair", 0);

  /* "networkit/_NetworKit.pyx":12023
 * 		v : node
 * 		"""
 * 		return (<_CommuteTimeDistance*>(self._this)).runSinglePair(u, v)             # <<<<<<<<<<<<<<
 * 
 * 	def runSingleSource(self, u):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 12023, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_uint64_t(__pyx_v_v); if (unlikely((__pyx_t_2 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 12023, __pyx_L1_error)
  try {
    __pyx_t_3 = ((NetworKit::CommuteTimeDistance *)__pyx_v_self->__pyx_base._this)->runSinglePair(__pyx_t_1, __pyx_t_2);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12023, __pyx_L1_error)
  }
  __pyx_t_4 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12023, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12017
 * 		return (<_CommuteTimeDistance*>(self._this)).distance(u, v)
 * 
 * 	def runSinglePair(self, u, v):             # <<<<<<<<<<<<<<
 * 		"""  Returns the ECTD between node u and node v, without preprocessing.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("networkit._NetworKit.CommuteTimeDistance.runSinglePair", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12025
 * 		return (<_CommuteTimeDistance*>(self._this)).runSinglePair(u, v)
 * 
 * 	def runSingleSource(self, u):             # <<<<<<<<<<<<<<
 * 		"""  Returns the sum of the ECTDs from u, without preprocessing.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_19CommuteTimeDistance_11runSingleSource(PyObject *__pyx_v_self, PyObject *__pyx_v_u); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_19CommuteTimeDistance_10runSingleSource[] = "  Returns the sum of the ECTDs from u, without preprocessing.\n\n\t\tu : node\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_19CommuteTimeDistance_11runSingleSource(PyObject *__pyx_v_self, PyObject *__pyx_v_u) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("runSingleSource (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19CommuteTimeDistance_10runSingleSource(((struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *)__pyx_v_self), ((PyObject *)__pyx_v_u));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19CommuteTimeDistance_10runSingleSource(struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *__pyx_v_self, PyObject *__pyx_v_u) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_1;
  double __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("runSingleSource", 0);

  /* "networkit/_NetworKit.pyx":12030
 * 		u : node
 * 		"""
 * 		return (<_CommuteTimeDistance*>(self._this)).runSingleSource(u)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_u); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 12030, __pyx_L1_error)
  try {
    __pyx_t_2 = ((NetworKit::CommuteTimeDistance *)__pyx_v_self->__pyx_base._this)->runSingleSource(__pyx_t_1);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12030, __pyx_L1_error)
  }
  __pyx_t_3 = PyFloat_FromDouble(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12025
 * 		return (<_CommuteTimeDistance*>(self._this)).runSinglePair(u, v)
 * 
 * 	def runSingleSource(self, u):             # <<<<<<<<<<<<<<
 * 		"""  Returns the sum of the ECTDs from u, without preprocessing.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.CommuteTimeDistance.runSingleSource", __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_9networkit_10_NetworKit_19CommuteTimeDistance_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19CommuteTimeDistance_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19CommuteTimeDistance_12__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19CommuteTimeDistance_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__467, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.CommuteTimeDistance.__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_9networkit_10_NetworKit_19CommuteTimeDistance_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_19CommuteTimeDistance_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_19CommuteTimeDistance_14__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_19CommuteTimeDistance_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__468, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.CommuteTimeDistance.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12035
 * # stats
 * 
 * def gini(values):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Computes the Gini coefficient for the distribution given as a list of values.
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_25gini(PyObject *__pyx_self, PyObject *__pyx_v_values); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_24gini[] = "\n\tComputes the Gini coefficient for the distribution given as a list of values.\n\t";
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_25gini = {"gini", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_25gini, METH_O, __pyx_doc_9networkit_10_NetworKit_24gini};
static PyObject *__pyx_pw_9networkit_10_NetworKit_25gini(PyObject *__pyx_self, PyObject *__pyx_v_values) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("gini (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_24gini(__pyx_self, ((PyObject *)__pyx_v_values));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_24gini(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_values) {
  PyObject *__pyx_v_sorted_list = NULL;
  PyObject *__pyx_v_height = NULL;
  PyObject *__pyx_v_area = NULL;
  PyObject *__pyx_v_value = NULL;
  PyObject *__pyx_v_fair_area = 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;
  __Pyx_RefNannySetupContext("gini", 0);

  /* "networkit/_NetworKit.pyx":12039
 * 	Computes the Gini coefficient for the distribution given as a list of values.
 * 	"""
 * 	sorted_list = sorted(values)             # <<<<<<<<<<<<<<
 * 	height, area = 0, 0
 * 	for value in sorted_list:
 */
  __pyx_t_2 = PySequence_List(__pyx_v_values); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_3 = PyList_Sort(__pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 12039, __pyx_L1_error)
  __pyx_v_sorted_list = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":12040
 * 	"""
 * 	sorted_list = sorted(values)
 * 	height, area = 0, 0             # <<<<<<<<<<<<<<
 * 	for value in sorted_list:
 * 		height += value
 */
  __pyx_t_1 = __pyx_int_0;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = __pyx_int_0;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_v_height = __pyx_t_1;
  __pyx_t_1 = 0;
  __pyx_v_area = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":12041
 * 	sorted_list = sorted(values)
 * 	height, area = 0, 0
 * 	for value in sorted_list:             # <<<<<<<<<<<<<<
 * 		height += value
 * 		area += height - value / 2.
 */
  if (unlikely(__pyx_v_sorted_list == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(0, 12041, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_v_sorted_list; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0;
  for (;;) {
    if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break;
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 12041, __pyx_L1_error)
    #else
    __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12041, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    #endif
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "networkit/_NetworKit.pyx":12042
 * 	height, area = 0, 0
 * 	for value in sorted_list:
 * 		height += value             # <<<<<<<<<<<<<<
 * 		area += height - value / 2.
 * 	fair_area = height * len(values) / 2
 */
    __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_height, __pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12042, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF_SET(__pyx_v_height, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "networkit/_NetworKit.pyx":12043
 * 	for value in sorted_list:
 * 		height += value
 * 		area += height - value / 2.             # <<<<<<<<<<<<<<
 * 	fair_area = height * len(values) / 2
 * 	return (fair_area - area) / fair_area
 */
    __pyx_t_1 = __Pyx_PyFloat_TrueDivideObjC(__pyx_v_value, __pyx_float_2_, 2., 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12043, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = PyNumber_Subtract(__pyx_v_height, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12043, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_area, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12043, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF_SET(__pyx_v_area, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "networkit/_NetworKit.pyx":12041
 * 	sorted_list = sorted(values)
 * 	height, area = 0, 0
 * 	for value in sorted_list:             # <<<<<<<<<<<<<<
 * 		height += value
 * 		area += height - value / 2.
 */
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":12044
 * 		height += value
 * 		area += height - value / 2.
 * 	fair_area = height * len(values) / 2             # <<<<<<<<<<<<<<
 * 	return (fair_area - area) / fair_area
 * 
 */
  __pyx_t_4 = PyObject_Length(__pyx_v_values); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 12044, __pyx_L1_error)
  __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyNumber_Multiply(__pyx_v_height, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyInt_TrueDivideObjC(__pyx_t_1, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_fair_area = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":12045
 * 		area += height - value / 2.
 * 	fair_area = height * len(values) / 2
 * 	return (fair_area - area) / fair_area             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyNumber_Subtract(__pyx_v_fair_area, __pyx_v_area); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_v_fair_area); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12045, __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;

  /* "networkit/_NetworKit.pyx":12035
 * # stats
 * 
 * def gini(values):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Computes the Gini coefficient for the distribution given as a list of values.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("networkit._NetworKit.gini", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_sorted_list);
  __Pyx_XDECREF(__pyx_v_height);
  __Pyx_XDECREF(__pyx_v_area);
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_fair_area);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12073
 * 	"""
 * 	cdef Graph G
 * 	def __cinit__(self, Graph G, count tMax, double transP=0.5, count eTime=2, count iTime=7, node zero=none):             # <<<<<<<<<<<<<<
 * 		self.G = G
 * 		self._this = new _EpidemicSimulationSEIR(G._this, tMax, transP, eTime, iTime, zero)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_22EpidemicSimulationSEIR_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_22EpidemicSimulationSEIR_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_tMax;
  double __pyx_v_transP;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_eTime;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_iTime;
  __pyx_t_9networkit_10_NetworKit_node __pyx_v_zero;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_tMax,&__pyx_n_s_transP,&__pyx_n_s_eTime,&__pyx_n_s_iTime,&__pyx_n_s_zero,0};
    PyObject* values[6] = {0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tMax)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 6, 1); __PYX_ERR(0, 12073, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_transP);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_eTime);
          if (value) { values[3] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_iTime);
          if (value) { values[4] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zero);
          if (value) { values[5] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 12073, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_tMax = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_tMax == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 12073, __pyx_L3_error)
    if (values[2]) {
      __pyx_v_transP = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_transP == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 12073, __pyx_L3_error)
    } else {
      __pyx_v_transP = ((double)0.5);
    }
    if (values[3]) {
      __pyx_v_eTime = __Pyx_PyInt_As_uint64_t(values[3]); if (unlikely((__pyx_v_eTime == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 12073, __pyx_L3_error)
    } else {
      __pyx_v_eTime = ((__pyx_t_9networkit_10_NetworKit_count)2);
    }
    if (values[4]) {
      __pyx_v_iTime = __Pyx_PyInt_As_uint64_t(values[4]); if (unlikely((__pyx_v_iTime == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 12073, __pyx_L3_error)
    } else {
      __pyx_v_iTime = ((__pyx_t_9networkit_10_NetworKit_count)7);
    }
    if (values[5]) {
      __pyx_v_zero = __Pyx_PyInt_As_uint64_t(values[5]); if (unlikely((__pyx_v_zero == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 12073, __pyx_L3_error)
    } else {
      __pyx_v_zero = __pyx_k__469;
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 12073, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EpidemicSimulationSEIR.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 12073, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22EpidemicSimulationSEIR___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_EpidemicSimulationSEIR *)__pyx_v_self), __pyx_v_G, __pyx_v_tMax, __pyx_v_transP, __pyx_v_eTime, __pyx_v_iTime, __pyx_v_zero);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_22EpidemicSimulationSEIR___cinit__(struct __pyx_obj_9networkit_10_NetworKit_EpidemicSimulationSEIR *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_tMax, double __pyx_v_transP, __pyx_t_9networkit_10_NetworKit_count __pyx_v_eTime, __pyx_t_9networkit_10_NetworKit_count __pyx_v_iTime, __pyx_t_9networkit_10_NetworKit_node __pyx_v_zero) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::EpidemicSimulationSEIR *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":12074
 * 	cdef Graph G
 * 	def __cinit__(self, Graph G, count tMax, double transP=0.5, count eTime=2, count iTime=7, node zero=none):
 * 		self.G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _EpidemicSimulationSEIR(G._this, tMax, transP, eTime, iTime, zero)
 * 	def getData(self):
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->G));
  __pyx_v_self->G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":12075
 * 	def __cinit__(self, Graph G, count tMax, double transP=0.5, count eTime=2, count iTime=7, node zero=none):
 * 		self.G = G
 * 		self._this = new _EpidemicSimulationSEIR(G._this, tMax, transP, eTime, iTime, zero)             # <<<<<<<<<<<<<<
 * 	def getData(self):
 * 		return pandas.DataFrame((<_EpidemicSimulationSEIR*>(self._this)).getData(), columns=["zero", "time", "state", "count"])
 */
  try {
    __pyx_t_1 = new NetworKit::EpidemicSimulationSEIR(__pyx_v_G->_this, __pyx_v_tMax, __pyx_v_transP, __pyx_v_eTime, __pyx_v_iTime, __pyx_v_zero);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12075, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":12073
 * 	"""
 * 	cdef Graph G
 * 	def __cinit__(self, Graph G, count tMax, double transP=0.5, count eTime=2, count iTime=7, node zero=none):             # <<<<<<<<<<<<<<
 * 		self.G = G
 * 		self._this = new _EpidemicSimulationSEIR(G._this, tMax, transP, eTime, iTime, zero)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.EpidemicSimulationSEIR.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12076
 * 		self.G = G
 * 		self._this = new _EpidemicSimulationSEIR(G._this, tMax, transP, eTime, iTime, zero)
 * 	def getData(self):             # <<<<<<<<<<<<<<
 * 		return pandas.DataFrame((<_EpidemicSimulationSEIR*>(self._this)).getData(), columns=["zero", "time", "state", "count"])
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22EpidemicSimulationSEIR_3getData(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_22EpidemicSimulationSEIR_3getData(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getData (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22EpidemicSimulationSEIR_2getData(((struct __pyx_obj_9networkit_10_NetworKit_EpidemicSimulationSEIR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_22EpidemicSimulationSEIR_2getData(struct __pyx_obj_9networkit_10_NetworKit_EpidemicSimulationSEIR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  std::vector<std::vector<__pyx_t_9networkit_10_NetworKit_count> >  __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("getData", 0);

  /* "networkit/_NetworKit.pyx":12077
 * 		self._this = new _EpidemicSimulationSEIR(G._this, tMax, transP, eTime, iTime, zero)
 * 	def getData(self):
 * 		return pandas.DataFrame((<_EpidemicSimulationSEIR*>(self._this)).getData(), columns=["zero", "time", "state", "count"])             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pandas); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_DataFrame); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  try {
    __pyx_t_3 = ((NetworKit::EpidemicSimulationSEIR *)__pyx_v_self->__pyx_base._this)->getData();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12077, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_count_3e___(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = PyList_New(4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_INCREF(__pyx_n_u_zero);
  __Pyx_GIVEREF(__pyx_n_u_zero);
  PyList_SET_ITEM(__pyx_t_5, 0, __pyx_n_u_zero);
  __Pyx_INCREF(__pyx_n_u_time);
  __Pyx_GIVEREF(__pyx_n_u_time);
  PyList_SET_ITEM(__pyx_t_5, 1, __pyx_n_u_time);
  __Pyx_INCREF(__pyx_n_u_state);
  __Pyx_GIVEREF(__pyx_n_u_state);
  PyList_SET_ITEM(__pyx_t_5, 2, __pyx_n_u_state);
  __Pyx_INCREF(__pyx_n_u_count);
  __Pyx_GIVEREF(__pyx_n_u_count);
  PyList_SET_ITEM(__pyx_t_5, 3, __pyx_n_u_count);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_columns, __pyx_t_5) < 0) __PYX_ERR(0, 12077, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12076
 * 		self.G = G
 * 		self._this = new _EpidemicSimulationSEIR(G._this, tMax, transP, eTime, iTime, zero)
 * 	def getData(self):             # <<<<<<<<<<<<<<
 * 		return pandas.DataFrame((<_EpidemicSimulationSEIR*>(self._this)).getData(), columns=["zero", "time", "state", "count"])
 * 
 */

  /* 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("networkit._NetworKit.EpidemicSimulationSEIR.getData", __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_9networkit_10_NetworKit_22EpidemicSimulationSEIR_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_22EpidemicSimulationSEIR_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22EpidemicSimulationSEIR_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EpidemicSimulationSEIR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_22EpidemicSimulationSEIR_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EpidemicSimulationSEIR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__470, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EpidemicSimulationSEIR.__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_9networkit_10_NetworKit_22EpidemicSimulationSEIR_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_22EpidemicSimulationSEIR_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22EpidemicSimulationSEIR_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_EpidemicSimulationSEIR *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_22EpidemicSimulationSEIR_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_EpidemicSimulationSEIR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__471, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.EpidemicSimulationSEIR.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12103
 * 
 * 	cdef Graph _G
 * 	def __cinit__(self,  Graph G, double tol = 0.1):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _SpanningEdgeCentrality(G._this, tol)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_22SpanningEdgeCentrality_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_22SpanningEdgeCentrality_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  double __pyx_v_tol;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_tol,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tol);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 12103, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    if (values[1]) {
      __pyx_v_tol = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_tol == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 12103, __pyx_L3_error)
    } else {
      __pyx_v_tol = ((double)0.1);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 12103, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.SpanningEdgeCentrality.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 12103, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22SpanningEdgeCentrality___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality *)__pyx_v_self), __pyx_v_G, __pyx_v_tol);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_22SpanningEdgeCentrality___cinit__(struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, double __pyx_v_tol) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::SpanningEdgeCentrality *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":12104
 * 	cdef Graph _G
 * 	def __cinit__(self,  Graph G, double tol = 0.1):
 * 		self._G = G             # <<<<<<<<<<<<<<
 * 		self._this = new _SpanningEdgeCentrality(G._this, tol)
 * 
 */
  __Pyx_INCREF(((PyObject *)__pyx_v_G));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_G));
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = __pyx_v_G;

  /* "networkit/_NetworKit.pyx":12105
 * 	def __cinit__(self,  Graph G, double tol = 0.1):
 * 		self._G = G
 * 		self._this = new _SpanningEdgeCentrality(G._this, tol)             # <<<<<<<<<<<<<<
 * 
 * 	def runApproximation(self):
 */
  try {
    __pyx_t_1 = new NetworKit::SpanningEdgeCentrality(__pyx_v_G->_this, __pyx_v_tol);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12105, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":12103
 * 
 * 	cdef Graph _G
 * 	def __cinit__(self,  Graph G, double tol = 0.1):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _SpanningEdgeCentrality(G._this, tol)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.SpanningEdgeCentrality.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12107
 * 		self._this = new _SpanningEdgeCentrality(G._this, tol)
 * 
 * 	def runApproximation(self):             # <<<<<<<<<<<<<<
 * 		""" Computes approximation of the Spanning Edge Centrality. This solves k linear systems, where k is log(n)/(tol^2). The empirical running time is O(km), where n is the number of nodes
 *  	 			and m is the number of edges. """
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22SpanningEdgeCentrality_3runApproximation(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_22SpanningEdgeCentrality_2runApproximation[] = " Computes approximation of the Spanning Edge Centrality. This solves k linear systems, where k is log(n)/(tol^2). The empirical running time is O(km), where n is the number of nodes\n \t \t\t\tand m is the number of edges. ";
static PyObject *__pyx_pw_9networkit_10_NetworKit_22SpanningEdgeCentrality_3runApproximation(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("runApproximation (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22SpanningEdgeCentrality_2runApproximation(((struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_22SpanningEdgeCentrality_2runApproximation(struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("runApproximation", 0);

  /* "networkit/_NetworKit.pyx":12110
 * 		""" Computes approximation of the Spanning Edge Centrality. This solves k linear systems, where k is log(n)/(tol^2). The empirical running time is O(km), where n is the number of nodes
 *  	 			and m is the number of edges. """
 * 		return (<_SpanningEdgeCentrality*>(self._this)).runApproximation()             # <<<<<<<<<<<<<<
 * 
 * 	def runParallelApproximation(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    ((NetworKit::SpanningEdgeCentrality *)__pyx_v_self->__pyx_base._this)->runApproximation();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12110, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12107
 * 		self._this = new _SpanningEdgeCentrality(G._this, tol)
 * 
 * 	def runApproximation(self):             # <<<<<<<<<<<<<<
 * 		""" Computes approximation of the Spanning Edge Centrality. This solves k linear systems, where k is log(n)/(tol^2). The empirical running time is O(km), where n is the number of nodes
 *  	 			and m is the number of edges. """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.SpanningEdgeCentrality.runApproximation", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12112
 * 		return (<_SpanningEdgeCentrality*>(self._this)).runApproximation()
 * 
 * 	def runParallelApproximation(self):             # <<<<<<<<<<<<<<
 * 		""" Computes approximation (in parallel) of the Spanning Edge Centrality. This solves k linear systems, where k is log(n)/(tol^2). The empirical running time is O(km), where n is the number of nodes
 *  	 			and m is the number of edges."""
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22SpanningEdgeCentrality_5runParallelApproximation(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_22SpanningEdgeCentrality_4runParallelApproximation[] = " Computes approximation (in parallel) of the Spanning Edge Centrality. This solves k linear systems, where k is log(n)/(tol^2). The empirical running time is O(km), where n is the number of nodes\n \t \t\t\tand m is the number of edges.";
static PyObject *__pyx_pw_9networkit_10_NetworKit_22SpanningEdgeCentrality_5runParallelApproximation(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("runParallelApproximation (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22SpanningEdgeCentrality_4runParallelApproximation(((struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_22SpanningEdgeCentrality_4runParallelApproximation(struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("runParallelApproximation", 0);

  /* "networkit/_NetworKit.pyx":12115
 * 		""" Computes approximation (in parallel) of the Spanning Edge Centrality. This solves k linear systems, where k is log(n)/(tol^2). The empirical running time is O(km), where n is the number of nodes
 *  	 			and m is the number of edges."""
 * 		return (<_SpanningEdgeCentrality*>(self._this)).runParallelApproximation()             # <<<<<<<<<<<<<<
 * 
 * 	def scores(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    ((NetworKit::SpanningEdgeCentrality *)__pyx_v_self->__pyx_base._this)->runParallelApproximation();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12115, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12112
 * 		return (<_SpanningEdgeCentrality*>(self._this)).runApproximation()
 * 
 * 	def runParallelApproximation(self):             # <<<<<<<<<<<<<<
 * 		""" Computes approximation (in parallel) of the Spanning Edge Centrality. This solves k linear systems, where k is log(n)/(tol^2). The empirical running time is O(km), where n is the number of nodes
 *  	 			and m is the number of edges."""
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.SpanningEdgeCentrality.runParallelApproximation", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12117
 * 		return (<_SpanningEdgeCentrality*>(self._this)).runParallelApproximation()
 * 
 * 	def scores(self):             # <<<<<<<<<<<<<<
 * 		""" Get a vector containing the SEC score for each edge in the graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_22SpanningEdgeCentrality_7scores(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_22SpanningEdgeCentrality_6scores[] = " Get a vector containing the SEC score for each edge in the graph.\n\n\t\tReturns\n\t\t-------\n\t\tvector\n\t\t\tThe SEC scores.\n\t\t";
static PyObject *__pyx_pw_9networkit_10_NetworKit_22SpanningEdgeCentrality_7scores(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("scores (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22SpanningEdgeCentrality_6scores(((struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_22SpanningEdgeCentrality_6scores(struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<double>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("scores", 0);

  /* "networkit/_NetworKit.pyx":12125
 * 			The SEC scores.
 * 		"""
 * 		return (<_SpanningEdgeCentrality*>(self._this)).scores()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::SpanningEdgeCentrality *)__pyx_v_self->__pyx_base._this)->scores();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12125, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_double(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12117
 * 		return (<_SpanningEdgeCentrality*>(self._this)).runParallelApproximation()
 * 
 * 	def scores(self):             # <<<<<<<<<<<<<<
 * 		""" Get a vector containing the SEC score for each edge in the graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.SpanningEdgeCentrality.scores", __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_9networkit_10_NetworKit_22SpanningEdgeCentrality_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_22SpanningEdgeCentrality_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22SpanningEdgeCentrality_8__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_22SpanningEdgeCentrality_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__472, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.SpanningEdgeCentrality.__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_9networkit_10_NetworKit_22SpanningEdgeCentrality_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_22SpanningEdgeCentrality_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_22SpanningEdgeCentrality_10__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_22SpanningEdgeCentrality_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__473, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.SpanningEdgeCentrality.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12147
 * 	cdef Graph _G
 * 
 * 	def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == GraphLayoutAlgorithm:
 * 			raise RuntimeError("Error, you may not use GraphLayoutAlgorithm directly, use a sub-class instead")
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_20GraphLayoutAlgorithm_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_20GraphLayoutAlgorithm_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20GraphLayoutAlgorithm___init__(((struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_20GraphLayoutAlgorithm___init__(struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "networkit/_NetworKit.pyx":12148
 * 
 * 	def __init__(self, *args, **kwargs):
 * 		if type(self) == GraphLayoutAlgorithm:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use GraphLayoutAlgorithm directly, use a sub-class instead")
 * 
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), ((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphLayoutAlgorithm), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12148, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 12148, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(__pyx_t_2)) {

    /* "networkit/_NetworKit.pyx":12149
 * 	def __init__(self, *args, **kwargs):
 * 		if type(self) == GraphLayoutAlgorithm:
 * 			raise RuntimeError("Error, you may not use GraphLayoutAlgorithm directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__474, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12149, __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(0, 12149, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":12148
 * 
 * 	def __init__(self, *args, **kwargs):
 * 		if type(self) == GraphLayoutAlgorithm:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, you may not use GraphLayoutAlgorithm directly, use a sub-class instead")
 * 
 */
  }

  /* "networkit/_NetworKit.pyx":12147
 * 	cdef Graph _G
 * 
 * 	def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 * 		if type(self) == GraphLayoutAlgorithm:
 * 			raise RuntimeError("Error, you may not use GraphLayoutAlgorithm directly, use a sub-class instead")
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphLayoutAlgorithm.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12151
 * 			raise RuntimeError("Error, you may not use GraphLayoutAlgorithm directly, use a sub-class instead")
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		self._G = None # just to be sure the graph is deleted
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_20GraphLayoutAlgorithm_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_20GraphLayoutAlgorithm_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_20GraphLayoutAlgorithm_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9networkit_10_NetworKit_20GraphLayoutAlgorithm_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":12152
 * 
 * 	def __dealloc__(self):
 * 		self._G = None # just to be sure the graph is deleted             # <<<<<<<<<<<<<<
 * 
 * 	def numEdgeCrossings(self):
 */
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->_G);
  __Pyx_DECREF(((PyObject *)__pyx_v_self->_G));
  __pyx_v_self->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None);

  /* "networkit/_NetworKit.pyx":12151
 * 			raise RuntimeError("Error, you may not use GraphLayoutAlgorithm directly, use a sub-class instead")
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		self._G = None # just to be sure the graph is deleted
 * 
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":12154
 * 		self._G = None # just to be sure the graph is deleted
 * 
 * 	def numEdgeCrossings(self):             # <<<<<<<<<<<<<<
 * 		""" Computes approximation (in parallel) of the Spanning Edge Centrality. """
 * 		if self._this == NULL:
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphLayoutAlgorithm_5numEdgeCrossings(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_20GraphLayoutAlgorithm_4numEdgeCrossings[] = " Computes approximation (in parallel) of the Spanning Edge Centrality. ";
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphLayoutAlgorithm_5numEdgeCrossings(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("numEdgeCrossings (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20GraphLayoutAlgorithm_4numEdgeCrossings(((struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphLayoutAlgorithm_4numEdgeCrossings(struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_3;
  __Pyx_RefNannySetupContext("numEdgeCrossings", 0);

  /* "networkit/_NetworKit.pyx":12156
 * 	def numEdgeCrossings(self):
 * 		""" Computes approximation (in parallel) of the Spanning Edge Centrality. """
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return self._this.numEdgeCrossings()
 */
  __pyx_t_1 = ((__pyx_v_self->_this == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":12157
 * 		""" Computes approximation (in parallel) of the Spanning Edge Centrality. """
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")             # <<<<<<<<<<<<<<
 * 		return self._this.numEdgeCrossings()
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12157, __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(0, 12157, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":12156
 * 	def numEdgeCrossings(self):
 * 		""" Computes approximation (in parallel) of the Spanning Edge Centrality. """
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return self._this.numEdgeCrossings()
 */
  }

  /* "networkit/_NetworKit.pyx":12158
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return self._this.numEdgeCrossings()             # <<<<<<<<<<<<<<
 * 
 * 	def getCoordinates(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_3 = __pyx_v_self->_this->numEdgeCrossings();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12158, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12154
 * 		self._G = None # just to be sure the graph is deleted
 * 
 * 	def numEdgeCrossings(self):             # <<<<<<<<<<<<<<
 * 		""" Computes approximation (in parallel) of the Spanning Edge Centrality. """
 * 		if self._this == NULL:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GraphLayoutAlgorithm.numEdgeCrossings", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12160
 * 		return self._this.numEdgeCrossings()
 * 
 * 	def getCoordinates(self):             # <<<<<<<<<<<<<<
 * 		""" Computes approximation (in parallel) of the Spanning Edge Centrality. """
 * 		if self._this == NULL:
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphLayoutAlgorithm_7getCoordinates(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_20GraphLayoutAlgorithm_6getCoordinates[] = " Computes approximation (in parallel) of the Spanning Edge Centrality. ";
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphLayoutAlgorithm_7getCoordinates(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getCoordinates (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20GraphLayoutAlgorithm_6getCoordinates(((struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphLayoutAlgorithm_6getCoordinates(struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *__pyx_v_self) {
  std::pair<double,double>  __pyx_v_pr;
  std::vector<NetworKit::Point<double> >  __pyx_v_pointCoord;
  std::vector<std::pair<double,double> >  __pyx_v_pairCoord;
  NetworKit::Point<double>  __pyx_v_pt;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  std::pair<double,double>  __pyx_t_3;
  std::vector<NetworKit::Point<double> >  __pyx_t_4;
  std::vector<std::pair<double,double> >  __pyx_t_5;
  std::vector<NetworKit::Point<double> > ::iterator __pyx_t_6;
  NetworKit::Point<double>  __pyx_t_7;
  double __pyx_t_8;
  double __pyx_t_9;
  __Pyx_RefNannySetupContext("getCoordinates", 0);

  /* "networkit/_NetworKit.pyx":12162
 * 	def getCoordinates(self):
 * 		""" Computes approximation (in parallel) of the Spanning Edge Centrality. """
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		cdef pair[double, double] pr = pair[double, double](0, 0)
 */
  __pyx_t_1 = ((__pyx_v_self->_this == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":12163
 * 		""" Computes approximation (in parallel) of the Spanning Edge Centrality. """
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")             # <<<<<<<<<<<<<<
 * 		cdef pair[double, double] pr = pair[double, double](0, 0)
 * 		pointCoord = self._this.getCoordinates()
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12163, __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(0, 12163, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":12162
 * 	def getCoordinates(self):
 * 		""" Computes approximation (in parallel) of the Spanning Edge Centrality. """
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		cdef pair[double, double] pr = pair[double, double](0, 0)
 */
  }

  /* "networkit/_NetworKit.pyx":12164
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		cdef pair[double, double] pr = pair[double, double](0, 0)             # <<<<<<<<<<<<<<
 * 		pointCoord = self._this.getCoordinates()
 * 		cdef vector[pair[double, double]] pairCoord = vector[pair[double, double]]()
 */
  try {
    __pyx_t_3 = std::pair<double,double> (0.0, 0.0);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12164, __pyx_L1_error)
  }
  __pyx_v_pr = __pyx_t_3;

  /* "networkit/_NetworKit.pyx":12165
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		cdef pair[double, double] pr = pair[double, double](0, 0)
 * 		pointCoord = self._this.getCoordinates()             # <<<<<<<<<<<<<<
 * 		cdef vector[pair[double, double]] pairCoord = vector[pair[double, double]]()
 * 		for pt in pointCoord:
 */
  try {
    __pyx_t_4 = __pyx_v_self->_this->getCoordinates();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12165, __pyx_L1_error)
  }
  __pyx_v_pointCoord = __pyx_t_4;

  /* "networkit/_NetworKit.pyx":12166
 * 		cdef pair[double, double] pr = pair[double, double](0, 0)
 * 		pointCoord = self._this.getCoordinates()
 * 		cdef vector[pair[double, double]] pairCoord = vector[pair[double, double]]()             # <<<<<<<<<<<<<<
 * 		for pt in pointCoord:
 * 			pr = pair[double, double](pt[0], pt[1])
 */
  try {
    __pyx_t_5 = std::vector<std::pair<double,double> > ();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12166, __pyx_L1_error)
  }
  __pyx_v_pairCoord = __pyx_t_5;

  /* "networkit/_NetworKit.pyx":12167
 * 		pointCoord = self._this.getCoordinates()
 * 		cdef vector[pair[double, double]] pairCoord = vector[pair[double, double]]()
 * 		for pt in pointCoord:             # <<<<<<<<<<<<<<
 * 			pr = pair[double, double](pt[0], pt[1])
 * 			pairCoord.push_back(pr)
 */
  __pyx_t_6 = __pyx_v_pointCoord.begin();
  for (;;) {
    if (!(__pyx_t_6 != __pyx_v_pointCoord.end())) break;
    __pyx_t_7 = *__pyx_t_6;
    ++__pyx_t_6;
    __pyx_v_pt = __pyx_t_7;

    /* "networkit/_NetworKit.pyx":12168
 * 		cdef vector[pair[double, double]] pairCoord = vector[pair[double, double]]()
 * 		for pt in pointCoord:
 * 			pr = pair[double, double](pt[0], pt[1])             # <<<<<<<<<<<<<<
 * 			pairCoord.push_back(pr)
 * 		return pairCoord
 */
    try {
      __pyx_t_8 = __pyx_v_pt[0];
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 12168, __pyx_L1_error)
    }
    try {
      __pyx_t_9 = __pyx_v_pt[1];
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 12168, __pyx_L1_error)
    }
    try {
      __pyx_t_3 = std::pair<double,double> (__pyx_t_8, __pyx_t_9);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 12168, __pyx_L1_error)
    }
    __pyx_v_pr = __pyx_t_3;

    /* "networkit/_NetworKit.pyx":12169
 * 		for pt in pointCoord:
 * 			pr = pair[double, double](pt[0], pt[1])
 * 			pairCoord.push_back(pr)             # <<<<<<<<<<<<<<
 * 		return pairCoord
 * 
 */
    try {
      __pyx_v_pairCoord.push_back(__pyx_v_pr);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 12169, __pyx_L1_error)
    }

    /* "networkit/_NetworKit.pyx":12167
 * 		pointCoord = self._this.getCoordinates()
 * 		cdef vector[pair[double, double]] pairCoord = vector[pair[double, double]]()
 * 		for pt in pointCoord:             # <<<<<<<<<<<<<<
 * 			pr = pair[double, double](pt[0], pt[1])
 * 			pairCoord.push_back(pr)
 */
  }

  /* "networkit/_NetworKit.pyx":12170
 * 			pr = pair[double, double](pt[0], pt[1])
 * 			pairCoord.push_back(pr)
 * 		return pairCoord             # <<<<<<<<<<<<<<
 * 
 * 	def writeGraphToGML(self, path):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_convert_vector_to_py_std_3a__3a_pair_3c_double_2c_double_3e___(__pyx_v_pairCoord); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12170, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12160
 * 		return self._this.numEdgeCrossings()
 * 
 * 	def getCoordinates(self):             # <<<<<<<<<<<<<<
 * 		""" Computes approximation (in parallel) of the Spanning Edge Centrality. """
 * 		if self._this == NULL:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.GraphLayoutAlgorithm.getCoordinates", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12172
 * 		return pairCoord
 * 
 * 	def writeGraphToGML(self, path):             # <<<<<<<<<<<<<<
 * 		"""Writes the graph and its layout to a .gml file at the specified path
 * 	path: string
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphLayoutAlgorithm_9writeGraphToGML(PyObject *__pyx_v_self, PyObject *__pyx_v_path); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_20GraphLayoutAlgorithm_8writeGraphToGML[] = "Writes the graph and its layout to a .gml file at the specified path\n\tpath: string\n\t\tPath where the graph file should be created";
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphLayoutAlgorithm_9writeGraphToGML(PyObject *__pyx_v_self, PyObject *__pyx_v_path) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("writeGraphToGML (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20GraphLayoutAlgorithm_8writeGraphToGML(((struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *)__pyx_v_self), ((PyObject *)__pyx_v_path));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphLayoutAlgorithm_8writeGraphToGML(struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *__pyx_v_self, PyObject *__pyx_v_path) {
  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;
  std::string __pyx_t_5;
  bool __pyx_t_6;
  __Pyx_RefNannySetupContext("writeGraphToGML", 0);

  /* "networkit/_NetworKit.pyx":12176
 * 	path: string
 * 		Path where the graph file should be created"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return self._this.writeGraphToGML(stdstring(path))
 */
  __pyx_t_1 = ((__pyx_v_self->_this == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":12177
 * 		Path where the graph file should be created"""
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")             # <<<<<<<<<<<<<<
 * 		return self._this.writeGraphToGML(stdstring(path))
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12177, __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(0, 12177, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":12176
 * 	path: string
 * 		Path where the graph file should be created"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return self._this.writeGraphToGML(stdstring(path))
 */
  }

  /* "networkit/_NetworKit.pyx":12178
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return self._this.writeGraphToGML(stdstring(path))             # <<<<<<<<<<<<<<
 * 
 * 	def writeKinemage(self, string path):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_path) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_path);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 12178, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  try {
    __pyx_t_6 = __pyx_v_self->_this->writeGraphToGML(__pyx_t_5);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12178, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12172
 * 		return pairCoord
 * 
 * 	def writeGraphToGML(self, path):             # <<<<<<<<<<<<<<
 * 		"""Writes the graph and its layout to a .gml file at the specified path
 * 	path: string
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("networkit._NetworKit.GraphLayoutAlgorithm.writeGraphToGML", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12180
 * 		return self._this.writeGraphToGML(stdstring(path))
 * 
 * 	def writeKinemage(self, string path):             # <<<<<<<<<<<<<<
 * 		"""Writes the graph and its layout to a file at the specified path
 * 			path: string
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphLayoutAlgorithm_11writeKinemage(PyObject *__pyx_v_self, PyObject *__pyx_arg_path); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_20GraphLayoutAlgorithm_10writeKinemage[] = "Writes the graph and its layout to a file at the specified path\n\t\t\tpath: string\n\t\tPath where the graph file should be created";
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphLayoutAlgorithm_11writeKinemage(PyObject *__pyx_v_self, PyObject *__pyx_arg_path) {
  std::string __pyx_v_path;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("writeKinemage (wrapper)", 0);
  assert(__pyx_arg_path); {
    __pyx_v_path = __pyx_convert_string_from_py_std__in_string(__pyx_arg_path); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 12180, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GraphLayoutAlgorithm.writeKinemage", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20GraphLayoutAlgorithm_10writeKinemage(((struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *)__pyx_v_self), ((std::string)__pyx_v_path));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphLayoutAlgorithm_10writeKinemage(struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *__pyx_v_self, std::string __pyx_v_path) {
  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;
  std::string __pyx_t_6;
  bool __pyx_t_7;
  __Pyx_RefNannySetupContext("writeKinemage", 0);

  /* "networkit/_NetworKit.pyx":12184
 * 			path: string
 * 		Path where the graph file should be created"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return self._this.writeKinemage(stdstring(path))
 */
  __pyx_t_1 = ((__pyx_v_self->_this == NULL) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "networkit/_NetworKit.pyx":12185
 * 		Path where the graph file should be created"""
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")             # <<<<<<<<<<<<<<
 * 		return self._this.writeKinemage(stdstring(path))
 * 
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12185, __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(0, 12185, __pyx_L1_error)

    /* "networkit/_NetworKit.pyx":12184
 * 			path: string
 * 		Path where the graph file should be created"""
 * 		if self._this == NULL:             # <<<<<<<<<<<<<<
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return self._this.writeKinemage(stdstring(path))
 */
  }

  /* "networkit/_NetworKit.pyx":12186
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")
 * 		return self._this.writeKinemage(stdstring(path))             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_stdstring); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_path); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __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_2)) __PYX_ERR(0, 12186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = __pyx_convert_string_from_py_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 12186, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  try {
    __pyx_t_7 = __pyx_v_self->_this->writeKinemage(__pyx_t_6);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12186, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12180
 * 		return self._this.writeGraphToGML(stdstring(path))
 * 
 * 	def writeKinemage(self, string path):             # <<<<<<<<<<<<<<
 * 		"""Writes the graph and its layout to a file at the specified path
 * 			path: string
 */

  /* 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("networkit._NetworKit.GraphLayoutAlgorithm.writeKinemage", __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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphLayoutAlgorithm_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphLayoutAlgorithm_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20GraphLayoutAlgorithm_12__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphLayoutAlgorithm_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__475, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphLayoutAlgorithm.__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._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphLayoutAlgorithm_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_20GraphLayoutAlgorithm_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_20GraphLayoutAlgorithm_14__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_20GraphLayoutAlgorithm_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__476, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GraphLayoutAlgorithm.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12258
 * 	ALGEBRAIC_DISTANCE = 1
 * 
 * 	def __cinit__(self, Graph G, count dim, count k, vector[pair[double, double]] coordinates = [], double tolerance = 1e-5, _LinearSolverType linearSolverType = LAMG, bool_t fastComputation = False, _GraphDistance graphDistance = EDGE_WEIGHT):             # <<<<<<<<<<<<<<
 * 		cdef Point[double] p = Point[double](0, 0)
 * 		cdef vector[Point[double]] pointCoordinates = vector[Point[double]]()
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_12MaxentStress_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_12MaxentStress_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_dim;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_k;
  std::vector<std::pair<double,double> >  __pyx_v_coordinates;
  double __pyx_v_tolerance;
  enum NetworKit::MaxentStress::LinearSolverType __pyx_v_linearSolverType;
  bool __pyx_v_fastComputation;
  enum NetworKit::MaxentStress::GraphDistance __pyx_v_graphDistance;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_dim,&__pyx_n_s_k,&__pyx_n_s_coordinates,&__pyx_n_s_tolerance,&__pyx_n_s_linearSolverType,&__pyx_n_s_fastComputation,&__pyx_n_s_graphDistance,0};
    PyObject* values[8] = {0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dim)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 8, 1); __PYX_ERR(0, 12258, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 8, 2); __PYX_ERR(0, 12258, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_coordinates);
          if (value) { values[3] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tolerance);
          if (value) { values[4] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_linearSolverType);
          if (value) { values[5] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_fastComputation);
          if (value) { values[6] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graphDistance);
          if (value) { values[7] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 12258, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_dim = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_dim == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 12258, __pyx_L3_error)
    __pyx_v_k = __Pyx_PyInt_As_uint64_t(values[2]); if (unlikely((__pyx_v_k == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 12258, __pyx_L3_error)
    if (values[3]) {
      __pyx_v_coordinates = __pyx_convert_vector_from_py_std_3a__3a_pair_3c_double_2c_double_3e___(values[3]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 12258, __pyx_L3_error)
    } else {
      __pyx_v_coordinates = __pyx_k__477;
    }
    if (values[4]) {
      __pyx_v_tolerance = __pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_tolerance == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 12258, __pyx_L3_error)
    } else {
      __pyx_v_tolerance = ((double)1e-5);
    }
    if (values[5]) {
      __pyx_v_linearSolverType = ((enum NetworKit::MaxentStress::LinearSolverType)__Pyx_PyInt_As_enum__NetworKit_3a__3a_MaxentStress_3a__3a_LinearSolverType(values[5])); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 12258, __pyx_L3_error)
    } else {
      __pyx_v_linearSolverType = __pyx_k__478;
    }
    if (values[6]) {
      __pyx_v_fastComputation = __Pyx_PyObject_IsTrue(values[6]); if (unlikely((__pyx_v_fastComputation == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 12258, __pyx_L3_error)
    } else {
      __pyx_v_fastComputation = ((bool)0);
    }
    if (values[7]) {
      __pyx_v_graphDistance = ((enum NetworKit::MaxentStress::GraphDistance)__Pyx_PyInt_As_enum__NetworKit_3a__3a_MaxentStress_3a__3a_GraphDistance(values[7])); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 12258, __pyx_L3_error)
    } else {
      __pyx_v_graphDistance = __pyx_k__479;
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 8, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 12258, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MaxentStress.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 12258, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12MaxentStress___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *)__pyx_v_self), __pyx_v_G, __pyx_v_dim, __pyx_v_k, __pyx_v_coordinates, __pyx_v_tolerance, __pyx_v_linearSolverType, __pyx_v_fastComputation, __pyx_v_graphDistance);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_12MaxentStress___cinit__(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_dim, __pyx_t_9networkit_10_NetworKit_count __pyx_v_k, std::vector<std::pair<double,double> >  __pyx_v_coordinates, double __pyx_v_tolerance, enum NetworKit::MaxentStress::LinearSolverType __pyx_v_linearSolverType, bool __pyx_v_fastComputation, enum NetworKit::MaxentStress::GraphDistance __pyx_v_graphDistance) {
  NetworKit::Point<double>  __pyx_v_p;
  std::vector<NetworKit::Point<double> >  __pyx_v_pointCoordinates;
  std::pair<double,double>  __pyx_v_pr;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  std::vector<NetworKit::Point<double> >  __pyx_t_1;
  std::vector<std::pair<double,double> > ::iterator __pyx_t_2;
  std::pair<double,double>  __pyx_t_3;
  int __pyx_t_4;
  NetworKit::MaxentStress *__pyx_t_5;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":12259
 * 
 * 	def __cinit__(self, Graph G, count dim, count k, vector[pair[double, double]] coordinates = [], double tolerance = 1e-5, _LinearSolverType linearSolverType = LAMG, bool_t fastComputation = False, _GraphDistance graphDistance = EDGE_WEIGHT):
 * 		cdef Point[double] p = Point[double](0, 0)             # <<<<<<<<<<<<<<
 * 		cdef vector[Point[double]] pointCoordinates = vector[Point[double]]()
 * 
 */
  __pyx_v_p = NetworKit::Point<double> (0.0, 0.0);

  /* "networkit/_NetworKit.pyx":12260
 * 	def __cinit__(self, Graph G, count dim, count k, vector[pair[double, double]] coordinates = [], double tolerance = 1e-5, _LinearSolverType linearSolverType = LAMG, bool_t fastComputation = False, _GraphDistance graphDistance = EDGE_WEIGHT):
 * 		cdef Point[double] p = Point[double](0, 0)
 * 		cdef vector[Point[double]] pointCoordinates = vector[Point[double]]()             # <<<<<<<<<<<<<<
 * 
 * 		for pr in coordinates:
 */
  try {
    __pyx_t_1 = std::vector<NetworKit::Point<double> > ();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12260, __pyx_L1_error)
  }
  __pyx_v_pointCoordinates = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":12262
 * 		cdef vector[Point[double]] pointCoordinates = vector[Point[double]]()
 * 
 * 		for pr in coordinates:             # <<<<<<<<<<<<<<
 * 			p = Point[double](pr.first, pr.second)
 * 			pointCoordinates.push_back(p)
 */
  __pyx_t_2 = __pyx_v_coordinates.begin();
  for (;;) {
    if (!(__pyx_t_2 != __pyx_v_coordinates.end())) break;
    __pyx_t_3 = *__pyx_t_2;
    ++__pyx_t_2;
    __pyx_v_pr = __pyx_t_3;

    /* "networkit/_NetworKit.pyx":12263
 * 
 * 		for pr in coordinates:
 * 			p = Point[double](pr.first, pr.second)             # <<<<<<<<<<<<<<
 * 			pointCoordinates.push_back(p)
 * 
 */
    __pyx_v_p = NetworKit::Point<double> (__pyx_v_pr.first, __pyx_v_pr.second);

    /* "networkit/_NetworKit.pyx":12264
 * 		for pr in coordinates:
 * 			p = Point[double](pr.first, pr.second)
 * 			pointCoordinates.push_back(p)             # <<<<<<<<<<<<<<
 * 
 * 		if (coordinates.size() != 0):
 */
    try {
      __pyx_v_pointCoordinates.push_back(__pyx_v_p);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 12264, __pyx_L1_error)
    }

    /* "networkit/_NetworKit.pyx":12262
 * 		cdef vector[Point[double]] pointCoordinates = vector[Point[double]]()
 * 
 * 		for pr in coordinates:             # <<<<<<<<<<<<<<
 * 			p = Point[double](pr.first, pr.second)
 * 			pointCoordinates.push_back(p)
 */
  }

  /* "networkit/_NetworKit.pyx":12266
 * 			pointCoordinates.push_back(p)
 * 
 * 		if (coordinates.size() != 0):             # <<<<<<<<<<<<<<
 * 			self._this = new _MaxentStress(G._this, dim, pointCoordinates, k, tolerance, linearSolverType, fastComputation, graphDistance)
 * 		else:
 */
  __pyx_t_4 = ((__pyx_v_coordinates.size() != 0) != 0);
  if (__pyx_t_4) {

    /* "networkit/_NetworKit.pyx":12267
 * 
 * 		if (coordinates.size() != 0):
 * 			self._this = new _MaxentStress(G._this, dim, pointCoordinates, k, tolerance, linearSolverType, fastComputation, graphDistance)             # <<<<<<<<<<<<<<
 * 		else:
 * 			self._this = new _MaxentStress(G._this, dim, k, tolerance, linearSolverType, fastComputation, graphDistance)
 */
    try {
      __pyx_t_5 = new NetworKit::MaxentStress(__pyx_v_G->_this, __pyx_v_dim, __pyx_v_pointCoordinates, __pyx_v_k, __pyx_v_tolerance, __pyx_v_linearSolverType, __pyx_v_fastComputation, __pyx_v_graphDistance);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 12267, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_5;

    /* "networkit/_NetworKit.pyx":12266
 * 			pointCoordinates.push_back(p)
 * 
 * 		if (coordinates.size() != 0):             # <<<<<<<<<<<<<<
 * 			self._this = new _MaxentStress(G._this, dim, pointCoordinates, k, tolerance, linearSolverType, fastComputation, graphDistance)
 * 		else:
 */
    goto __pyx_L5;
  }

  /* "networkit/_NetworKit.pyx":12269
 * 			self._this = new _MaxentStress(G._this, dim, pointCoordinates, k, tolerance, linearSolverType, fastComputation, graphDistance)
 * 		else:
 * 			self._this = new _MaxentStress(G._this, dim, k, tolerance, linearSolverType, fastComputation, graphDistance)             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  /*else*/ {
    try {
      __pyx_t_5 = new NetworKit::MaxentStress(__pyx_v_G->_this, __pyx_v_dim, __pyx_v_k, __pyx_v_tolerance, __pyx_v_linearSolverType, __pyx_v_fastComputation, __pyx_v_graphDistance);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 12269, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_5;
  }
  __pyx_L5:;

  /* "networkit/_NetworKit.pyx":12258
 * 	ALGEBRAIC_DISTANCE = 1
 * 
 * 	def __cinit__(self, Graph G, count dim, count k, vector[pair[double, double]] coordinates = [], double tolerance = 1e-5, _LinearSolverType linearSolverType = LAMG, bool_t fastComputation = False, _GraphDistance graphDistance = EDGE_WEIGHT):             # <<<<<<<<<<<<<<
 * 		cdef Point[double] p = Point[double](0, 0)
 * 		cdef vector[Point[double]] pointCoordinates = vector[Point[double]]()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MaxentStress.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12271
 * 			self._this = new _MaxentStress(G._this, dim, k, tolerance, linearSolverType, fastComputation, graphDistance)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_12MaxentStress_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_12MaxentStress_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_12MaxentStress_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9networkit_10_NetworKit_12MaxentStress_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":12272
 * 
 * 	def __dealloc__(self):
 * 		del self._this             # <<<<<<<<<<<<<<
 * 
 * 	def run(self):
 */
  delete __pyx_v_self->__pyx_base._this;

  /* "networkit/_NetworKit.pyx":12271
 * 			self._this = new _MaxentStress(G._this, dim, k, tolerance, linearSolverType, fastComputation, graphDistance)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":12274
 * 		del self._this
 * 
 * 	def run(self):             # <<<<<<<<<<<<<<
 * 		"""Approximates a graph layout with the maxent-stress algorithm"""
 * 		(<_MaxentStress*>(self._this)).run()
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_5run(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_12MaxentStress_4run[] = "Approximates a graph layout with the maxent-stress algorithm";
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_5run(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12MaxentStress_4run(((struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_4run(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":12276
 * 	def run(self):
 * 		"""Approximates a graph layout with the maxent-stress algorithm"""
 * 		(<_MaxentStress*>(self._this)).run()             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
  try {
    ((NetworKit::MaxentStress *)__pyx_v_self->__pyx_base._this)->run();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12276, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":12277
 * 		"""Approximates a graph layout with the maxent-stress algorithm"""
 * 		(<_MaxentStress*>(self._this)).run()
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def scaleLayout(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12274
 * 		del self._this
 * 
 * 	def run(self):             # <<<<<<<<<<<<<<
 * 		"""Approximates a graph layout with the maxent-stress algorithm"""
 * 		(<_MaxentStress*>(self._this)).run()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MaxentStress.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12279
 * 		return self
 * 
 * 	def scaleLayout(self):             # <<<<<<<<<<<<<<
 * 		"""Scale the layout computed by run() by a scalar s to minimize \sum_{u,v \in V} w_{uv} (s ||x_u - x_v|| - d_{uv}||)^2"""
 * 		(<_MaxentStress*>(self._this)).scaleLayout()
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_7scaleLayout(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_12MaxentStress_6scaleLayout[] = "Scale the layout computed by run() by a scalar s to minimize \\sum_{u,v \\in V} w_{uv} (s ||x_u - x_v|| - d_{uv}||)^2";
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_7scaleLayout(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("scaleLayout (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12MaxentStress_6scaleLayout(((struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_6scaleLayout(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("scaleLayout", 0);

  /* "networkit/_NetworKit.pyx":12281
 * 	def scaleLayout(self):
 * 		"""Scale the layout computed by run() by a scalar s to minimize \sum_{u,v \in V} w_{uv} (s ||x_u - x_v|| - d_{uv}||)^2"""
 * 		(<_MaxentStress*>(self._this)).scaleLayout()             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
  try {
    ((NetworKit::MaxentStress *)__pyx_v_self->__pyx_base._this)->scaleLayout();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12281, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":12282
 * 		"""Scale the layout computed by run() by a scalar s to minimize \sum_{u,v \in V} w_{uv} (s ||x_u - x_v|| - d_{uv}||)^2"""
 * 		(<_MaxentStress*>(self._this)).scaleLayout()
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def computeScalingFactor(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12279
 * 		return self
 * 
 * 	def scaleLayout(self):             # <<<<<<<<<<<<<<
 * 		"""Scale the layout computed by run() by a scalar s to minimize \sum_{u,v \in V} w_{uv} (s ||x_u - x_v|| - d_{uv}||)^2"""
 * 		(<_MaxentStress*>(self._this)).scaleLayout()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MaxentStress.scaleLayout", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12284
 * 		return self
 * 
 * 	def computeScalingFactor(self):             # <<<<<<<<<<<<<<
 * 		"""Computes a scalar s s.t. \sum_{u,v \in V} w_{uv} (s ||x_u - x_v|| - d_{uv}||)^2 is minimized"""
 * 		return (<_MaxentStress*>(self._this)).computeScalingFactor()
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_9computeScalingFactor(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_12MaxentStress_8computeScalingFactor[] = "Computes a scalar s s.t. \\sum_{u,v \\in V} w_{uv} (s ||x_u - x_v|| - d_{uv}||)^2 is minimized";
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_9computeScalingFactor(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("computeScalingFactor (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12MaxentStress_8computeScalingFactor(((struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_8computeScalingFactor(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("computeScalingFactor", 0);

  /* "networkit/_NetworKit.pyx":12286
 * 	def computeScalingFactor(self):
 * 		"""Computes a scalar s s.t. \sum_{u,v \in V} w_{uv} (s ||x_u - x_v|| - d_{uv}||)^2 is minimized"""
 * 		return (<_MaxentStress*>(self._this)).computeScalingFactor()             # <<<<<<<<<<<<<<
 * 
 * 	def fullStressMeasure(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::MaxentStress *)__pyx_v_self->__pyx_base._this)->computeScalingFactor();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12286, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12284
 * 		return self
 * 
 * 	def computeScalingFactor(self):             # <<<<<<<<<<<<<<
 * 		"""Computes a scalar s s.t. \sum_{u,v \in V} w_{uv} (s ||x_u - x_v|| - d_{uv}||)^2 is minimized"""
 * 		return (<_MaxentStress*>(self._this)).computeScalingFactor()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.MaxentStress.computeScalingFactor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12288
 * 		return (<_MaxentStress*>(self._this)).computeScalingFactor()
 * 
 * 	def fullStressMeasure(self):             # <<<<<<<<<<<<<<
 * 		"""Computes the full stress measure of the computed layout with run()"""
 * 		return (<_MaxentStress*>(self._this)).fullStressMeasure()
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_11fullStressMeasure(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_12MaxentStress_10fullStressMeasure[] = "Computes the full stress measure of the computed layout with run()";
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_11fullStressMeasure(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("fullStressMeasure (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12MaxentStress_10fullStressMeasure(((struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_10fullStressMeasure(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("fullStressMeasure", 0);

  /* "networkit/_NetworKit.pyx":12290
 * 	def fullStressMeasure(self):
 * 		"""Computes the full stress measure of the computed layout with run()"""
 * 		return (<_MaxentStress*>(self._this)).fullStressMeasure()             # <<<<<<<<<<<<<<
 * 
 * 	def maxentMeasure(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::MaxentStress *)__pyx_v_self->__pyx_base._this)->fullStressMeasure();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12290, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12290, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12288
 * 		return (<_MaxentStress*>(self._this)).computeScalingFactor()
 * 
 * 	def fullStressMeasure(self):             # <<<<<<<<<<<<<<
 * 		"""Computes the full stress measure of the computed layout with run()"""
 * 		return (<_MaxentStress*>(self._this)).fullStressMeasure()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.MaxentStress.fullStressMeasure", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12292
 * 		return (<_MaxentStress*>(self._this)).fullStressMeasure()
 * 
 * 	def maxentMeasure(self):             # <<<<<<<<<<<<<<
 * 		"""Computes the maxent stress measure for the computed layout with run()"""
 * 		return (<_MaxentStress*>(self._this)).maxentMeasure()
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_13maxentMeasure(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_12MaxentStress_12maxentMeasure[] = "Computes the maxent stress measure for the computed layout with run()";
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_13maxentMeasure(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("maxentMeasure (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12MaxentStress_12maxentMeasure(((struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_12maxentMeasure(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("maxentMeasure", 0);

  /* "networkit/_NetworKit.pyx":12294
 * 	def maxentMeasure(self):
 * 		"""Computes the maxent stress measure for the computed layout with run()"""
 * 		return (<_MaxentStress*>(self._this)).maxentMeasure()             # <<<<<<<<<<<<<<
 * 
 * 	def meanDistanceError(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::MaxentStress *)__pyx_v_self->__pyx_base._this)->maxentMeasure();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12294, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12292
 * 		return (<_MaxentStress*>(self._this)).fullStressMeasure()
 * 
 * 	def maxentMeasure(self):             # <<<<<<<<<<<<<<
 * 		"""Computes the maxent stress measure for the computed layout with run()"""
 * 		return (<_MaxentStress*>(self._this)).maxentMeasure()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.MaxentStress.maxentMeasure", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12296
 * 		return (<_MaxentStress*>(self._this)).maxentMeasure()
 * 
 * 	def meanDistanceError(self):             # <<<<<<<<<<<<<<
 * 		"""Computes mean distance error"""
 * 		return (<_MaxentStress*>(self._this)).meanDistanceError()
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_15meanDistanceError(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_12MaxentStress_14meanDistanceError[] = "Computes mean distance error";
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_15meanDistanceError(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("meanDistanceError (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12MaxentStress_14meanDistanceError(((struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_14meanDistanceError(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("meanDistanceError", 0);

  /* "networkit/_NetworKit.pyx":12298
 * 	def meanDistanceError(self):
 * 		"""Computes mean distance error"""
 * 		return (<_MaxentStress*>(self._this)).meanDistanceError()             # <<<<<<<<<<<<<<
 * 
 * 	def ldme(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::MaxentStress *)__pyx_v_self->__pyx_base._this)->meanDistanceError();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12298, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12298, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12296
 * 		return (<_MaxentStress*>(self._this)).maxentMeasure()
 * 
 * 	def meanDistanceError(self):             # <<<<<<<<<<<<<<
 * 		"""Computes mean distance error"""
 * 		return (<_MaxentStress*>(self._this)).meanDistanceError()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.MaxentStress.meanDistanceError", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12300
 * 		return (<_MaxentStress*>(self._this)).meanDistanceError()
 * 
 * 	def ldme(self):             # <<<<<<<<<<<<<<
 * 		"""Computes the ldme"""
 * 		return (<_MaxentStress*>(self._this)).ldme()
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_17ldme(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_12MaxentStress_16ldme[] = "Computes the ldme";
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_17ldme(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("ldme (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12MaxentStress_16ldme(((struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_16ldme(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("ldme", 0);

  /* "networkit/_NetworKit.pyx":12302
 * 	def ldme(self):
 * 		"""Computes the ldme"""
 * 		return (<_MaxentStress*>(self._this)).ldme()             # <<<<<<<<<<<<<<
 * 
 * 	def setQ(self, double q):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::MaxentStress *)__pyx_v_self->__pyx_base._this)->ldme();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12302, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12300
 * 		return (<_MaxentStress*>(self._this)).meanDistanceError()
 * 
 * 	def ldme(self):             # <<<<<<<<<<<<<<
 * 		"""Computes the ldme"""
 * 		return (<_MaxentStress*>(self._this)).ldme()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.MaxentStress.ldme", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12304
 * 		return (<_MaxentStress*>(self._this)).ldme()
 * 
 * 	def setQ(self, double q):             # <<<<<<<<<<<<<<
 * 		(<_MaxentStress*>(self._this)).setQ(q)
 * 		return self
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_19setQ(PyObject *__pyx_v_self, PyObject *__pyx_arg_q); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_19setQ(PyObject *__pyx_v_self, PyObject *__pyx_arg_q) {
  double __pyx_v_q;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setQ (wrapper)", 0);
  assert(__pyx_arg_q); {
    __pyx_v_q = __pyx_PyFloat_AsDouble(__pyx_arg_q); if (unlikely((__pyx_v_q == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 12304, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MaxentStress.setQ", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12MaxentStress_18setQ(((struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *)__pyx_v_self), ((double)__pyx_v_q));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_18setQ(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self, double __pyx_v_q) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setQ", 0);

  /* "networkit/_NetworKit.pyx":12305
 * 
 * 	def setQ(self, double q):
 * 		(<_MaxentStress*>(self._this)).setQ(q)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
  try {
    ((NetworKit::MaxentStress *)__pyx_v_self->__pyx_base._this)->setQ(__pyx_v_q);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12305, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":12306
 * 	def setQ(self, double q):
 * 		(<_MaxentStress*>(self._this)).setQ(q)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def setAlpha(self, double alpha):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12304
 * 		return (<_MaxentStress*>(self._this)).ldme()
 * 
 * 	def setQ(self, double q):             # <<<<<<<<<<<<<<
 * 		(<_MaxentStress*>(self._this)).setQ(q)
 * 		return self
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MaxentStress.setQ", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12308
 * 		return self
 * 
 * 	def setAlpha(self, double alpha):             # <<<<<<<<<<<<<<
 * 		(<_MaxentStress*>(self._this)).setAlpha(alpha)
 * 		return self
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_21setAlpha(PyObject *__pyx_v_self, PyObject *__pyx_arg_alpha); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_21setAlpha(PyObject *__pyx_v_self, PyObject *__pyx_arg_alpha) {
  double __pyx_v_alpha;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setAlpha (wrapper)", 0);
  assert(__pyx_arg_alpha); {
    __pyx_v_alpha = __pyx_PyFloat_AsDouble(__pyx_arg_alpha); if (unlikely((__pyx_v_alpha == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 12308, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MaxentStress.setAlpha", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12MaxentStress_20setAlpha(((struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *)__pyx_v_self), ((double)__pyx_v_alpha));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_20setAlpha(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self, double __pyx_v_alpha) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setAlpha", 0);

  /* "networkit/_NetworKit.pyx":12309
 * 
 * 	def setAlpha(self, double alpha):
 * 		(<_MaxentStress*>(self._this)).setAlpha(alpha)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
  try {
    ((NetworKit::MaxentStress *)__pyx_v_self->__pyx_base._this)->setAlpha(__pyx_v_alpha);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12309, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":12310
 * 	def setAlpha(self, double alpha):
 * 		(<_MaxentStress*>(self._this)).setAlpha(alpha)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def setAlphaReduction(self, double alphaReduction):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12308
 * 		return self
 * 
 * 	def setAlpha(self, double alpha):             # <<<<<<<<<<<<<<
 * 		(<_MaxentStress*>(self._this)).setAlpha(alpha)
 * 		return self
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MaxentStress.setAlpha", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12312
 * 		return self
 * 
 * 	def setAlphaReduction(self, double alphaReduction):             # <<<<<<<<<<<<<<
 * 		(<_MaxentStress*>(self._this)).setAlphaReduction(alphaReduction)
 * 		return self
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_23setAlphaReduction(PyObject *__pyx_v_self, PyObject *__pyx_arg_alphaReduction); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_23setAlphaReduction(PyObject *__pyx_v_self, PyObject *__pyx_arg_alphaReduction) {
  double __pyx_v_alphaReduction;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setAlphaReduction (wrapper)", 0);
  assert(__pyx_arg_alphaReduction); {
    __pyx_v_alphaReduction = __pyx_PyFloat_AsDouble(__pyx_arg_alphaReduction); if (unlikely((__pyx_v_alphaReduction == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 12312, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MaxentStress.setAlphaReduction", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12MaxentStress_22setAlphaReduction(((struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *)__pyx_v_self), ((double)__pyx_v_alphaReduction));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_22setAlphaReduction(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self, double __pyx_v_alphaReduction) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setAlphaReduction", 0);

  /* "networkit/_NetworKit.pyx":12313
 * 
 * 	def setAlphaReduction(self, double alphaReduction):
 * 		(<_MaxentStress*>(self._this)).setAlphaReduction(alphaReduction)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
  try {
    ((NetworKit::MaxentStress *)__pyx_v_self->__pyx_base._this)->setAlphaReduction(__pyx_v_alphaReduction);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12313, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":12314
 * 	def setAlphaReduction(self, double alphaReduction):
 * 		(<_MaxentStress*>(self._this)).setAlphaReduction(alphaReduction)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def setFinalAlpha(self, double finalAlpha):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12312
 * 		return self
 * 
 * 	def setAlphaReduction(self, double alphaReduction):             # <<<<<<<<<<<<<<
 * 		(<_MaxentStress*>(self._this)).setAlphaReduction(alphaReduction)
 * 		return self
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MaxentStress.setAlphaReduction", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12316
 * 		return self
 * 
 * 	def setFinalAlpha(self, double finalAlpha):             # <<<<<<<<<<<<<<
 * 		(<_MaxentStress*>(self._this)).setFinalAlpha(finalAlpha)
 * 		return self
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_25setFinalAlpha(PyObject *__pyx_v_self, PyObject *__pyx_arg_finalAlpha); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_25setFinalAlpha(PyObject *__pyx_v_self, PyObject *__pyx_arg_finalAlpha) {
  double __pyx_v_finalAlpha;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setFinalAlpha (wrapper)", 0);
  assert(__pyx_arg_finalAlpha); {
    __pyx_v_finalAlpha = __pyx_PyFloat_AsDouble(__pyx_arg_finalAlpha); if (unlikely((__pyx_v_finalAlpha == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 12316, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MaxentStress.setFinalAlpha", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12MaxentStress_24setFinalAlpha(((struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *)__pyx_v_self), ((double)__pyx_v_finalAlpha));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_24setFinalAlpha(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self, double __pyx_v_finalAlpha) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setFinalAlpha", 0);

  /* "networkit/_NetworKit.pyx":12317
 * 
 * 	def setFinalAlpha(self, double finalAlpha):
 * 		(<_MaxentStress*>(self._this)).setFinalAlpha(finalAlpha)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
  try {
    ((NetworKit::MaxentStress *)__pyx_v_self->__pyx_base._this)->setFinalAlpha(__pyx_v_finalAlpha);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12317, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":12318
 * 	def setFinalAlpha(self, double finalAlpha):
 * 		(<_MaxentStress*>(self._this)).setFinalAlpha(finalAlpha)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def setConvergenceThreshold(self, double convThreshold):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12316
 * 		return self
 * 
 * 	def setFinalAlpha(self, double finalAlpha):             # <<<<<<<<<<<<<<
 * 		(<_MaxentStress*>(self._this)).setFinalAlpha(finalAlpha)
 * 		return self
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MaxentStress.setFinalAlpha", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12320
 * 		return self
 * 
 * 	def setConvergenceThreshold(self, double convThreshold):             # <<<<<<<<<<<<<<
 * 		(<_MaxentStress*>(self._this)).setConvergenceThreshold(convThreshold)
 * 		return self
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_27setConvergenceThreshold(PyObject *__pyx_v_self, PyObject *__pyx_arg_convThreshold); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_27setConvergenceThreshold(PyObject *__pyx_v_self, PyObject *__pyx_arg_convThreshold) {
  double __pyx_v_convThreshold;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setConvergenceThreshold (wrapper)", 0);
  assert(__pyx_arg_convThreshold); {
    __pyx_v_convThreshold = __pyx_PyFloat_AsDouble(__pyx_arg_convThreshold); if (unlikely((__pyx_v_convThreshold == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 12320, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MaxentStress.setConvergenceThreshold", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12MaxentStress_26setConvergenceThreshold(((struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *)__pyx_v_self), ((double)__pyx_v_convThreshold));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_26setConvergenceThreshold(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self, double __pyx_v_convThreshold) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setConvergenceThreshold", 0);

  /* "networkit/_NetworKit.pyx":12321
 * 
 * 	def setConvergenceThreshold(self, double convThreshold):
 * 		(<_MaxentStress*>(self._this)).setConvergenceThreshold(convThreshold)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
  try {
    ((NetworKit::MaxentStress *)__pyx_v_self->__pyx_base._this)->setConvergenceThreshold(__pyx_v_convThreshold);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12321, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":12322
 * 	def setConvergenceThreshold(self, double convThreshold):
 * 		(<_MaxentStress*>(self._this)).setConvergenceThreshold(convThreshold)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def getRhs(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12320
 * 		return self
 * 
 * 	def setConvergenceThreshold(self, double convThreshold):             # <<<<<<<<<<<<<<
 * 		(<_MaxentStress*>(self._this)).setConvergenceThreshold(convThreshold)
 * 		return self
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.MaxentStress.setConvergenceThreshold", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12324
 * 		return self
 * 
 * 	def getRhs(self):             # <<<<<<<<<<<<<<
 * 		return (<_MaxentStress*>(self._this)).getRhs()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_29getRhs(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_29getRhs(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getRhs (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12MaxentStress_28getRhs(((struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_28getRhs(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getRhs", 0);

  /* "networkit/_NetworKit.pyx":12325
 * 
 * 	def getRhs(self):
 * 		return (<_MaxentStress*>(self._this)).getRhs()             # <<<<<<<<<<<<<<
 * 
 * 	def getApproxEntropyTerm(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::MaxentStress *)__pyx_v_self->__pyx_base._this)->getRhs();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12325, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12325, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12324
 * 		return self
 * 
 * 	def getRhs(self):             # <<<<<<<<<<<<<<
 * 		return (<_MaxentStress*>(self._this)).getRhs()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.MaxentStress.getRhs", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12327
 * 		return (<_MaxentStress*>(self._this)).getRhs()
 * 
 * 	def getApproxEntropyTerm(self):             # <<<<<<<<<<<<<<
 * 		return (<_MaxentStress*>(self._this)).getApproxEntropyTerm()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_31getApproxEntropyTerm(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_31getApproxEntropyTerm(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getApproxEntropyTerm (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12MaxentStress_30getApproxEntropyTerm(((struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_30getApproxEntropyTerm(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getApproxEntropyTerm", 0);

  /* "networkit/_NetworKit.pyx":12328
 * 
 * 	def getApproxEntropyTerm(self):
 * 		return (<_MaxentStress*>(self._this)).getApproxEntropyTerm()             # <<<<<<<<<<<<<<
 * 
 * 	def getSolveTime(self):
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::MaxentStress *)__pyx_v_self->__pyx_base._this)->getApproxEntropyTerm();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12328, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12328, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12327
 * 		return (<_MaxentStress*>(self._this)).getRhs()
 * 
 * 	def getApproxEntropyTerm(self):             # <<<<<<<<<<<<<<
 * 		return (<_MaxentStress*>(self._this)).getApproxEntropyTerm()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.MaxentStress.getApproxEntropyTerm", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12330
 * 		return (<_MaxentStress*>(self._this)).getApproxEntropyTerm()
 * 
 * 	def getSolveTime(self):             # <<<<<<<<<<<<<<
 * 		return (<_MaxentStress*>(self._this)).getSolveTime()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_33getSolveTime(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_33getSolveTime(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getSolveTime (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12MaxentStress_32getSolveTime(((struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_32getSolveTime(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getSolveTime", 0);

  /* "networkit/_NetworKit.pyx":12331
 * 
 * 	def getSolveTime(self):
 * 		return (<_MaxentStress*>(self._this)).getSolveTime()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::MaxentStress *)__pyx_v_self->__pyx_base._this)->getSolveTime();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12331, __pyx_L1_error)
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12330
 * 		return (<_MaxentStress*>(self._this)).getApproxEntropyTerm()
 * 
 * 	def getSolveTime(self):             # <<<<<<<<<<<<<<
 * 		return (<_MaxentStress*>(self._this)).getSolveTime()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.MaxentStress.getSolveTime", __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_9networkit_10_NetworKit_12MaxentStress_35__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_35__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12MaxentStress_34__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_34__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__480, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.MaxentStress.__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_9networkit_10_NetworKit_12MaxentStress_37__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_12MaxentStress_37__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_12MaxentStress_36__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_12MaxentStress_36__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_MaxentStress *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__481, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.MaxentStress.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12363
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, count dim, count numberOfPivots):             # <<<<<<<<<<<<<<
 * 		self._this = new _PivotMDS(G._this, dim, numberOfPivots)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_8PivotMDS_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_8PivotMDS_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G = 0;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_dim;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_numberOfPivots;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_dim,&__pyx_n_s_numberOfPivots,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dim)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 1); __PYX_ERR(0, 12363, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_numberOfPivots)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 2); __PYX_ERR(0, 12363, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 12363, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)values[0]);
    __pyx_v_dim = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_dim == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 12363, __pyx_L3_error)
    __pyx_v_numberOfPivots = __Pyx_PyInt_As_uint64_t(values[2]); if (unlikely((__pyx_v_numberOfPivots == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 12363, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 12363, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PivotMDS.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_G), __pyx_ptype_9networkit_10_NetworKit_Graph, 1, "G", 0))) __PYX_ERR(0, 12363, __pyx_L1_error)
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8PivotMDS___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_PivotMDS *)__pyx_v_self), __pyx_v_G, __pyx_v_dim, __pyx_v_numberOfPivots);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_8PivotMDS___cinit__(struct __pyx_obj_9networkit_10_NetworKit_PivotMDS *__pyx_v_self, struct __pyx_obj_9networkit_10_NetworKit_Graph *__pyx_v_G, __pyx_t_9networkit_10_NetworKit_count __pyx_v_dim, __pyx_t_9networkit_10_NetworKit_count __pyx_v_numberOfPivots) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::PivotMDS *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":12364
 * 
 * 	def __cinit__(self, Graph G, count dim, count numberOfPivots):
 * 		self._this = new _PivotMDS(G._this, dim, numberOfPivots)             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  try {
    __pyx_t_1 = new NetworKit::PivotMDS(__pyx_v_G->_this, __pyx_v_dim, __pyx_v_numberOfPivots);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12364, __pyx_L1_error)
  }
  __pyx_v_self->__pyx_base._this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":12363
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, count dim, count numberOfPivots):             # <<<<<<<<<<<<<<
 * 		self._this = new _PivotMDS(G._this, dim, numberOfPivots)
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PivotMDS.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12366
 * 		self._this = new _PivotMDS(G._this, dim, numberOfPivots)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_8PivotMDS_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_8PivotMDS_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_8PivotMDS_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_PivotMDS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9networkit_10_NetworKit_8PivotMDS_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_PivotMDS *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":12367
 * 
 * 	def __dealloc__(self):
 * 		del self._this             # <<<<<<<<<<<<<<
 * 
 * 	def run(self):
 */
  delete __pyx_v_self->__pyx_base._this;

  /* "networkit/_NetworKit.pyx":12366
 * 		self._this = new _PivotMDS(G._this, dim, numberOfPivots)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":12369
 * 		del self._this
 * 
 * 	def run(self):             # <<<<<<<<<<<<<<
 * 		"""Constructs a PivotMDS object for the given @a graph. The algorithm should embed the graph in @a dim dimensions using @a numberOfPivots pivots."""
 * 		(<_PivotMDS*>(self._this)).run()
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_8PivotMDS_5run(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_9networkit_10_NetworKit_8PivotMDS_4run[] = "Constructs a PivotMDS object for the given @a graph. The algorithm should embed the graph in @a dim dimensions using @a numberOfPivots pivots.";
static PyObject *__pyx_pw_9networkit_10_NetworKit_8PivotMDS_5run(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8PivotMDS_4run(((struct __pyx_obj_9networkit_10_NetworKit_PivotMDS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_8PivotMDS_4run(struct __pyx_obj_9networkit_10_NetworKit_PivotMDS *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":12371
 * 	def run(self):
 * 		"""Constructs a PivotMDS object for the given @a graph. The algorithm should embed the graph in @a dim dimensions using @a numberOfPivots pivots."""
 * 		(<_PivotMDS*>(self._this)).run()             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
  try {
    ((NetworKit::PivotMDS *)__pyx_v_self->__pyx_base._this)->run();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12371, __pyx_L1_error)
  }

  /* "networkit/_NetworKit.pyx":12372
 * 		"""Constructs a PivotMDS object for the given @a graph. The algorithm should embed the graph in @a dim dimensions using @a numberOfPivots pivots."""
 * 		(<_PivotMDS*>(self._this)).run()
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12369
 * 		del self._this
 * 
 * 	def run(self):             # <<<<<<<<<<<<<<
 * 		"""Constructs a PivotMDS object for the given @a graph. The algorithm should embed the graph in @a dim dimensions using @a numberOfPivots pivots."""
 * 		(<_PivotMDS*>(self._this)).run()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.PivotMDS.run", __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_9networkit_10_NetworKit_8PivotMDS_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_8PivotMDS_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8PivotMDS_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PivotMDS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_8PivotMDS_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PivotMDS *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__482, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PivotMDS.__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_9networkit_10_NetworKit_8PivotMDS_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_8PivotMDS_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_8PivotMDS_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_PivotMDS *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_8PivotMDS_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_PivotMDS *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__483, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.PivotMDS.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12431
 * 	and how to fix it" by C. J. Carstens K. J. Horadam
 * 	"""
 * 	def __cinit__(self, G, number_of_global_rounds = 20, allowSelfLoops = False, degreePreservingShufflePreprocessing = True):             # <<<<<<<<<<<<<<
 * 		if isinstance(G, Graph):
 * 			self._this = new _GlobalCurveball((<Graph>G)._this, number_of_global_rounds, allowSelfLoops, degreePreservingShufflePreprocessing)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_15GlobalCurveball_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_15GlobalCurveball_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_G = 0;
  PyObject *__pyx_v_number_of_global_rounds = 0;
  PyObject *__pyx_v_allowSelfLoops = 0;
  PyObject *__pyx_v_degreePreservingShufflePreprocessing = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,&__pyx_n_s_number_of_global_rounds,&__pyx_n_s_allowSelfLoops,&__pyx_n_s_degreePreservingShufflePreproces,0};
    PyObject* values[4] = {0,0,0,0};
    values[1] = ((PyObject *)__pyx_int_20);
    values[2] = ((PyObject *)Py_False);
    values[3] = ((PyObject *)Py_True);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_number_of_global_rounds);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_allowSelfLoops);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_degreePreservingShufflePreproces);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 12431, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_G = values[0];
    __pyx_v_number_of_global_rounds = values[1];
    __pyx_v_allowSelfLoops = values[2];
    __pyx_v_degreePreservingShufflePreprocessing = values[3];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 12431, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.GlobalCurveball.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15GlobalCurveball___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_GlobalCurveball *)__pyx_v_self), __pyx_v_G, __pyx_v_number_of_global_rounds, __pyx_v_allowSelfLoops, __pyx_v_degreePreservingShufflePreprocessing);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_15GlobalCurveball___cinit__(struct __pyx_obj_9networkit_10_NetworKit_GlobalCurveball *__pyx_v_self, PyObject *__pyx_v_G, PyObject *__pyx_v_number_of_global_rounds, PyObject *__pyx_v_allowSelfLoops, PyObject *__pyx_v_degreePreservingShufflePreprocessing) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_3;
  bool __pyx_t_4;
  bool __pyx_t_5;
  NetworKit::GlobalCurveball *__pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":12432
 * 	"""
 * 	def __cinit__(self, G, number_of_global_rounds = 20, allowSelfLoops = False, degreePreservingShufflePreprocessing = True):
 * 		if isinstance(G, Graph):             # <<<<<<<<<<<<<<
 * 			self._this = new _GlobalCurveball((<Graph>G)._this, number_of_global_rounds, allowSelfLoops, degreePreservingShufflePreprocessing)
 * 		else:
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_G, __pyx_ptype_9networkit_10_NetworKit_Graph); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (likely(__pyx_t_2)) {

    /* "networkit/_NetworKit.pyx":12433
 * 	def __cinit__(self, G, number_of_global_rounds = 20, allowSelfLoops = False, degreePreservingShufflePreprocessing = True):
 * 		if isinstance(G, Graph):
 * 			self._this = new _GlobalCurveball((<Graph>G)._this, number_of_global_rounds, allowSelfLoops, degreePreservingShufflePreprocessing)             # <<<<<<<<<<<<<<
 * 		else:
 * 			raise RuntimeError("Parameter G has to be a graph")
 */
    __pyx_t_3 = __Pyx_PyInt_As_uint64_t(__pyx_v_number_of_global_rounds); if (unlikely((__pyx_t_3 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 12433, __pyx_L1_error)
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_allowSelfLoops); if (unlikely((__pyx_t_4 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 12433, __pyx_L1_error)
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_degreePreservingShufflePreprocessing); if (unlikely((__pyx_t_5 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 12433, __pyx_L1_error)
    try {
      __pyx_t_6 = new NetworKit::GlobalCurveball(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_G)->_this, __pyx_t_3, __pyx_t_4, __pyx_t_5);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 12433, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_6;

    /* "networkit/_NetworKit.pyx":12432
 * 	"""
 * 	def __cinit__(self, G, number_of_global_rounds = 20, allowSelfLoops = False, degreePreservingShufflePreprocessing = True):
 * 		if isinstance(G, Graph):             # <<<<<<<<<<<<<<
 * 			self._this = new _GlobalCurveball((<Graph>G)._this, number_of_global_rounds, allowSelfLoops, degreePreservingShufflePreprocessing)
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":12435
 * 			self._this = new _GlobalCurveball((<Graph>G)._this, number_of_global_rounds, allowSelfLoops, degreePreservingShufflePreprocessing)
 * 		else:
 * 			raise RuntimeError("Parameter G has to be a graph")             # <<<<<<<<<<<<<<
 * 
 * 	"""
 */
  /*else*/ {
    __pyx_t_7 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__484, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12435, __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(0, 12435, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":12431
 * 	and how to fix it" by C. J. Carstens K. J. Horadam
 * 	"""
 * 	def __cinit__(self, G, number_of_global_rounds = 20, allowSelfLoops = False, degreePreservingShufflePreprocessing = True):             # <<<<<<<<<<<<<<
 * 		if isinstance(G, Graph):
 * 			self._this = new _GlobalCurveball((<Graph>G)._this, number_of_global_rounds, allowSelfLoops, degreePreservingShufflePreprocessing)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("networkit._NetworKit.GlobalCurveball.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12443
 * 	"""
 * 
 * 	def getGraph(self):             # <<<<<<<<<<<<<<
 * 		return Graph().setThis((<_GlobalCurveball*>self._this).getGraph())
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GlobalCurveball_3getGraph(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GlobalCurveball_3getGraph(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getGraph (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15GlobalCurveball_2getGraph(((struct __pyx_obj_9networkit_10_NetworKit_GlobalCurveball *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15GlobalCurveball_2getGraph(struct __pyx_obj_9networkit_10_NetworKit_GlobalCurveball *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Graph __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("getGraph", 0);

  /* "networkit/_NetworKit.pyx":12444
 * 
 * 	def getGraph(self):
 * 		return Graph().setThis((<_GlobalCurveball*>self._this).getGraph())             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12444, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = ((NetworKit::GlobalCurveball *)__pyx_v_self->__pyx_base._this)->getGraph();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12444, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12444, __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;

  /* "networkit/_NetworKit.pyx":12443
 * 	"""
 * 
 * 	def getGraph(self):             # <<<<<<<<<<<<<<
 * 		return Graph().setThis((<_GlobalCurveball*>self._this).getGraph())
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.GlobalCurveball.getGraph", __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_9networkit_10_NetworKit_15GlobalCurveball_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GlobalCurveball_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15GlobalCurveball_4__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GlobalCurveball *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15GlobalCurveball_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GlobalCurveball *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__485, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GlobalCurveball.__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_9networkit_10_NetworKit_15GlobalCurveball_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_15GlobalCurveball_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_15GlobalCurveball_6__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_GlobalCurveball *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_15GlobalCurveball_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_GlobalCurveball *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__486, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.GlobalCurveball.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12472
 * 	cdef _CurveballUniformTradeGenerator *_this
 * 
 * 	def __cinit__(self, count num_trades, count num_nodes):             # <<<<<<<<<<<<<<
 * 		self._this = new _CurveballUniformTradeGenerator(num_trades, num_nodes)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_num_trades;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_num_nodes;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_num_trades,&__pyx_n_s_num_nodes,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_num_trades)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_num_nodes)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); __PYX_ERR(0, 12472, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 12472, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_num_trades = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_num_trades == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 12472, __pyx_L3_error)
    __pyx_v_num_nodes = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_num_nodes == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 12472, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 12472, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.CurveballUniformTradeGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_30CurveballUniformTradeGenerator___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_CurveballUniformTradeGenerator *)__pyx_v_self), __pyx_v_num_trades, __pyx_v_num_nodes);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_30CurveballUniformTradeGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_CurveballUniformTradeGenerator *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_count __pyx_v_num_trades, __pyx_t_9networkit_10_NetworKit_count __pyx_v_num_nodes) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::CurveballUniformTradeGenerator *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":12473
 * 
 * 	def __cinit__(self, count num_trades, count num_nodes):
 * 		self._this = new _CurveballUniformTradeGenerator(num_trades, num_nodes)             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  try {
    __pyx_t_1 = new NetworKit::CurveballUniformTradeGenerator(__pyx_v_num_trades, __pyx_v_num_nodes);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12473, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":12472
 * 	cdef _CurveballUniformTradeGenerator *_this
 * 
 * 	def __cinit__(self, count num_trades, count num_nodes):             # <<<<<<<<<<<<<<
 * 		self._this = new _CurveballUniformTradeGenerator(num_trades, num_nodes)
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.CurveballUniformTradeGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12475
 * 		self._this = new _CurveballUniformTradeGenerator(num_trades, num_nodes)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_CurveballUniformTradeGenerator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_CurveballUniformTradeGenerator *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":12476
 * 
 * 	def __dealloc__(self):
 * 		del self._this             # <<<<<<<<<<<<<<
 * 
 * 	def generate(self):
 */
  delete __pyx_v_self->_this;

  /* "networkit/_NetworKit.pyx":12475
 * 		self._this = new _CurveballUniformTradeGenerator(num_trades, num_nodes)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":12478
 * 		del self._this
 * 
 * 	def generate(self):             # <<<<<<<<<<<<<<
 * 		return self._this.generate()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_5generate(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_5generate(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generate (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_4generate(((struct __pyx_obj_9networkit_10_NetworKit_CurveballUniformTradeGenerator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_4generate(struct __pyx_obj_9networkit_10_NetworKit_CurveballUniformTradeGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("generate", 0);

  /* "networkit/_NetworKit.pyx":12479
 * 
 * 	def generate(self):
 * 		return self._this.generate()             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/randomization/CurveballGlobalTradeGenerator.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this->generate();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12479, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12478
 * 		del self._this
 * 
 * 	def generate(self):             # <<<<<<<<<<<<<<
 * 		return self._this.generate()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.CurveballUniformTradeGenerator.generate", __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_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_CurveballUniformTradeGenerator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CurveballUniformTradeGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__487, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.CurveballUniformTradeGenerator.__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_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_CurveballUniformTradeGenerator *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CurveballUniformTradeGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__488, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.CurveballUniformTradeGenerator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12509
 * 	cdef _CurveballGlobalTradeGenerator *_this
 * 
 * 	def __cinit__(self, count num_global_trades, count num_nodes):             # <<<<<<<<<<<<<<
 * 		self._this = new _CurveballGlobalTradeGenerator(num_global_trades, num_nodes)
 * 
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_num_global_trades;
  __pyx_t_9networkit_10_NetworKit_count __pyx_v_num_nodes;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_num_global_trades,&__pyx_n_s_num_nodes,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_num_global_trades)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_num_nodes)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); __PYX_ERR(0, 12509, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 12509, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_num_global_trades = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_num_global_trades == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 12509, __pyx_L3_error)
    __pyx_v_num_nodes = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_num_nodes == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 12509, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 12509, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.CurveballGlobalTradeGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_CurveballGlobalTradeGenerator *)__pyx_v_self), __pyx_v_num_global_trades, __pyx_v_num_nodes);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator___cinit__(struct __pyx_obj_9networkit_10_NetworKit_CurveballGlobalTradeGenerator *__pyx_v_self, __pyx_t_9networkit_10_NetworKit_count __pyx_v_num_global_trades, __pyx_t_9networkit_10_NetworKit_count __pyx_v_num_nodes) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  NetworKit::CurveballGlobalTradeGenerator *__pyx_t_1;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":12510
 * 
 * 	def __cinit__(self, count num_global_trades, count num_nodes):
 * 		self._this = new _CurveballGlobalTradeGenerator(num_global_trades, num_nodes)             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  try {
    __pyx_t_1 = new NetworKit::CurveballGlobalTradeGenerator(__pyx_v_num_global_trades, __pyx_v_num_nodes);
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12510, __pyx_L1_error)
  }
  __pyx_v_self->_this = __pyx_t_1;

  /* "networkit/_NetworKit.pyx":12509
 * 	cdef _CurveballGlobalTradeGenerator *_this
 * 
 * 	def __cinit__(self, count num_global_trades, count num_nodes):             # <<<<<<<<<<<<<<
 * 		self._this = new _CurveballGlobalTradeGenerator(num_global_trades, num_nodes)
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.CurveballGlobalTradeGenerator.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12512
 * 		self._this = new _CurveballGlobalTradeGenerator(num_global_trades, num_nodes)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

/* Python wrapper */
static void __pyx_pw_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_2__dealloc__(((struct __pyx_obj_9networkit_10_NetworKit_CurveballGlobalTradeGenerator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_2__dealloc__(struct __pyx_obj_9networkit_10_NetworKit_CurveballGlobalTradeGenerator *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "networkit/_NetworKit.pyx":12513
 * 
 * 	def __dealloc__(self):
 * 		del self._this             # <<<<<<<<<<<<<<
 * 
 * 	def generate(self):
 */
  delete __pyx_v_self->_this;

  /* "networkit/_NetworKit.pyx":12512
 * 		self._this = new _CurveballGlobalTradeGenerator(num_global_trades, num_nodes)
 * 
 * 	def __dealloc__(self):             # <<<<<<<<<<<<<<
 * 		del self._this
 * 
 */

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

/* "networkit/_NetworKit.pyx":12515
 * 		del self._this
 * 
 * 	def generate(self):             # <<<<<<<<<<<<<<
 * 		return self._this.generate()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_5generate(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_5generate(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generate (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_4generate(((struct __pyx_obj_9networkit_10_NetworKit_CurveballGlobalTradeGenerator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_4generate(struct __pyx_obj_9networkit_10_NetworKit_CurveballGlobalTradeGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> >  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("generate", 0);

  /* "networkit/_NetworKit.pyx":12516
 * 
 * 	def generate(self):
 * 		return self._this.generate()             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/randomization/Curveball.hpp>":
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = __pyx_v_self->_this->generate();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12516, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12516, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12515
 * 		del self._this
 * 
 * 	def generate(self):             # <<<<<<<<<<<<<<
 * 		return self._this.generate()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.CurveballGlobalTradeGenerator.generate", __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_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_CurveballGlobalTradeGenerator *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CurveballGlobalTradeGenerator *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__489, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.CurveballGlobalTradeGenerator.__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_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_CurveballGlobalTradeGenerator *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_CurveballGlobalTradeGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__490, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.CurveballGlobalTradeGenerator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12558
 * 
 * 	"""
 * 	def __cinit__(self, G):             # <<<<<<<<<<<<<<
 * 		if isinstance(G, Graph):
 * 			self._this = new _Curveball((<Graph>G)._this)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_9Curveball_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_9Curveball_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 12558, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = values[0];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 12558, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Curveball.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Curveball___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_Curveball *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_9Curveball___cinit__(struct __pyx_obj_9networkit_10_NetworKit_Curveball *__pyx_v_self, PyObject *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  NetworKit::Curveball *__pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":12559
 * 	"""
 * 	def __cinit__(self, G):
 * 		if isinstance(G, Graph):             # <<<<<<<<<<<<<<
 * 			self._this = new _Curveball((<Graph>G)._this)
 * 		else:
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_G, __pyx_ptype_9networkit_10_NetworKit_Graph); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (likely(__pyx_t_2)) {

    /* "networkit/_NetworKit.pyx":12560
 * 	def __cinit__(self, G):
 * 		if isinstance(G, Graph):
 * 			self._this = new _Curveball((<Graph>G)._this)             # <<<<<<<<<<<<<<
 * 		else:
 * 			raise RuntimeError("Parameter G has to be a graph")
 */
    try {
      __pyx_t_3 = new NetworKit::Curveball(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_G)->_this);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 12560, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;

    /* "networkit/_NetworKit.pyx":12559
 * 	"""
 * 	def __cinit__(self, G):
 * 		if isinstance(G, Graph):             # <<<<<<<<<<<<<<
 * 			self._this = new _Curveball((<Graph>G)._this)
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":12562
 * 			self._this = new _Curveball((<Graph>G)._this)
 * 		else:
 * 			raise RuntimeError("Parameter G has to be a graph")             # <<<<<<<<<<<<<<
 * 
 * 	def run(self, vector[pair[node, node]] trades):
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__484, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12562, __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(0, 12562, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":12558
 * 
 * 	"""
 * 	def __cinit__(self, G):             # <<<<<<<<<<<<<<
 * 		if isinstance(G, Graph):
 * 			self._this = new _Curveball((<Graph>G)._this)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("networkit._NetworKit.Curveball.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12564
 * 			raise RuntimeError("Parameter G has to be a graph")
 * 
 * 	def run(self, vector[pair[node, node]] trades):             # <<<<<<<<<<<<<<
 * 		with nogil:
 * 			(<_Curveball*>(self._this)).run(trades)
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Curveball_3run(PyObject *__pyx_v_self, PyObject *__pyx_arg_trades); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Curveball_3run(PyObject *__pyx_v_self, PyObject *__pyx_arg_trades) {
  std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> >  __pyx_v_trades;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run (wrapper)", 0);
  assert(__pyx_arg_trades); {
    __pyx_v_trades = __pyx_convert_vector_from_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___(__pyx_arg_trades); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 12564, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Curveball.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Curveball_2run(((struct __pyx_obj_9networkit_10_NetworKit_Curveball *)__pyx_v_self), ((std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> > )__pyx_v_trades));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Curveball_2run(struct __pyx_obj_9networkit_10_NetworKit_Curveball *__pyx_v_self, std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> >  __pyx_v_trades) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("run", 0);

  /* "networkit/_NetworKit.pyx":12565
 * 
 * 	def run(self, vector[pair[node, node]] trades):
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			(<_Curveball*>(self._this)).run(trades)
 * 		return self
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "networkit/_NetworKit.pyx":12566
 * 	def run(self, vector[pair[node, node]] trades):
 * 		with nogil:
 * 			(<_Curveball*>(self._this)).run(trades)             # <<<<<<<<<<<<<<
 * 		return self
 * 
 */
        try {
          ((NetworKit::Curveball *)__pyx_v_self->__pyx_base._this)->run(__pyx_v_trades);
        } catch(...) {
          #ifdef WITH_THREAD
          PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
          #endif
          __Pyx_CppExn2PyErr();
          #ifdef WITH_THREAD
          __Pyx_PyGILState_Release(__pyx_gilstate_save);
          #endif
          __PYX_ERR(0, 12566, __pyx_L4_error)
        }
      }

      /* "networkit/_NetworKit.pyx":12565
 * 
 * 	def run(self, vector[pair[node, node]] trades):
 * 		with nogil:             # <<<<<<<<<<<<<<
 * 			(<_Curveball*>(self._this)).run(trades)
 * 		return self
 */
      /*finally:*/ {
        /*normal exit:*/{
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "networkit/_NetworKit.pyx":12567
 * 		with nogil:
 * 			(<_Curveball*>(self._this)).run(trades)
 * 		return self             # <<<<<<<<<<<<<<
 * 
 * 	def getGraph(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self));
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12564
 * 			raise RuntimeError("Parameter G has to be a graph")
 * 
 * 	def run(self, vector[pair[node, node]] trades):             # <<<<<<<<<<<<<<
 * 		with nogil:
 * 			(<_Curveball*>(self._this)).run(trades)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("networkit._NetworKit.Curveball.run", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12569
 * 		return self
 * 
 * 	def getGraph(self):             # <<<<<<<<<<<<<<
 * 		return Graph().setThis((<_Curveball*>self._this).getGraph())
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Curveball_5getGraph(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Curveball_5getGraph(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getGraph (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Curveball_4getGraph(((struct __pyx_obj_9networkit_10_NetworKit_Curveball *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Curveball_4getGraph(struct __pyx_obj_9networkit_10_NetworKit_Curveball *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Graph __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("getGraph", 0);

  /* "networkit/_NetworKit.pyx":12570
 * 
 * 	def getGraph(self):
 * 		return Graph().setThis((<_Curveball*>self._this).getGraph())             # <<<<<<<<<<<<<<
 * 
 * 	def getNumberOfAffectedEdges(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = ((NetworKit::Curveball *)__pyx_v_self->__pyx_base._this)->getGraph();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12570, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12570, __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;

  /* "networkit/_NetworKit.pyx":12569
 * 		return self
 * 
 * 	def getGraph(self):             # <<<<<<<<<<<<<<
 * 		return Graph().setThis((<_Curveball*>self._this).getGraph())
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.Curveball.getGraph", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12572
 * 		return Graph().setThis((<_Curveball*>self._this).getGraph())
 * 
 * 	def getNumberOfAffectedEdges(self):             # <<<<<<<<<<<<<<
 * 		return (<_Curveball*>(self._this)).getNumberOfAffectedEdges()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Curveball_7getNumberOfAffectedEdges(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Curveball_7getNumberOfAffectedEdges(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNumberOfAffectedEdges (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Curveball_6getNumberOfAffectedEdges(((struct __pyx_obj_9networkit_10_NetworKit_Curveball *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Curveball_6getNumberOfAffectedEdges(struct __pyx_obj_9networkit_10_NetworKit_Curveball *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getNumberOfAffectedEdges", 0);

  /* "networkit/_NetworKit.pyx":12573
 * 
 * 	def getNumberOfAffectedEdges(self):
 * 		return (<_Curveball*>(self._this)).getNumberOfAffectedEdges()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::Curveball *)__pyx_v_self->__pyx_base._this)->getNumberOfAffectedEdges();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12573, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12573, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12572
 * 		return Graph().setThis((<_Curveball*>self._this).getGraph())
 * 
 * 	def getNumberOfAffectedEdges(self):             # <<<<<<<<<<<<<<
 * 		return (<_Curveball*>(self._this)).getNumberOfAffectedEdges()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.Curveball.getNumberOfAffectedEdges", __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_9networkit_10_NetworKit_9Curveball_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Curveball_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Curveball_8__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Curveball *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Curveball_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Curveball *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__491, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Curveball.__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_9networkit_10_NetworKit_9Curveball_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_9Curveball_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_9Curveball_10__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_Curveball *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_9Curveball_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_Curveball *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__492, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.Curveball.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12608
 * 
 * 	"""
 * 	def __cinit__(self, G):             # <<<<<<<<<<<<<<
 * 		if isinstance(G, Graph):
 * 			self._this = new _DegreePreservingShuffle((<Graph>G)._this)
 */

/* Python wrapper */
static int __pyx_pw_9networkit_10_NetworKit_23DegreePreservingShuffle_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9networkit_10_NetworKit_23DegreePreservingShuffle_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_G = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_G,0};
    PyObject* values[1] = {0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_G)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 12608, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
    }
    __pyx_v_G = values[0];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 12608, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.DegreePreservingShuffle.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23DegreePreservingShuffle___cinit__(((struct __pyx_obj_9networkit_10_NetworKit_DegreePreservingShuffle *)__pyx_v_self), __pyx_v_G);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9networkit_10_NetworKit_23DegreePreservingShuffle___cinit__(struct __pyx_obj_9networkit_10_NetworKit_DegreePreservingShuffle *__pyx_v_self, PyObject *__pyx_v_G) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  NetworKit::DegreePreservingShuffle *__pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "networkit/_NetworKit.pyx":12609
 * 	"""
 * 	def __cinit__(self, G):
 * 		if isinstance(G, Graph):             # <<<<<<<<<<<<<<
 * 			self._this = new _DegreePreservingShuffle((<Graph>G)._this)
 * 		else:
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_G, __pyx_ptype_9networkit_10_NetworKit_Graph); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (likely(__pyx_t_2)) {

    /* "networkit/_NetworKit.pyx":12610
 * 	def __cinit__(self, G):
 * 		if isinstance(G, Graph):
 * 			self._this = new _DegreePreservingShuffle((<Graph>G)._this)             # <<<<<<<<<<<<<<
 * 		else:
 * 			raise RuntimeError("Parameter G has to be a graph")
 */
    try {
      __pyx_t_3 = new NetworKit::DegreePreservingShuffle(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_v_G)->_this);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 12610, __pyx_L1_error)
    }
    __pyx_v_self->__pyx_base._this = __pyx_t_3;

    /* "networkit/_NetworKit.pyx":12609
 * 	"""
 * 	def __cinit__(self, G):
 * 		if isinstance(G, Graph):             # <<<<<<<<<<<<<<
 * 			self._this = new _DegreePreservingShuffle((<Graph>G)._this)
 * 		else:
 */
    goto __pyx_L3;
  }

  /* "networkit/_NetworKit.pyx":12612
 * 			self._this = new _DegreePreservingShuffle((<Graph>G)._this)
 * 		else:
 * 			raise RuntimeError("Parameter G has to be a graph")             # <<<<<<<<<<<<<<
 * 
 * 	def getGraph(self):
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__484, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12612, __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(0, 12612, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "networkit/_NetworKit.pyx":12608
 * 
 * 	"""
 * 	def __cinit__(self, G):             # <<<<<<<<<<<<<<
 * 		if isinstance(G, Graph):
 * 			self._this = new _DegreePreservingShuffle((<Graph>G)._this)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("networkit._NetworKit.DegreePreservingShuffle.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12614
 * 			raise RuntimeError("Parameter G has to be a graph")
 * 
 * 	def getGraph(self):             # <<<<<<<<<<<<<<
 * 		return Graph().setThis((<_DegreePreservingShuffle*>self._this).getGraph())
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_23DegreePreservingShuffle_3getGraph(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_23DegreePreservingShuffle_3getGraph(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getGraph (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23DegreePreservingShuffle_2getGraph(((struct __pyx_obj_9networkit_10_NetworKit_DegreePreservingShuffle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_23DegreePreservingShuffle_2getGraph(struct __pyx_obj_9networkit_10_NetworKit_DegreePreservingShuffle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  NetworKit::Graph __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("getGraph", 0);

  /* "networkit/_NetworKit.pyx":12615
 * 
 * 	def getGraph(self):
 * 		return Graph().setThis((<_DegreePreservingShuffle*>self._this).getGraph())             # <<<<<<<<<<<<<<
 * 
 * 	def getPermutation(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Graph)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  try {
    __pyx_t_2 = ((NetworKit::DegreePreservingShuffle *)__pyx_v_self->__pyx_base._this)->getGraph();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12615, __pyx_L1_error)
  }
  __pyx_t_3 = ((struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph *)((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1)->__pyx_vtab)->setThis(((struct __pyx_obj_9networkit_10_NetworKit_Graph *)__pyx_t_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12615, __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;

  /* "networkit/_NetworKit.pyx":12614
 * 			raise RuntimeError("Parameter G has to be a graph")
 * 
 * 	def getGraph(self):             # <<<<<<<<<<<<<<
 * 		return Graph().setThis((<_DegreePreservingShuffle*>self._this).getGraph())
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("networkit._NetworKit.DegreePreservingShuffle.getGraph", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "networkit/_NetworKit.pyx":12617
 * 		return Graph().setThis((<_DegreePreservingShuffle*>self._this).getGraph())
 * 
 * 	def getPermutation(self):             # <<<<<<<<<<<<<<
 * 		return (<_DegreePreservingShuffle*>(self._this)).getPermutation()
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_23DegreePreservingShuffle_5getPermutation(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_23DegreePreservingShuffle_5getPermutation(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPermutation (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23DegreePreservingShuffle_4getPermutation(((struct __pyx_obj_9networkit_10_NetworKit_DegreePreservingShuffle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_23DegreePreservingShuffle_4getPermutation(struct __pyx_obj_9networkit_10_NetworKit_DegreePreservingShuffle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("getPermutation", 0);

  /* "networkit/_NetworKit.pyx":12618
 * 
 * 	def getPermutation(self):
 * 		return (<_DegreePreservingShuffle*>(self._this)).getPermutation()             # <<<<<<<<<<<<<<
 */
  __Pyx_XDECREF(__pyx_r);
  try {
    __pyx_t_1 = ((NetworKit::DegreePreservingShuffle *)__pyx_v_self->__pyx_base._this)->getPermutation();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 12618, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "networkit/_NetworKit.pyx":12617
 * 		return Graph().setThis((<_DegreePreservingShuffle*>self._this).getGraph())
 * 
 * 	def getPermutation(self):             # <<<<<<<<<<<<<<
 * 		return (<_DegreePreservingShuffle*>(self._this)).getPermutation()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("networkit._NetworKit.DegreePreservingShuffle.getPermutation", __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_9networkit_10_NetworKit_23DegreePreservingShuffle_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_23DegreePreservingShuffle_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23DegreePreservingShuffle_6__reduce_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DegreePreservingShuffle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_23DegreePreservingShuffle_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DegreePreservingShuffle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__493, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DegreePreservingShuffle.__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_9networkit_10_NetworKit_23DegreePreservingShuffle_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_9networkit_10_NetworKit_23DegreePreservingShuffle_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_23DegreePreservingShuffle_8__setstate_cython__(((struct __pyx_obj_9networkit_10_NetworKit_DegreePreservingShuffle *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_23DegreePreservingShuffle_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9networkit_10_NetworKit_DegreePreservingShuffle *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __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_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__494, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __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, 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_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("networkit._NetworKit.DegreePreservingShuffle.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle_GraphClusteringTools(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_27__pyx_unpickle_GraphClusteringTools(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_27__pyx_unpickle_GraphClusteringTools = {"__pyx_unpickle_GraphClusteringTools", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_27__pyx_unpickle_GraphClusteringTools, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9networkit_10_NetworKit_27__pyx_unpickle_GraphClusteringTools(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_GraphClusteringTools (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_GraphClusteringTools", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_GraphClusteringTools", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_GraphClusteringTools") < 0)) __PYX_ERR(1, 1, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_GraphClusteringTools", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.__pyx_unpickle_GraphClusteringTools", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_26__pyx_unpickle_GraphClusteringTools(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_26__pyx_unpickle_GraphClusteringTools(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = 0;
  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;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  __Pyx_RefNannySetupContext("__pyx_unpickle_GraphClusteringTools", 0);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 */
  __pyx_t_1 = ((__pyx_v___pyx_checksum != 0xd41d8cd) != 0);
  if (__pyx_t_1) {

    /* "(tree fragment)":5
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = GraphClusteringTools.__new__(__pyx_type)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v___pyx_PickleError = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)             # <<<<<<<<<<<<<<
 *     __pyx_result = GraphClusteringTools.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0xd4, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_v___pyx_PickleError);
    __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __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_3)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6, __pyx_L1_error)

    /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 */
  }

  /* "(tree fragment)":7
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = GraphClusteringTools.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_GraphClusteringTools__set_state(<GraphClusteringTools> __pyx_result, __pyx_state)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v___pyx_result = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = GraphClusteringTools.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_GraphClusteringTools__set_state(<GraphClusteringTools> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
  __pyx_t_6 = (__pyx_t_1 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":9
 *     __pyx_result = GraphClusteringTools.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_GraphClusteringTools__set_state(<GraphClusteringTools> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_GraphClusteringTools__set_state(GraphClusteringTools __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
    __pyx_t_3 = __pyx_f_9networkit_10_NetworKit___pyx_unpickle_GraphClusteringTools__set_state(((struct __pyx_obj_9networkit_10_NetworKit_GraphClusteringTools *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = GraphClusteringTools.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_GraphClusteringTools__set_state(<GraphClusteringTools> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_GraphClusteringTools__set_state(<GraphClusteringTools> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_GraphClusteringTools__set_state(GraphClusteringTools __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_GraphClusteringTools(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

  /* 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("networkit._NetworKit.__pyx_unpickle_GraphClusteringTools", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_GraphClusteringTools__set_state(<GraphClusteringTools> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_GraphClusteringTools__set_state(GraphClusteringTools __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

static PyObject *__pyx_f_9networkit_10_NetworKit___pyx_unpickle_GraphClusteringTools__set_state(struct __pyx_obj_9networkit_10_NetworKit_GraphClusteringTools *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  Py_ssize_t __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;
  PyObject *__pyx_t_8 = NULL;
  __Pyx_RefNannySetupContext("__pyx_unpickle_GraphClusteringTools__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_GraphClusteringTools__set_state(GraphClusteringTools __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_2 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
  __pyx_t_3 = ((__pyx_t_2 > 0) != 0);
  if (__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_4;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "(tree fragment)":13
 * cdef __pyx_unpickle_GraphClusteringTools__set_state(GraphClusteringTools __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])             # <<<<<<<<<<<<<<
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 13, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
      if (likely(__pyx_t_8)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_8);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_7, function);
      }
    }
    __pyx_t_5 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
    __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(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_GraphClusteringTools__set_state(GraphClusteringTools __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  }

  /* "(tree fragment)":11
 *         __pyx_unpickle_GraphClusteringTools__set_state(<GraphClusteringTools> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_GraphClusteringTools__set_state(GraphClusteringTools __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  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_AddTraceback("networkit._NetworKit.__pyx_unpickle_GraphClusteringTools__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle_Traversal(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_29__pyx_unpickle_Traversal(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_29__pyx_unpickle_Traversal = {"__pyx_unpickle_Traversal", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_29__pyx_unpickle_Traversal, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9networkit_10_NetworKit_29__pyx_unpickle_Traversal(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_Traversal (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Traversal", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Traversal", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_Traversal") < 0)) __PYX_ERR(1, 1, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Traversal", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.__pyx_unpickle_Traversal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_28__pyx_unpickle_Traversal(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_28__pyx_unpickle_Traversal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = 0;
  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;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Traversal", 0);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 */
  __pyx_t_1 = ((__pyx_v___pyx_checksum != 0xd41d8cd) != 0);
  if (__pyx_t_1) {

    /* "(tree fragment)":5
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = Traversal.__new__(__pyx_type)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v___pyx_PickleError = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)             # <<<<<<<<<<<<<<
 *     __pyx_result = Traversal.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0xd4, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_v___pyx_PickleError);
    __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __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_3)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6, __pyx_L1_error)

    /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 */
  }

  /* "(tree fragment)":7
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = Traversal.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Traversal__set_state(<Traversal> __pyx_result, __pyx_state)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Traversal), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v___pyx_result = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = Traversal.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Traversal__set_state(<Traversal> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
  __pyx_t_6 = (__pyx_t_1 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":9
 *     __pyx_result = Traversal.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Traversal__set_state(<Traversal> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_Traversal__set_state(Traversal __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
    __pyx_t_3 = __pyx_f_9networkit_10_NetworKit___pyx_unpickle_Traversal__set_state(((struct __pyx_obj_9networkit_10_NetworKit_Traversal *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = Traversal.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Traversal__set_state(<Traversal> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Traversal__set_state(<Traversal> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_Traversal__set_state(Traversal __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_Traversal(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

  /* 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("networkit._NetworKit.__pyx_unpickle_Traversal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_Traversal__set_state(<Traversal> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Traversal__set_state(Traversal __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

static PyObject *__pyx_f_9networkit_10_NetworKit___pyx_unpickle_Traversal__set_state(struct __pyx_obj_9networkit_10_NetworKit_Traversal *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  Py_ssize_t __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;
  PyObject *__pyx_t_8 = NULL;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Traversal__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_Traversal__set_state(Traversal __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_2 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
  __pyx_t_3 = ((__pyx_t_2 > 0) != 0);
  if (__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_4;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "(tree fragment)":13
 * cdef __pyx_unpickle_Traversal__set_state(Traversal __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])             # <<<<<<<<<<<<<<
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 13, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
      if (likely(__pyx_t_8)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_8);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_7, function);
      }
    }
    __pyx_t_5 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
    __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(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_Traversal__set_state(Traversal __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  }

  /* "(tree fragment)":11
 *         __pyx_unpickle_Traversal__set_state(<Traversal> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Traversal__set_state(Traversal __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  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_AddTraceback("networkit._NetworKit.__pyx_unpickle_Traversal__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle_GraphTools(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_31__pyx_unpickle_GraphTools(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_31__pyx_unpickle_GraphTools = {"__pyx_unpickle_GraphTools", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_31__pyx_unpickle_GraphTools, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9networkit_10_NetworKit_31__pyx_unpickle_GraphTools(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_GraphTools (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_GraphTools", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_GraphTools", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_GraphTools") < 0)) __PYX_ERR(1, 1, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_GraphTools", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.__pyx_unpickle_GraphTools", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_30__pyx_unpickle_GraphTools(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_30__pyx_unpickle_GraphTools(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = 0;
  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;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  __Pyx_RefNannySetupContext("__pyx_unpickle_GraphTools", 0);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 */
  __pyx_t_1 = ((__pyx_v___pyx_checksum != 0xd41d8cd) != 0);
  if (__pyx_t_1) {

    /* "(tree fragment)":5
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = GraphTools.__new__(__pyx_type)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v___pyx_PickleError = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)             # <<<<<<<<<<<<<<
 *     __pyx_result = GraphTools.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0xd4, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_v___pyx_PickleError);
    __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __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_3)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6, __pyx_L1_error)

    /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 */
  }

  /* "(tree fragment)":7
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = GraphTools.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_GraphTools__set_state(<GraphTools> __pyx_result, __pyx_state)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v___pyx_result = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = GraphTools.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_GraphTools__set_state(<GraphTools> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
  __pyx_t_6 = (__pyx_t_1 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":9
 *     __pyx_result = GraphTools.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_GraphTools__set_state(<GraphTools> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_GraphTools__set_state(GraphTools __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
    __pyx_t_3 = __pyx_f_9networkit_10_NetworKit___pyx_unpickle_GraphTools__set_state(((struct __pyx_obj_9networkit_10_NetworKit_GraphTools *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = GraphTools.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_GraphTools__set_state(<GraphTools> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_GraphTools__set_state(<GraphTools> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_GraphTools__set_state(GraphTools __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_GraphTools(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

  /* 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("networkit._NetworKit.__pyx_unpickle_GraphTools", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_GraphTools__set_state(<GraphTools> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_GraphTools__set_state(GraphTools __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

static PyObject *__pyx_f_9networkit_10_NetworKit___pyx_unpickle_GraphTools__set_state(struct __pyx_obj_9networkit_10_NetworKit_GraphTools *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  Py_ssize_t __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;
  PyObject *__pyx_t_8 = NULL;
  __Pyx_RefNannySetupContext("__pyx_unpickle_GraphTools__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_GraphTools__set_state(GraphTools __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_2 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
  __pyx_t_3 = ((__pyx_t_2 > 0) != 0);
  if (__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_4;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "(tree fragment)":13
 * cdef __pyx_unpickle_GraphTools__set_state(GraphTools __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])             # <<<<<<<<<<<<<<
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 13, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
      if (likely(__pyx_t_8)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_8);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_7, function);
      }
    }
    __pyx_t_5 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
    __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(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_GraphTools__set_state(GraphTools __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  }

  /* "(tree fragment)":11
 *         __pyx_unpickle_GraphTools__set_state(<GraphTools> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_GraphTools__set_state(GraphTools __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  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_AddTraceback("networkit._NetworKit.__pyx_unpickle_GraphTools__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle_DissimilarityMeasure(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_33__pyx_unpickle_DissimilarityMeasure(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_33__pyx_unpickle_DissimilarityMeasure = {"__pyx_unpickle_DissimilarityMeasure", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_33__pyx_unpickle_DissimilarityMeasure, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9networkit_10_NetworKit_33__pyx_unpickle_DissimilarityMeasure(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_DissimilarityMeasure (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_DissimilarityMeasure", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_DissimilarityMeasure", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_DissimilarityMeasure") < 0)) __PYX_ERR(1, 1, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_DissimilarityMeasure", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.__pyx_unpickle_DissimilarityMeasure", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_32__pyx_unpickle_DissimilarityMeasure(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_32__pyx_unpickle_DissimilarityMeasure(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = 0;
  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;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  __Pyx_RefNannySetupContext("__pyx_unpickle_DissimilarityMeasure", 0);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 */
  __pyx_t_1 = ((__pyx_v___pyx_checksum != 0xd41d8cd) != 0);
  if (__pyx_t_1) {

    /* "(tree fragment)":5
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = DissimilarityMeasure.__new__(__pyx_type)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v___pyx_PickleError = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)             # <<<<<<<<<<<<<<
 *     __pyx_result = DissimilarityMeasure.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0xd4, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_v___pyx_PickleError);
    __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __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_3)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6, __pyx_L1_error)

    /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 */
  }

  /* "(tree fragment)":7
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = DissimilarityMeasure.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_DissimilarityMeasure__set_state(<DissimilarityMeasure> __pyx_result, __pyx_state)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_DissimilarityMeasure), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v___pyx_result = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = DissimilarityMeasure.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_DissimilarityMeasure__set_state(<DissimilarityMeasure> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
  __pyx_t_6 = (__pyx_t_1 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":9
 *     __pyx_result = DissimilarityMeasure.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_DissimilarityMeasure__set_state(<DissimilarityMeasure> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_DissimilarityMeasure__set_state(DissimilarityMeasure __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
    __pyx_t_3 = __pyx_f_9networkit_10_NetworKit___pyx_unpickle_DissimilarityMeasure__set_state(((struct __pyx_obj_9networkit_10_NetworKit_DissimilarityMeasure *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = DissimilarityMeasure.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_DissimilarityMeasure__set_state(<DissimilarityMeasure> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_DissimilarityMeasure__set_state(<DissimilarityMeasure> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_DissimilarityMeasure__set_state(DissimilarityMeasure __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_DissimilarityMeasure(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

  /* 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("networkit._NetworKit.__pyx_unpickle_DissimilarityMeasure", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_DissimilarityMeasure__set_state(<DissimilarityMeasure> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_DissimilarityMeasure__set_state(DissimilarityMeasure __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

static PyObject *__pyx_f_9networkit_10_NetworKit___pyx_unpickle_DissimilarityMeasure__set_state(struct __pyx_obj_9networkit_10_NetworKit_DissimilarityMeasure *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  Py_ssize_t __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;
  PyObject *__pyx_t_8 = NULL;
  __Pyx_RefNannySetupContext("__pyx_unpickle_DissimilarityMeasure__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_DissimilarityMeasure__set_state(DissimilarityMeasure __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_2 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
  __pyx_t_3 = ((__pyx_t_2 > 0) != 0);
  if (__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_4;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "(tree fragment)":13
 * cdef __pyx_unpickle_DissimilarityMeasure__set_state(DissimilarityMeasure __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])             # <<<<<<<<<<<<<<
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 13, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
      if (likely(__pyx_t_8)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_8);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_7, function);
      }
    }
    __pyx_t_5 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
    __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(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_DissimilarityMeasure__set_state(DissimilarityMeasure __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  }

  /* "(tree fragment)":11
 *         __pyx_unpickle_DissimilarityMeasure__set_state(<DissimilarityMeasure> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_DissimilarityMeasure__set_state(DissimilarityMeasure __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  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_AddTraceback("networkit._NetworKit.__pyx_unpickle_DissimilarityMeasure__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle_ClusteringCoefficient(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_35__pyx_unpickle_ClusteringCoefficient(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_35__pyx_unpickle_ClusteringCoefficient = {"__pyx_unpickle_ClusteringCoefficient", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_35__pyx_unpickle_ClusteringCoefficient, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9networkit_10_NetworKit_35__pyx_unpickle_ClusteringCoefficient(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_ClusteringCoefficient (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_ClusteringCoefficient", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_ClusteringCoefficient", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_ClusteringCoefficient") < 0)) __PYX_ERR(1, 1, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_ClusteringCoefficient", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.__pyx_unpickle_ClusteringCoefficient", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_34__pyx_unpickle_ClusteringCoefficient(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_34__pyx_unpickle_ClusteringCoefficient(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = 0;
  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;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  __Pyx_RefNannySetupContext("__pyx_unpickle_ClusteringCoefficient", 0);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 */
  __pyx_t_1 = ((__pyx_v___pyx_checksum != 0xd41d8cd) != 0);
  if (__pyx_t_1) {

    /* "(tree fragment)":5
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = ClusteringCoefficient.__new__(__pyx_type)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v___pyx_PickleError = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)             # <<<<<<<<<<<<<<
 *     __pyx_result = ClusteringCoefficient.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0xd4, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_v___pyx_PickleError);
    __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __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_3)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6, __pyx_L1_error)

    /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 */
  }

  /* "(tree fragment)":7
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = ClusteringCoefficient.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_ClusteringCoefficient__set_state(<ClusteringCoefficient> __pyx_result, __pyx_state)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v___pyx_result = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = ClusteringCoefficient.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_ClusteringCoefficient__set_state(<ClusteringCoefficient> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
  __pyx_t_6 = (__pyx_t_1 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":9
 *     __pyx_result = ClusteringCoefficient.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_ClusteringCoefficient__set_state(<ClusteringCoefficient> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_ClusteringCoefficient__set_state(ClusteringCoefficient __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
    __pyx_t_3 = __pyx_f_9networkit_10_NetworKit___pyx_unpickle_ClusteringCoefficient__set_state(((struct __pyx_obj_9networkit_10_NetworKit_ClusteringCoefficient *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = ClusteringCoefficient.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_ClusteringCoefficient__set_state(<ClusteringCoefficient> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_ClusteringCoefficient__set_state(<ClusteringCoefficient> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_ClusteringCoefficient__set_state(ClusteringCoefficient __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_ClusteringCoefficient(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

  /* 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("networkit._NetworKit.__pyx_unpickle_ClusteringCoefficient", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_ClusteringCoefficient__set_state(<ClusteringCoefficient> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_ClusteringCoefficient__set_state(ClusteringCoefficient __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

static PyObject *__pyx_f_9networkit_10_NetworKit___pyx_unpickle_ClusteringCoefficient__set_state(struct __pyx_obj_9networkit_10_NetworKit_ClusteringCoefficient *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  Py_ssize_t __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;
  PyObject *__pyx_t_8 = NULL;
  __Pyx_RefNannySetupContext("__pyx_unpickle_ClusteringCoefficient__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_ClusteringCoefficient__set_state(ClusteringCoefficient __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_2 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
  __pyx_t_3 = ((__pyx_t_2 > 0) != 0);
  if (__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_4;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "(tree fragment)":13
 * cdef __pyx_unpickle_ClusteringCoefficient__set_state(ClusteringCoefficient __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])             # <<<<<<<<<<<<<<
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 13, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
      if (likely(__pyx_t_8)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_8);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_7, function);
      }
    }
    __pyx_t_5 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
    __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(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_ClusteringCoefficient__set_state(ClusteringCoefficient __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  }

  /* "(tree fragment)":11
 *         __pyx_unpickle_ClusteringCoefficient__set_state(<ClusteringCoefficient> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_ClusteringCoefficient__set_state(ClusteringCoefficient __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  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_AddTraceback("networkit._NetworKit.__pyx_unpickle_ClusteringCoefficient__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle_Eccentricity(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_37__pyx_unpickle_Eccentricity(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_37__pyx_unpickle_Eccentricity = {"__pyx_unpickle_Eccentricity", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_37__pyx_unpickle_Eccentricity, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9networkit_10_NetworKit_37__pyx_unpickle_Eccentricity(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_Eccentricity (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Eccentricity", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Eccentricity", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_Eccentricity") < 0)) __PYX_ERR(1, 1, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Eccentricity", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.__pyx_unpickle_Eccentricity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_36__pyx_unpickle_Eccentricity(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_36__pyx_unpickle_Eccentricity(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = 0;
  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;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Eccentricity", 0);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 */
  __pyx_t_1 = ((__pyx_v___pyx_checksum != 0xd41d8cd) != 0);
  if (__pyx_t_1) {

    /* "(tree fragment)":5
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = Eccentricity.__new__(__pyx_type)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v___pyx_PickleError = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)             # <<<<<<<<<<<<<<
 *     __pyx_result = Eccentricity.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0xd4, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_v___pyx_PickleError);
    __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __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_3)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6, __pyx_L1_error)

    /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 */
  }

  /* "(tree fragment)":7
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = Eccentricity.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Eccentricity__set_state(<Eccentricity> __pyx_result, __pyx_state)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Eccentricity), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v___pyx_result = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = Eccentricity.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Eccentricity__set_state(<Eccentricity> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
  __pyx_t_6 = (__pyx_t_1 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":9
 *     __pyx_result = Eccentricity.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Eccentricity__set_state(<Eccentricity> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_Eccentricity__set_state(Eccentricity __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
    __pyx_t_3 = __pyx_f_9networkit_10_NetworKit___pyx_unpickle_Eccentricity__set_state(((struct __pyx_obj_9networkit_10_NetworKit_Eccentricity *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = Eccentricity.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Eccentricity__set_state(<Eccentricity> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Eccentricity__set_state(<Eccentricity> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_Eccentricity__set_state(Eccentricity __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_Eccentricity(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

  /* 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("networkit._NetworKit.__pyx_unpickle_Eccentricity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_Eccentricity__set_state(<Eccentricity> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Eccentricity__set_state(Eccentricity __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

static PyObject *__pyx_f_9networkit_10_NetworKit___pyx_unpickle_Eccentricity__set_state(struct __pyx_obj_9networkit_10_NetworKit_Eccentricity *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  Py_ssize_t __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;
  PyObject *__pyx_t_8 = NULL;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Eccentricity__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_Eccentricity__set_state(Eccentricity __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_2 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
  __pyx_t_3 = ((__pyx_t_2 > 0) != 0);
  if (__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_4;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "(tree fragment)":13
 * cdef __pyx_unpickle_Eccentricity__set_state(Eccentricity __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])             # <<<<<<<<<<<<<<
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 13, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
      if (likely(__pyx_t_8)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_8);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_7, function);
      }
    }
    __pyx_t_5 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
    __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(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_Eccentricity__set_state(Eccentricity __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  }

  /* "(tree fragment)":11
 *         __pyx_unpickle_Eccentricity__set_state(<Eccentricity> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Eccentricity__set_state(Eccentricity __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  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_AddTraceback("networkit._NetworKit.__pyx_unpickle_Eccentricity__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle_Volume(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_39__pyx_unpickle_Volume(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_39__pyx_unpickle_Volume = {"__pyx_unpickle_Volume", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_39__pyx_unpickle_Volume, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9networkit_10_NetworKit_39__pyx_unpickle_Volume(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_Volume (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Volume", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Volume", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_Volume") < 0)) __PYX_ERR(1, 1, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Volume", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.__pyx_unpickle_Volume", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_38__pyx_unpickle_Volume(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_38__pyx_unpickle_Volume(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = 0;
  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;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Volume", 0);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 */
  __pyx_t_1 = ((__pyx_v___pyx_checksum != 0xd41d8cd) != 0);
  if (__pyx_t_1) {

    /* "(tree fragment)":5
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = Volume.__new__(__pyx_type)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v___pyx_PickleError = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)             # <<<<<<<<<<<<<<
 *     __pyx_result = Volume.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0xd4, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_v___pyx_PickleError);
    __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __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_3)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6, __pyx_L1_error)

    /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 */
  }

  /* "(tree fragment)":7
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = Volume.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Volume__set_state(<Volume> __pyx_result, __pyx_state)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Volume), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v___pyx_result = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = Volume.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Volume__set_state(<Volume> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
  __pyx_t_6 = (__pyx_t_1 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":9
 *     __pyx_result = Volume.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Volume__set_state(<Volume> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_Volume__set_state(Volume __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
    __pyx_t_3 = __pyx_f_9networkit_10_NetworKit___pyx_unpickle_Volume__set_state(((struct __pyx_obj_9networkit_10_NetworKit_Volume *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = Volume.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Volume__set_state(<Volume> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Volume__set_state(<Volume> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_Volume__set_state(Volume __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_Volume(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

  /* 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("networkit._NetworKit.__pyx_unpickle_Volume", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_Volume__set_state(<Volume> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Volume__set_state(Volume __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

static PyObject *__pyx_f_9networkit_10_NetworKit___pyx_unpickle_Volume__set_state(struct __pyx_obj_9networkit_10_NetworKit_Volume *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  Py_ssize_t __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;
  PyObject *__pyx_t_8 = NULL;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Volume__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_Volume__set_state(Volume __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_2 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
  __pyx_t_3 = ((__pyx_t_2 > 0) != 0);
  if (__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_4;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "(tree fragment)":13
 * cdef __pyx_unpickle_Volume__set_state(Volume __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])             # <<<<<<<<<<<<<<
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 13, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
      if (likely(__pyx_t_8)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_8);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_7, function);
      }
    }
    __pyx_t_5 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
    __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(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_Volume__set_state(Volume __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  }

  /* "(tree fragment)":11
 *         __pyx_unpickle_Volume__set_state(<Volume> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Volume__set_state(Volume __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  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_AddTraceback("networkit._NetworKit.__pyx_unpickle_Volume__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle_RandomLinkSampler(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_41__pyx_unpickle_RandomLinkSampler(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_41__pyx_unpickle_RandomLinkSampler = {"__pyx_unpickle_RandomLinkSampler", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_41__pyx_unpickle_RandomLinkSampler, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9networkit_10_NetworKit_41__pyx_unpickle_RandomLinkSampler(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_RandomLinkSampler (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_RandomLinkSampler", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_RandomLinkSampler", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_RandomLinkSampler") < 0)) __PYX_ERR(1, 1, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_RandomLinkSampler", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.__pyx_unpickle_RandomLinkSampler", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_40__pyx_unpickle_RandomLinkSampler(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_40__pyx_unpickle_RandomLinkSampler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = 0;
  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;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  __Pyx_RefNannySetupContext("__pyx_unpickle_RandomLinkSampler", 0);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 */
  __pyx_t_1 = ((__pyx_v___pyx_checksum != 0xd41d8cd) != 0);
  if (__pyx_t_1) {

    /* "(tree fragment)":5
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = RandomLinkSampler.__new__(__pyx_type)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v___pyx_PickleError = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)             # <<<<<<<<<<<<<<
 *     __pyx_result = RandomLinkSampler.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0xd4, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_v___pyx_PickleError);
    __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __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_3)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6, __pyx_L1_error)

    /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 */
  }

  /* "(tree fragment)":7
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = RandomLinkSampler.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_RandomLinkSampler__set_state(<RandomLinkSampler> __pyx_result, __pyx_state)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_RandomLinkSampler), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v___pyx_result = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = RandomLinkSampler.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_RandomLinkSampler__set_state(<RandomLinkSampler> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
  __pyx_t_6 = (__pyx_t_1 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":9
 *     __pyx_result = RandomLinkSampler.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_RandomLinkSampler__set_state(<RandomLinkSampler> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_RandomLinkSampler__set_state(RandomLinkSampler __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
    __pyx_t_3 = __pyx_f_9networkit_10_NetworKit___pyx_unpickle_RandomLinkSampler__set_state(((struct __pyx_obj_9networkit_10_NetworKit_RandomLinkSampler *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = RandomLinkSampler.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_RandomLinkSampler__set_state(<RandomLinkSampler> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_RandomLinkSampler__set_state(<RandomLinkSampler> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_RandomLinkSampler__set_state(RandomLinkSampler __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_RandomLinkSampler(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

  /* 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("networkit._NetworKit.__pyx_unpickle_RandomLinkSampler", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_RandomLinkSampler__set_state(<RandomLinkSampler> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_RandomLinkSampler__set_state(RandomLinkSampler __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

static PyObject *__pyx_f_9networkit_10_NetworKit___pyx_unpickle_RandomLinkSampler__set_state(struct __pyx_obj_9networkit_10_NetworKit_RandomLinkSampler *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  Py_ssize_t __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;
  PyObject *__pyx_t_8 = NULL;
  __Pyx_RefNannySetupContext("__pyx_unpickle_RandomLinkSampler__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_RandomLinkSampler__set_state(RandomLinkSampler __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_2 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
  __pyx_t_3 = ((__pyx_t_2 > 0) != 0);
  if (__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_4;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "(tree fragment)":13
 * cdef __pyx_unpickle_RandomLinkSampler__set_state(RandomLinkSampler __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])             # <<<<<<<<<<<<<<
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 13, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
      if (likely(__pyx_t_8)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_8);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_7, function);
      }
    }
    __pyx_t_5 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
    __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(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_RandomLinkSampler__set_state(RandomLinkSampler __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  }

  /* "(tree fragment)":11
 *         __pyx_unpickle_RandomLinkSampler__set_state(<RandomLinkSampler> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_RandomLinkSampler__set_state(RandomLinkSampler __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  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_AddTraceback("networkit._NetworKit.__pyx_unpickle_RandomLinkSampler__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle_NeighborhoodUtility(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_43__pyx_unpickle_NeighborhoodUtility(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_43__pyx_unpickle_NeighborhoodUtility = {"__pyx_unpickle_NeighborhoodUtility", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_43__pyx_unpickle_NeighborhoodUtility, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9networkit_10_NetworKit_43__pyx_unpickle_NeighborhoodUtility(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_NeighborhoodUtility (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_NeighborhoodUtility", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_NeighborhoodUtility", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_NeighborhoodUtility") < 0)) __PYX_ERR(1, 1, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_NeighborhoodUtility", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.__pyx_unpickle_NeighborhoodUtility", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_42__pyx_unpickle_NeighborhoodUtility(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_42__pyx_unpickle_NeighborhoodUtility(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = 0;
  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;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  __Pyx_RefNannySetupContext("__pyx_unpickle_NeighborhoodUtility", 0);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 */
  __pyx_t_1 = ((__pyx_v___pyx_checksum != 0xd41d8cd) != 0);
  if (__pyx_t_1) {

    /* "(tree fragment)":5
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = NeighborhoodUtility.__new__(__pyx_type)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v___pyx_PickleError = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)             # <<<<<<<<<<<<<<
 *     __pyx_result = NeighborhoodUtility.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0xd4, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_v___pyx_PickleError);
    __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __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_3)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6, __pyx_L1_error)

    /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 */
  }

  /* "(tree fragment)":7
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = NeighborhoodUtility.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_NeighborhoodUtility__set_state(<NeighborhoodUtility> __pyx_result, __pyx_state)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_NeighborhoodUtility), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v___pyx_result = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = NeighborhoodUtility.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_NeighborhoodUtility__set_state(<NeighborhoodUtility> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
  __pyx_t_6 = (__pyx_t_1 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":9
 *     __pyx_result = NeighborhoodUtility.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_NeighborhoodUtility__set_state(<NeighborhoodUtility> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_NeighborhoodUtility__set_state(NeighborhoodUtility __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
    __pyx_t_3 = __pyx_f_9networkit_10_NetworKit___pyx_unpickle_NeighborhoodUtility__set_state(((struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodUtility *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = NeighborhoodUtility.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_NeighborhoodUtility__set_state(<NeighborhoodUtility> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_NeighborhoodUtility__set_state(<NeighborhoodUtility> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_NeighborhoodUtility__set_state(NeighborhoodUtility __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_NeighborhoodUtility(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

  /* 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("networkit._NetworKit.__pyx_unpickle_NeighborhoodUtility", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_NeighborhoodUtility__set_state(<NeighborhoodUtility> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_NeighborhoodUtility__set_state(NeighborhoodUtility __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

static PyObject *__pyx_f_9networkit_10_NetworKit___pyx_unpickle_NeighborhoodUtility__set_state(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodUtility *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  Py_ssize_t __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;
  PyObject *__pyx_t_8 = NULL;
  __Pyx_RefNannySetupContext("__pyx_unpickle_NeighborhoodUtility__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_NeighborhoodUtility__set_state(NeighborhoodUtility __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_2 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
  __pyx_t_3 = ((__pyx_t_2 > 0) != 0);
  if (__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_4;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "(tree fragment)":13
 * cdef __pyx_unpickle_NeighborhoodUtility__set_state(NeighborhoodUtility __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])             # <<<<<<<<<<<<<<
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 13, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
      if (likely(__pyx_t_8)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_8);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_7, function);
      }
    }
    __pyx_t_5 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
    __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(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_NeighborhoodUtility__set_state(NeighborhoodUtility __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  }

  /* "(tree fragment)":11
 *         __pyx_unpickle_NeighborhoodUtility__set_state(<NeighborhoodUtility> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_NeighborhoodUtility__set_state(NeighborhoodUtility __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  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_AddTraceback("networkit._NetworKit.__pyx_unpickle_NeighborhoodUtility__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle_LinkThresholder(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_45__pyx_unpickle_LinkThresholder(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_45__pyx_unpickle_LinkThresholder = {"__pyx_unpickle_LinkThresholder", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_45__pyx_unpickle_LinkThresholder, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9networkit_10_NetworKit_45__pyx_unpickle_LinkThresholder(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_LinkThresholder (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_LinkThresholder", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_LinkThresholder", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_LinkThresholder") < 0)) __PYX_ERR(1, 1, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_LinkThresholder", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.__pyx_unpickle_LinkThresholder", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_44__pyx_unpickle_LinkThresholder(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_44__pyx_unpickle_LinkThresholder(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = 0;
  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;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  __Pyx_RefNannySetupContext("__pyx_unpickle_LinkThresholder", 0);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 */
  __pyx_t_1 = ((__pyx_v___pyx_checksum != 0xd41d8cd) != 0);
  if (__pyx_t_1) {

    /* "(tree fragment)":5
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = LinkThresholder.__new__(__pyx_type)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v___pyx_PickleError = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)             # <<<<<<<<<<<<<<
 *     __pyx_result = LinkThresholder.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0xd4, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_v___pyx_PickleError);
    __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __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_3)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6, __pyx_L1_error)

    /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 */
  }

  /* "(tree fragment)":7
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = LinkThresholder.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_LinkThresholder__set_state(<LinkThresholder> __pyx_result, __pyx_state)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_LinkThresholder), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v___pyx_result = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = LinkThresholder.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_LinkThresholder__set_state(<LinkThresholder> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
  __pyx_t_6 = (__pyx_t_1 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":9
 *     __pyx_result = LinkThresholder.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_LinkThresholder__set_state(<LinkThresholder> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_LinkThresholder__set_state(LinkThresholder __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
    __pyx_t_3 = __pyx_f_9networkit_10_NetworKit___pyx_unpickle_LinkThresholder__set_state(((struct __pyx_obj_9networkit_10_NetworKit_LinkThresholder *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = LinkThresholder.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_LinkThresholder__set_state(<LinkThresholder> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_LinkThresholder__set_state(<LinkThresholder> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_LinkThresholder__set_state(LinkThresholder __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_LinkThresholder(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

  /* 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("networkit._NetworKit.__pyx_unpickle_LinkThresholder", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_LinkThresholder__set_state(<LinkThresholder> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_LinkThresholder__set_state(LinkThresholder __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

static PyObject *__pyx_f_9networkit_10_NetworKit___pyx_unpickle_LinkThresholder__set_state(struct __pyx_obj_9networkit_10_NetworKit_LinkThresholder *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  Py_ssize_t __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;
  PyObject *__pyx_t_8 = NULL;
  __Pyx_RefNannySetupContext("__pyx_unpickle_LinkThresholder__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_LinkThresholder__set_state(LinkThresholder __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_2 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
  __pyx_t_3 = ((__pyx_t_2 > 0) != 0);
  if (__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_4;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "(tree fragment)":13
 * cdef __pyx_unpickle_LinkThresholder__set_state(LinkThresholder __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])             # <<<<<<<<<<<<<<
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 13, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
      if (likely(__pyx_t_8)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_8);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_7, function);
      }
    }
    __pyx_t_5 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
    __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(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_LinkThresholder__set_state(LinkThresholder __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  }

  /* "(tree fragment)":11
 *         __pyx_unpickle_LinkThresholder__set_state(<LinkThresholder> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_LinkThresholder__set_state(LinkThresholder __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  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_AddTraceback("networkit._NetworKit.__pyx_unpickle_LinkThresholder__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle_PredictionsSorter(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

/* Python wrapper */
static PyObject *__pyx_pw_9networkit_10_NetworKit_47__pyx_unpickle_PredictionsSorter(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_9networkit_10_NetworKit_47__pyx_unpickle_PredictionsSorter = {"__pyx_unpickle_PredictionsSorter", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_47__pyx_unpickle_PredictionsSorter, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9networkit_10_NetworKit_47__pyx_unpickle_PredictionsSorter(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PredictionsSorter (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PredictionsSorter", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PredictionsSorter", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_PredictionsSorter") < 0)) __PYX_ERR(1, 1, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PredictionsSorter", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("networkit._NetworKit.__pyx_unpickle_PredictionsSorter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9networkit_10_NetworKit_46__pyx_unpickle_PredictionsSorter(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9networkit_10_NetworKit_46__pyx_unpickle_PredictionsSorter(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = 0;
  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;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PredictionsSorter", 0);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 */
  __pyx_t_1 = ((__pyx_v___pyx_checksum != 0xd41d8cd) != 0);
  if (__pyx_t_1) {

    /* "(tree fragment)":5
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = PredictionsSorter.__new__(__pyx_type)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v___pyx_PickleError = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *     if __pyx_checksum != 0xd41d8cd:
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)             # <<<<<<<<<<<<<<
 *     __pyx_result = PredictionsSorter.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0xd4, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_v___pyx_PickleError);
    __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __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_3)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6, __pyx_L1_error)

    /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0xd41d8cd:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 */
  }

  /* "(tree fragment)":7
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = PredictionsSorter.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PredictionsSorter__set_state(<PredictionsSorter> __pyx_result, __pyx_state)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_PredictionsSorter), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v___pyx_result = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = PredictionsSorter.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PredictionsSorter__set_state(<PredictionsSorter> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
  __pyx_t_6 = (__pyx_t_1 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":9
 *     __pyx_result = PredictionsSorter.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PredictionsSorter__set_state(<PredictionsSorter> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PredictionsSorter__set_state(PredictionsSorter __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
    __pyx_t_3 = __pyx_f_9networkit_10_NetworKit___pyx_unpickle_PredictionsSorter__set_state(((struct __pyx_obj_9networkit_10_NetworKit_PredictionsSorter *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0xd41d8cd = ())" % __pyx_checksum)
 *     __pyx_result = PredictionsSorter.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PredictionsSorter__set_state(<PredictionsSorter> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PredictionsSorter__set_state(<PredictionsSorter> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PredictionsSorter__set_state(PredictionsSorter __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_PredictionsSorter(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

  /* 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("networkit._NetworKit.__pyx_unpickle_PredictionsSorter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PredictionsSorter__set_state(<PredictionsSorter> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PredictionsSorter__set_state(PredictionsSorter __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

static PyObject *__pyx_f_9networkit_10_NetworKit___pyx_unpickle_PredictionsSorter__set_state(struct __pyx_obj_9networkit_10_NetworKit_PredictionsSorter *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  Py_ssize_t __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;
  PyObject *__pyx_t_8 = NULL;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PredictionsSorter__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PredictionsSorter__set_state(PredictionsSorter __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_2 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
  __pyx_t_3 = ((__pyx_t_2 > 0) != 0);
  if (__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_4;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "(tree fragment)":13
 * cdef __pyx_unpickle_PredictionsSorter__set_state(PredictionsSorter __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])             # <<<<<<<<<<<<<<
 */
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 13, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
      if (likely(__pyx_t_8)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_8);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_7, function);
      }
    }
    __pyx_t_5 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
    __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(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PredictionsSorter__set_state(PredictionsSorter __pyx_result, tuple __pyx_state):
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  }

  /* "(tree fragment)":11
 *         __pyx_unpickle_PredictionsSorter__set_state(<PredictionsSorter> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PredictionsSorter__set_state(PredictionsSorter __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  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_AddTraceback("networkit._NetworKit.__pyx_unpickle_PredictionsSorter__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "vector.from_py":45
 * 
 * @cname("__pyx_convert_vector_from_py_double")
 * cdef vector[X] __pyx_convert_vector_from_py_double(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef vector[X] v
 *     for item in o:
 */

static std::vector<double>  __pyx_convert_vector_from_py_double(PyObject *__pyx_v_o) {
  std::vector<double>  __pyx_v_v;
  PyObject *__pyx_v_item = NULL;
  std::vector<double>  __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  double __pyx_t_5;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_from_py_double", 0);

  /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py_double(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
    __pyx_t_1 = __pyx_v_o; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 47, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 47, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(1, 47, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "vector.from_py":48
 *     cdef vector[X] v
 *     for item in o:
 *         v.push_back(<X>item)             # <<<<<<<<<<<<<<
 *     return v
 * 
 */
    __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_v_item); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 48, __pyx_L1_error)
    __pyx_v_v.push_back(((double)__pyx_t_5));

    /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py_double(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "vector.from_py":49
 *     for item in o:
 *         v.push_back(<X>item)
 *     return v             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_v;
  goto __pyx_L0;

  /* "vector.from_py":45
 * 
 * @cname("__pyx_convert_vector_from_py_double")
 * cdef vector[X] __pyx_convert_vector_from_py_double(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef vector[X] v
 *     for item in o:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("vector.from_py.__pyx_convert_vector_from_py_double", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_pretend_to_initialize(&__pyx_r);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_count(PyObject *__pyx_v_o) {
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_v_v;
  PyObject *__pyx_v_item = NULL;
  std::vector<__pyx_t_9networkit_10_NetworKit_count>  __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_5;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_count", 0);

  /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_count(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
    __pyx_t_1 = __pyx_v_o; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 47, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 47, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(1, 47, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "vector.from_py":48
 *     cdef vector[X] v
 *     for item in o:
 *         v.push_back(<X>item)             # <<<<<<<<<<<<<<
 *     return v
 * 
 */
    __pyx_t_5 = __Pyx_PyInt_As_uint64_t(__pyx_v_item); if (unlikely((__pyx_t_5 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 48, __pyx_L1_error)
    __pyx_v_v.push_back(((__pyx_t_9networkit_10_NetworKit_count)__pyx_t_5));

    /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_count(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "vector.from_py":49
 *     for item in o:
 *         v.push_back(<X>item)
 *     return v             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_v;
  goto __pyx_L0;

  /* "vector.from_py":45
 * 
 * @cname("__pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_count")
 * cdef vector[X] __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_count(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef vector[X] v
 *     for item in o:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("vector.from_py.__pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_count", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_pretend_to_initialize(&__pyx_r);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static std::vector<__pyx_t_9networkit_10_NetworKit_index>  __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_index(PyObject *__pyx_v_o) {
  std::vector<__pyx_t_9networkit_10_NetworKit_index>  __pyx_v_v;
  PyObject *__pyx_v_item = NULL;
  std::vector<__pyx_t_9networkit_10_NetworKit_index>  __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_9networkit_10_NetworKit_index __pyx_t_5;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_index", 0);

  /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_index(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
    __pyx_t_1 = __pyx_v_o; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 47, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 47, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(1, 47, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "vector.from_py":48
 *     cdef vector[X] v
 *     for item in o:
 *         v.push_back(<X>item)             # <<<<<<<<<<<<<<
 *     return v
 * 
 */
    __pyx_t_5 = __Pyx_PyInt_As_uint64_t(__pyx_v_item); if (unlikely((__pyx_t_5 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 48, __pyx_L1_error)
    __pyx_v_v.push_back(((__pyx_t_9networkit_10_NetworKit_index)__pyx_t_5));

    /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_index(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "vector.from_py":49
 *     for item in o:
 *         v.push_back(<X>item)
 *     return v             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_v;
  goto __pyx_L0;

  /* "vector.from_py":45
 * 
 * @cname("__pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_index")
 * cdef vector[X] __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_index(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef vector[X] v
 *     for item in o:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("vector.from_py.__pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_index", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_pretend_to_initialize(&__pyx_r);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "string.from_py":13
 * 
 * @cname("__pyx_convert_string_from_py_std__in_string")
 * cdef string __pyx_convert_string_from_py_std__in_string(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef Py_ssize_t length
 *     cdef const char* data = __Pyx_PyObject_AsStringAndSize(o, &length)
 */

static std::string __pyx_convert_string_from_py_std__in_string(PyObject *__pyx_v_o) {
  Py_ssize_t __pyx_v_length;
  char const *__pyx_v_data;
  std::string __pyx_r;
  __Pyx_RefNannyDeclarations
  char const *__pyx_t_1;
  __Pyx_RefNannySetupContext("__pyx_convert_string_from_py_std__in_string", 0);

  /* "string.from_py":15
 * cdef string __pyx_convert_string_from_py_std__in_string(object o) except *:
 *     cdef Py_ssize_t length
 *     cdef const char* data = __Pyx_PyObject_AsStringAndSize(o, &length)             # <<<<<<<<<<<<<<
 *     return string(data, length)
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_AsStringAndSize(__pyx_v_o, (&__pyx_v_length)); if (unlikely(__pyx_t_1 == ((char const *)NULL))) __PYX_ERR(1, 15, __pyx_L1_error)
  __pyx_v_data = __pyx_t_1;

  /* "string.from_py":16
 *     cdef Py_ssize_t length
 *     cdef const char* data = __Pyx_PyObject_AsStringAndSize(o, &length)
 *     return string(data, length)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = std::string(__pyx_v_data, __pyx_v_length);
  goto __pyx_L0;

  /* "string.from_py":13
 * 
 * @cname("__pyx_convert_string_from_py_std__in_string")
 * cdef string __pyx_convert_string_from_py_std__in_string(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef Py_ssize_t length
 *     cdef const char* data = __Pyx_PyObject_AsStringAndSize(o, &length)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("string.from_py.__pyx_convert_string_from_py_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_pretend_to_initialize(&__pyx_r);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "vector.from_py":45
 * 
 * @cname("__pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_node")
 * cdef vector[X] __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_node(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef vector[X] v
 *     for item in o:
 */

static std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_node(PyObject *__pyx_v_o) {
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_v;
  PyObject *__pyx_v_item = NULL;
  std::vector<__pyx_t_9networkit_10_NetworKit_node>  __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_5;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_node", 0);

  /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_node(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
    __pyx_t_1 = __pyx_v_o; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 47, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 47, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(1, 47, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "vector.from_py":48
 *     cdef vector[X] v
 *     for item in o:
 *         v.push_back(<X>item)             # <<<<<<<<<<<<<<
 *     return v
 * 
 */
    __pyx_t_5 = __Pyx_PyInt_As_uint64_t(__pyx_v_item); if (unlikely((__pyx_t_5 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 48, __pyx_L1_error)
    __pyx_v_v.push_back(((__pyx_t_9networkit_10_NetworKit_node)__pyx_t_5));

    /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_node(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "vector.from_py":49
 *     for item in o:
 *         v.push_back(<X>item)
 *     return v             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_v;
  goto __pyx_L0;

  /* "vector.from_py":45
 * 
 * @cname("__pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_node")
 * cdef vector[X] __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_node(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef vector[X] v
 *     for item in o:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("vector.from_py.__pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_node", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_pretend_to_initialize(&__pyx_r);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "set.from_py":108
 * 
 * @cname("__pyx_convert_set_from_py___pyx_t_9networkit_10_NetworKit_node")
 * cdef set[X] __pyx_convert_set_from_py___pyx_t_9networkit_10_NetworKit_node(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef set[X] s
 *     for item in o:
 */

static std::set<__pyx_t_9networkit_10_NetworKit_node>  __pyx_convert_set_from_py___pyx_t_9networkit_10_NetworKit_node(PyObject *__pyx_v_o) {
  std::set<__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_s;
  PyObject *__pyx_v_item = NULL;
  std::set<__pyx_t_9networkit_10_NetworKit_node>  __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_5;
  __Pyx_RefNannySetupContext("__pyx_convert_set_from_py___pyx_t_9networkit_10_NetworKit_node", 0);

  /* "set.from_py":110
 * cdef set[X] __pyx_convert_set_from_py___pyx_t_9networkit_10_NetworKit_node(object o) except *:
 *     cdef set[X] s
 *     for item in o:             # <<<<<<<<<<<<<<
 *         s.insert(<X>item)
 *     return s
 */
  if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
    __pyx_t_1 = __pyx_v_o; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 110, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 110, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 110, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 110, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 110, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(1, 110, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "set.from_py":111
 *     cdef set[X] s
 *     for item in o:
 *         s.insert(<X>item)             # <<<<<<<<<<<<<<
 *     return s
 * 
 */
    __pyx_t_5 = __Pyx_PyInt_As_uint64_t(__pyx_v_item); if (unlikely((__pyx_t_5 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 111, __pyx_L1_error)
    __pyx_v_s.insert(((__pyx_t_9networkit_10_NetworKit_node)__pyx_t_5));

    /* "set.from_py":110
 * cdef set[X] __pyx_convert_set_from_py___pyx_t_9networkit_10_NetworKit_node(object o) except *:
 *     cdef set[X] s
 *     for item in o:             # <<<<<<<<<<<<<<
 *         s.insert(<X>item)
 *     return s
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "set.from_py":112
 *     for item in o:
 *         s.insert(<X>item)
 *     return s             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_s;
  goto __pyx_L0;

  /* "set.from_py":108
 * 
 * @cname("__pyx_convert_set_from_py___pyx_t_9networkit_10_NetworKit_node")
 * cdef set[X] __pyx_convert_set_from_py___pyx_t_9networkit_10_NetworKit_node(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef set[X] s
 *     for item in o:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("set.from_py.__pyx_convert_set_from_py___pyx_t_9networkit_10_NetworKit_node", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_pretend_to_initialize(&__pyx_r);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "pair.from_py":145
 * 
 * @cname("__pyx_convert_pair_from_py___pyx_t_9networkit_10_NetworKit_node__and___pyx_t_9networkit_10_NetworKit_node")
 * cdef pair[X,Y] __pyx_convert_pair_from_py___pyx_t_9networkit_10_NetworKit_node__and___pyx_t_9networkit_10_NetworKit_node(object o) except *:             # <<<<<<<<<<<<<<
 *     x, y = o
 *     return pair[X,Y](<X>x, <Y>y)
 */

static std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node>  __pyx_convert_pair_from_py___pyx_t_9networkit_10_NetworKit_node__and___pyx_t_9networkit_10_NetworKit_node(PyObject *__pyx_v_o) {
  PyObject *__pyx_v_x = NULL;
  PyObject *__pyx_v_y = NULL;
  std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node>  __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *(*__pyx_t_4)(PyObject *);
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_5;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_6;
  __Pyx_RefNannySetupContext("__pyx_convert_pair_from_py___pyx_t_9networkit_10_NetworKit_node__and___pyx_t_9networkit_10_NetworKit_node", 0);

  /* "pair.from_py":146
 * @cname("__pyx_convert_pair_from_py___pyx_t_9networkit_10_NetworKit_node__and___pyx_t_9networkit_10_NetworKit_node")
 * cdef pair[X,Y] __pyx_convert_pair_from_py___pyx_t_9networkit_10_NetworKit_node__and___pyx_t_9networkit_10_NetworKit_node(object o) except *:
 *     x, y = o             # <<<<<<<<<<<<<<
 *     return pair[X,Y](<X>x, <Y>y)
 * 
 */
  if ((likely(PyTuple_CheckExact(__pyx_v_o))) || (PyList_CheckExact(__pyx_v_o))) {
    PyObject* sequence = __pyx_v_o;
    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(1, 146, __pyx_L1_error)
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    if (likely(PyTuple_CheckExact(sequence))) {
      __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); 
      __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1); 
    } else {
      __pyx_t_1 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_2 = PyList_GET_ITEM(sequence, 1); 
    }
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_2);
    #else
    __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    #endif
  } else {
    Py_ssize_t index = -1;
    __pyx_t_3 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = Py_TYPE(__pyx_t_3)->tp_iternext;
    index = 0; __pyx_t_1 = __pyx_t_4(__pyx_t_3); if (unlikely(!__pyx_t_1)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_1);
    index = 1; __pyx_t_2 = __pyx_t_4(__pyx_t_3); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_4(__pyx_t_3), 2) < 0) __PYX_ERR(1, 146, __pyx_L1_error)
    __pyx_t_4 = NULL;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L4_unpacking_done;
    __pyx_L3_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(1, 146, __pyx_L1_error)
    __pyx_L4_unpacking_done:;
  }
  __pyx_v_x = __pyx_t_1;
  __pyx_t_1 = 0;
  __pyx_v_y = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "pair.from_py":147
 * cdef pair[X,Y] __pyx_convert_pair_from_py___pyx_t_9networkit_10_NetworKit_node__and___pyx_t_9networkit_10_NetworKit_node(object o) except *:
 *     x, y = o
 *     return pair[X,Y](<X>x, <Y>y)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_5 = __Pyx_PyInt_As_uint64_t(__pyx_v_x); if (unlikely((__pyx_t_5 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 147, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyInt_As_uint64_t(__pyx_v_y); if (unlikely((__pyx_t_6 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 147, __pyx_L1_error)
  __pyx_r = std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> (((__pyx_t_9networkit_10_NetworKit_node)__pyx_t_5), ((__pyx_t_9networkit_10_NetworKit_node)__pyx_t_6));
  goto __pyx_L0;

  /* "pair.from_py":145
 * 
 * @cname("__pyx_convert_pair_from_py___pyx_t_9networkit_10_NetworKit_node__and___pyx_t_9networkit_10_NetworKit_node")
 * cdef pair[X,Y] __pyx_convert_pair_from_py___pyx_t_9networkit_10_NetworKit_node__and___pyx_t_9networkit_10_NetworKit_node(object o) except *:             # <<<<<<<<<<<<<<
 *     x, y = o
 *     return pair[X,Y](<X>x, <Y>y)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pair.from_py.__pyx_convert_pair_from_py___pyx_t_9networkit_10_NetworKit_node__and___pyx_t_9networkit_10_NetworKit_node", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_pretend_to_initialize(&__pyx_r);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_x);
  __Pyx_XDECREF(__pyx_v_y);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "vector.from_py":45
 * 
 * @cname("__pyx_convert_vector_from_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___")
 * cdef vector[X] __pyx_convert_vector_from_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef vector[X] v
 *     for item in o:
 */

static std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> >  __pyx_convert_vector_from_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___(PyObject *__pyx_v_o) {
  std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> >  __pyx_v_v;
  PyObject *__pyx_v_item = NULL;
  std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> >  __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_5;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_from_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___", 0);

  /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
    __pyx_t_1 = __pyx_v_o; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 47, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 47, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(1, 47, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "vector.from_py":48
 *     cdef vector[X] v
 *     for item in o:
 *         v.push_back(<X>item)             # <<<<<<<<<<<<<<
 *     return v
 * 
 */
    __pyx_t_5 = __pyx_convert_pair_from_py___pyx_t_9networkit_10_NetworKit_node__and___pyx_t_9networkit_10_NetworKit_node(__pyx_v_item); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 48, __pyx_L1_error)
    __pyx_v_v.push_back(((std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> )__pyx_t_5));

    /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "vector.from_py":49
 *     for item in o:
 *         v.push_back(<X>item)
 *     return v             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_v;
  goto __pyx_L0;

  /* "vector.from_py":45
 * 
 * @cname("__pyx_convert_vector_from_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___")
 * cdef vector[X] __pyx_convert_vector_from_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef vector[X] v
 *     for item in o:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("vector.from_py.__pyx_convert_vector_from_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_pretend_to_initialize(&__pyx_r);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "pair.from_py":145
 * 
 * @cname("__pyx_convert_pair_from_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e_____and_double")
 * cdef pair[X,Y] __pyx_convert_pair_from_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e_____and_double(object o) except *:             # <<<<<<<<<<<<<<
 *     x, y = o
 *     return pair[X,Y](<X>x, <Y>y)
 */

static std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double>  __pyx_convert_pair_from_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e_____and_double(PyObject *__pyx_v_o) {
  PyObject *__pyx_v_x = NULL;
  PyObject *__pyx_v_y = NULL;
  std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double>  __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *(*__pyx_t_4)(PyObject *);
  std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node>  __pyx_t_5;
  double __pyx_t_6;
  __Pyx_RefNannySetupContext("__pyx_convert_pair_from_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e_____and_double", 0);

  /* "pair.from_py":146
 * @cname("__pyx_convert_pair_from_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e_____and_double")
 * cdef pair[X,Y] __pyx_convert_pair_from_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e_____and_double(object o) except *:
 *     x, y = o             # <<<<<<<<<<<<<<
 *     return pair[X,Y](<X>x, <Y>y)
 * 
 */
  if ((likely(PyTuple_CheckExact(__pyx_v_o))) || (PyList_CheckExact(__pyx_v_o))) {
    PyObject* sequence = __pyx_v_o;
    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(1, 146, __pyx_L1_error)
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    if (likely(PyTuple_CheckExact(sequence))) {
      __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); 
      __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1); 
    } else {
      __pyx_t_1 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_2 = PyList_GET_ITEM(sequence, 1); 
    }
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_2);
    #else
    __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    #endif
  } else {
    Py_ssize_t index = -1;
    __pyx_t_3 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = Py_TYPE(__pyx_t_3)->tp_iternext;
    index = 0; __pyx_t_1 = __pyx_t_4(__pyx_t_3); if (unlikely(!__pyx_t_1)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_1);
    index = 1; __pyx_t_2 = __pyx_t_4(__pyx_t_3); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_4(__pyx_t_3), 2) < 0) __PYX_ERR(1, 146, __pyx_L1_error)
    __pyx_t_4 = NULL;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L4_unpacking_done;
    __pyx_L3_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(1, 146, __pyx_L1_error)
    __pyx_L4_unpacking_done:;
  }
  __pyx_v_x = __pyx_t_1;
  __pyx_t_1 = 0;
  __pyx_v_y = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "pair.from_py":147
 * cdef pair[X,Y] __pyx_convert_pair_from_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e_____and_double(object o) except *:
 *     x, y = o
 *     return pair[X,Y](<X>x, <Y>y)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_5 = __pyx_convert_pair_from_py___pyx_t_9networkit_10_NetworKit_node__and___pyx_t_9networkit_10_NetworKit_node(__pyx_v_x); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 147, __pyx_L1_error)
  __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_v_y); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 147, __pyx_L1_error)
  __pyx_r = std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> (((std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> )__pyx_t_5), ((double)__pyx_t_6));
  goto __pyx_L0;

  /* "pair.from_py":145
 * 
 * @cname("__pyx_convert_pair_from_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e_____and_double")
 * cdef pair[X,Y] __pyx_convert_pair_from_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e_____and_double(object o) except *:             # <<<<<<<<<<<<<<
 *     x, y = o
 *     return pair[X,Y](<X>x, <Y>y)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pair.from_py.__pyx_convert_pair_from_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e_____and_double", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_pretend_to_initialize(&__pyx_r);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_x);
  __Pyx_XDECREF(__pyx_v_y);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "vector.from_py":45
 * 
 * @cname("__pyx_convert_vector_from_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___")
 * cdef vector[X] __pyx_convert_vector_from_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef vector[X] v
 *     for item in o:
 */

static std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_convert_vector_from_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___(PyObject *__pyx_v_o) {
  std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_v_v;
  PyObject *__pyx_v_item = NULL;
  std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double>  __pyx_t_5;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_from_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___", 0);

  /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
    __pyx_t_1 = __pyx_v_o; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 47, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 47, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(1, 47, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "vector.from_py":48
 *     cdef vector[X] v
 *     for item in o:
 *         v.push_back(<X>item)             # <<<<<<<<<<<<<<
 *     return v
 * 
 */
    __pyx_t_5 = __pyx_convert_pair_from_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e_____and_double(__pyx_v_item); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 48, __pyx_L1_error)
    __pyx_v_v.push_back(((std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> )__pyx_t_5));

    /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "vector.from_py":49
 *     for item in o:
 *         v.push_back(<X>item)
 *     return v             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_v;
  goto __pyx_L0;

  /* "vector.from_py":45
 * 
 * @cname("__pyx_convert_vector_from_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___")
 * cdef vector[X] __pyx_convert_vector_from_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef vector[X] v
 *     for item in o:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("vector.from_py.__pyx_convert_vector_from_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_pretend_to_initialize(&__pyx_r);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "pair.from_py":145
 * 
 * @cname("__pyx_convert_pair_from_py_std_3a__3a_vector_3c_double_3e_____and_std_3a__3a_vector_3c_double_3e___")
 * cdef pair[X,Y] __pyx_convert_pair_from_py_std_3a__3a_vector_3c_double_3e_____and_std_3a__3a_vector_3c_double_3e___(object o) except *:             # <<<<<<<<<<<<<<
 *     x, y = o
 *     return pair[X,Y](<X>x, <Y>y)
 */

static std::pair<std::vector<double> ,std::vector<double> >  __pyx_convert_pair_from_py_std_3a__3a_vector_3c_double_3e_____and_std_3a__3a_vector_3c_double_3e___(PyObject *__pyx_v_o) {
  PyObject *__pyx_v_x = NULL;
  PyObject *__pyx_v_y = NULL;
  std::pair<std::vector<double> ,std::vector<double> >  __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *(*__pyx_t_4)(PyObject *);
  std::vector<double>  __pyx_t_5;
  std::vector<double>  __pyx_t_6;
  __Pyx_RefNannySetupContext("__pyx_convert_pair_from_py_std_3a__3a_vector_3c_double_3e_____and_std_3a__3a_vector_3c_double_3e___", 0);

  /* "pair.from_py":146
 * @cname("__pyx_convert_pair_from_py_std_3a__3a_vector_3c_double_3e_____and_std_3a__3a_vector_3c_double_3e___")
 * cdef pair[X,Y] __pyx_convert_pair_from_py_std_3a__3a_vector_3c_double_3e_____and_std_3a__3a_vector_3c_double_3e___(object o) except *:
 *     x, y = o             # <<<<<<<<<<<<<<
 *     return pair[X,Y](<X>x, <Y>y)
 * 
 */
  if ((likely(PyTuple_CheckExact(__pyx_v_o))) || (PyList_CheckExact(__pyx_v_o))) {
    PyObject* sequence = __pyx_v_o;
    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(1, 146, __pyx_L1_error)
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    if (likely(PyTuple_CheckExact(sequence))) {
      __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); 
      __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1); 
    } else {
      __pyx_t_1 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_2 = PyList_GET_ITEM(sequence, 1); 
    }
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_2);
    #else
    __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    #endif
  } else {
    Py_ssize_t index = -1;
    __pyx_t_3 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = Py_TYPE(__pyx_t_3)->tp_iternext;
    index = 0; __pyx_t_1 = __pyx_t_4(__pyx_t_3); if (unlikely(!__pyx_t_1)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_1);
    index = 1; __pyx_t_2 = __pyx_t_4(__pyx_t_3); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_4(__pyx_t_3), 2) < 0) __PYX_ERR(1, 146, __pyx_L1_error)
    __pyx_t_4 = NULL;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L4_unpacking_done;
    __pyx_L3_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(1, 146, __pyx_L1_error)
    __pyx_L4_unpacking_done:;
  }
  __pyx_v_x = __pyx_t_1;
  __pyx_t_1 = 0;
  __pyx_v_y = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "pair.from_py":147
 * cdef pair[X,Y] __pyx_convert_pair_from_py_std_3a__3a_vector_3c_double_3e_____and_std_3a__3a_vector_3c_double_3e___(object o) except *:
 *     x, y = o
 *     return pair[X,Y](<X>x, <Y>y)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_5 = __pyx_convert_vector_from_py_double(__pyx_v_x); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 147, __pyx_L1_error)
  __pyx_t_6 = __pyx_convert_vector_from_py_double(__pyx_v_y); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 147, __pyx_L1_error)
  __pyx_r = std::pair<std::vector<double> ,std::vector<double> > (((std::vector<double> )__pyx_t_5), ((std::vector<double> )__pyx_t_6));
  goto __pyx_L0;

  /* "pair.from_py":145
 * 
 * @cname("__pyx_convert_pair_from_py_std_3a__3a_vector_3c_double_3e_____and_std_3a__3a_vector_3c_double_3e___")
 * cdef pair[X,Y] __pyx_convert_pair_from_py_std_3a__3a_vector_3c_double_3e_____and_std_3a__3a_vector_3c_double_3e___(object o) except *:             # <<<<<<<<<<<<<<
 *     x, y = o
 *     return pair[X,Y](<X>x, <Y>y)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pair.from_py.__pyx_convert_pair_from_py_std_3a__3a_vector_3c_double_3e_____and_std_3a__3a_vector_3c_double_3e___", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_pretend_to_initialize(&__pyx_r);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_x);
  __Pyx_XDECREF(__pyx_v_y);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "vector.from_py":45
 * 
 * @cname("__pyx_convert_vector_from_py_bool")
 * cdef vector[X] __pyx_convert_vector_from_py_bool(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef vector[X] v
 *     for item in o:
 */

static std::vector<bool>  __pyx_convert_vector_from_py_bool(PyObject *__pyx_v_o) {
  std::vector<bool>  __pyx_v_v;
  PyObject *__pyx_v_item = NULL;
  std::vector<bool>  __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  bool __pyx_t_5;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_from_py_bool", 0);

  /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py_bool(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
    __pyx_t_1 = __pyx_v_o; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 47, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 47, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(1, 47, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "vector.from_py":48
 *     cdef vector[X] v
 *     for item in o:
 *         v.push_back(<X>item)             # <<<<<<<<<<<<<<
 *     return v
 * 
 */
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_item); if (unlikely((__pyx_t_5 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(1, 48, __pyx_L1_error)
    __pyx_v_v.push_back(((bool)__pyx_t_5));

    /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py_bool(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "vector.from_py":49
 *     for item in o:
 *         v.push_back(<X>item)
 *     return v             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_v;
  goto __pyx_L0;

  /* "vector.from_py":45
 * 
 * @cname("__pyx_convert_vector_from_py_bool")
 * cdef vector[X] __pyx_convert_vector_from_py_bool(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef vector[X] v
 *     for item in o:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("vector.from_py.__pyx_convert_vector_from_py_bool", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_pretend_to_initialize(&__pyx_r);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "pair.from_py":145
 * 
 * @cname("__pyx_convert_pair_from_py_double__and_double")
 * cdef pair[X,Y] __pyx_convert_pair_from_py_double__and_double(object o) except *:             # <<<<<<<<<<<<<<
 *     x, y = o
 *     return pair[X,Y](<X>x, <Y>y)
 */

static std::pair<double,double>  __pyx_convert_pair_from_py_double__and_double(PyObject *__pyx_v_o) {
  PyObject *__pyx_v_x = NULL;
  PyObject *__pyx_v_y = NULL;
  std::pair<double,double>  __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *(*__pyx_t_4)(PyObject *);
  double __pyx_t_5;
  double __pyx_t_6;
  __Pyx_RefNannySetupContext("__pyx_convert_pair_from_py_double__and_double", 0);

  /* "pair.from_py":146
 * @cname("__pyx_convert_pair_from_py_double__and_double")
 * cdef pair[X,Y] __pyx_convert_pair_from_py_double__and_double(object o) except *:
 *     x, y = o             # <<<<<<<<<<<<<<
 *     return pair[X,Y](<X>x, <Y>y)
 * 
 */
  if ((likely(PyTuple_CheckExact(__pyx_v_o))) || (PyList_CheckExact(__pyx_v_o))) {
    PyObject* sequence = __pyx_v_o;
    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(1, 146, __pyx_L1_error)
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    if (likely(PyTuple_CheckExact(sequence))) {
      __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); 
      __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1); 
    } else {
      __pyx_t_1 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_2 = PyList_GET_ITEM(sequence, 1); 
    }
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_2);
    #else
    __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    #endif
  } else {
    Py_ssize_t index = -1;
    __pyx_t_3 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = Py_TYPE(__pyx_t_3)->tp_iternext;
    index = 0; __pyx_t_1 = __pyx_t_4(__pyx_t_3); if (unlikely(!__pyx_t_1)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_1);
    index = 1; __pyx_t_2 = __pyx_t_4(__pyx_t_3); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_4(__pyx_t_3), 2) < 0) __PYX_ERR(1, 146, __pyx_L1_error)
    __pyx_t_4 = NULL;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L4_unpacking_done;
    __pyx_L3_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(1, 146, __pyx_L1_error)
    __pyx_L4_unpacking_done:;
  }
  __pyx_v_x = __pyx_t_1;
  __pyx_t_1 = 0;
  __pyx_v_y = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "pair.from_py":147
 * cdef pair[X,Y] __pyx_convert_pair_from_py_double__and_double(object o) except *:
 *     x, y = o
 *     return pair[X,Y](<X>x, <Y>y)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_v_x); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 147, __pyx_L1_error)
  __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_v_y); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 147, __pyx_L1_error)
  __pyx_r = std::pair<double,double> (((double)__pyx_t_5), ((double)__pyx_t_6));
  goto __pyx_L0;

  /* "pair.from_py":145
 * 
 * @cname("__pyx_convert_pair_from_py_double__and_double")
 * cdef pair[X,Y] __pyx_convert_pair_from_py_double__and_double(object o) except *:             # <<<<<<<<<<<<<<
 *     x, y = o
 *     return pair[X,Y](<X>x, <Y>y)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pair.from_py.__pyx_convert_pair_from_py_double__and_double", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_pretend_to_initialize(&__pyx_r);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_x);
  __Pyx_XDECREF(__pyx_v_y);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "vector.from_py":45
 * 
 * @cname("__pyx_convert_vector_from_py_std_3a__3a_pair_3c_double_2c_double_3e___")
 * cdef vector[X] __pyx_convert_vector_from_py_std_3a__3a_pair_3c_double_2c_double_3e___(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef vector[X] v
 *     for item in o:
 */

static std::vector<std::pair<double,double> >  __pyx_convert_vector_from_py_std_3a__3a_pair_3c_double_2c_double_3e___(PyObject *__pyx_v_o) {
  std::vector<std::pair<double,double> >  __pyx_v_v;
  PyObject *__pyx_v_item = NULL;
  std::vector<std::pair<double,double> >  __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  std::pair<double,double>  __pyx_t_5;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_from_py_std_3a__3a_pair_3c_double_2c_double_3e___", 0);

  /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py_std_3a__3a_pair_3c_double_2c_double_3e___(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
    __pyx_t_1 = __pyx_v_o; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 47, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 47, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(1, 47, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "vector.from_py":48
 *     cdef vector[X] v
 *     for item in o:
 *         v.push_back(<X>item)             # <<<<<<<<<<<<<<
 *     return v
 * 
 */
    __pyx_t_5 = __pyx_convert_pair_from_py_double__and_double(__pyx_v_item); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 48, __pyx_L1_error)
    __pyx_v_v.push_back(((std::pair<double,double> )__pyx_t_5));

    /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py_std_3a__3a_pair_3c_double_2c_double_3e___(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "vector.from_py":49
 *     for item in o:
 *         v.push_back(<X>item)
 *     return v             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_v;
  goto __pyx_L0;

  /* "vector.from_py":45
 * 
 * @cname("__pyx_convert_vector_from_py_std_3a__3a_pair_3c_double_2c_double_3e___")
 * cdef vector[X] __pyx_convert_vector_from_py_std_3a__3a_pair_3c_double_2c_double_3e___(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef vector[X] v
 *     for item in o:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("vector.from_py.__pyx_convert_vector_from_py_std_3a__3a_pair_3c_double_2c_double_3e___", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_pretend_to_initialize(&__pyx_r);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "string.to_py":31
 * 
 * @cname("__pyx_convert_PyObject_string_to_py_std__in_string")
 * cdef inline object __pyx_convert_PyObject_string_to_py_std__in_string(const string& s):             # <<<<<<<<<<<<<<
 *     return __Pyx_PyObject_FromStringAndSize(s.data(), s.size())
 * cdef extern from *:
 */

static CYTHON_INLINE PyObject *__pyx_convert_PyObject_string_to_py_std__in_string(std::string const &__pyx_v_s) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_PyObject_string_to_py_std__in_string", 0);

  /* "string.to_py":32
 * @cname("__pyx_convert_PyObject_string_to_py_std__in_string")
 * cdef inline object __pyx_convert_PyObject_string_to_py_std__in_string(const string& s):
 *     return __Pyx_PyObject_FromStringAndSize(s.data(), s.size())             # <<<<<<<<<<<<<<
 * cdef extern from *:
 *     cdef object __Pyx_PyUnicode_FromStringAndSize(const char*, size_t)
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_FromStringAndSize(__pyx_v_s.data(), __pyx_v_s.size()); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "string.to_py":31
 * 
 * @cname("__pyx_convert_PyObject_string_to_py_std__in_string")
 * cdef inline object __pyx_convert_PyObject_string_to_py_std__in_string(const string& s):             # <<<<<<<<<<<<<<
 *     return __Pyx_PyObject_FromStringAndSize(s.data(), s.size())
 * cdef extern from *:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("string.to_py.__pyx_convert_PyObject_string_to_py_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "string.to_py":37
 * 
 * @cname("__pyx_convert_PyUnicode_string_to_py_std__in_string")
 * cdef inline object __pyx_convert_PyUnicode_string_to_py_std__in_string(const string& s):             # <<<<<<<<<<<<<<
 *     return __Pyx_PyUnicode_FromStringAndSize(s.data(), s.size())
 * cdef extern from *:
 */

static CYTHON_INLINE PyObject *__pyx_convert_PyUnicode_string_to_py_std__in_string(std::string const &__pyx_v_s) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_PyUnicode_string_to_py_std__in_string", 0);

  /* "string.to_py":38
 * @cname("__pyx_convert_PyUnicode_string_to_py_std__in_string")
 * cdef inline object __pyx_convert_PyUnicode_string_to_py_std__in_string(const string& s):
 *     return __Pyx_PyUnicode_FromStringAndSize(s.data(), s.size())             # <<<<<<<<<<<<<<
 * cdef extern from *:
 *     cdef object __Pyx_PyStr_FromStringAndSize(const char*, size_t)
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyUnicode_FromStringAndSize(__pyx_v_s.data(), __pyx_v_s.size()); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "string.to_py":37
 * 
 * @cname("__pyx_convert_PyUnicode_string_to_py_std__in_string")
 * cdef inline object __pyx_convert_PyUnicode_string_to_py_std__in_string(const string& s):             # <<<<<<<<<<<<<<
 *     return __Pyx_PyUnicode_FromStringAndSize(s.data(), s.size())
 * cdef extern from *:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("string.to_py.__pyx_convert_PyUnicode_string_to_py_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "string.to_py":43
 * 
 * @cname("__pyx_convert_PyStr_string_to_py_std__in_string")
 * cdef inline object __pyx_convert_PyStr_string_to_py_std__in_string(const string& s):             # <<<<<<<<<<<<<<
 *     return __Pyx_PyStr_FromStringAndSize(s.data(), s.size())
 * cdef extern from *:
 */

static CYTHON_INLINE PyObject *__pyx_convert_PyStr_string_to_py_std__in_string(std::string const &__pyx_v_s) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_PyStr_string_to_py_std__in_string", 0);

  /* "string.to_py":44
 * @cname("__pyx_convert_PyStr_string_to_py_std__in_string")
 * cdef inline object __pyx_convert_PyStr_string_to_py_std__in_string(const string& s):
 *     return __Pyx_PyStr_FromStringAndSize(s.data(), s.size())             # <<<<<<<<<<<<<<
 * cdef extern from *:
 *     cdef object __Pyx_PyBytes_FromStringAndSize(const char*, size_t)
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyStr_FromStringAndSize(__pyx_v_s.data(), __pyx_v_s.size()); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "string.to_py":43
 * 
 * @cname("__pyx_convert_PyStr_string_to_py_std__in_string")
 * cdef inline object __pyx_convert_PyStr_string_to_py_std__in_string(const string& s):             # <<<<<<<<<<<<<<
 *     return __Pyx_PyStr_FromStringAndSize(s.data(), s.size())
 * cdef extern from *:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("string.to_py.__pyx_convert_PyStr_string_to_py_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "string.to_py":49
 * 
 * @cname("__pyx_convert_PyBytes_string_to_py_std__in_string")
 * cdef inline object __pyx_convert_PyBytes_string_to_py_std__in_string(const string& s):             # <<<<<<<<<<<<<<
 *     return __Pyx_PyBytes_FromStringAndSize(s.data(), s.size())
 * cdef extern from *:
 */

static CYTHON_INLINE PyObject *__pyx_convert_PyBytes_string_to_py_std__in_string(std::string const &__pyx_v_s) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_PyBytes_string_to_py_std__in_string", 0);

  /* "string.to_py":50
 * @cname("__pyx_convert_PyBytes_string_to_py_std__in_string")
 * cdef inline object __pyx_convert_PyBytes_string_to_py_std__in_string(const string& s):
 *     return __Pyx_PyBytes_FromStringAndSize(s.data(), s.size())             # <<<<<<<<<<<<<<
 * cdef extern from *:
 *     cdef object __Pyx_PyByteArray_FromStringAndSize(const char*, size_t)
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(__pyx_v_s.data(), __pyx_v_s.size()); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 50, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "string.to_py":49
 * 
 * @cname("__pyx_convert_PyBytes_string_to_py_std__in_string")
 * cdef inline object __pyx_convert_PyBytes_string_to_py_std__in_string(const string& s):             # <<<<<<<<<<<<<<
 *     return __Pyx_PyBytes_FromStringAndSize(s.data(), s.size())
 * cdef extern from *:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("string.to_py.__pyx_convert_PyBytes_string_to_py_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "string.to_py":55
 * 
 * @cname("__pyx_convert_PyByteArray_string_to_py_std__in_string")
 * cdef inline object __pyx_convert_PyByteArray_string_to_py_std__in_string(const string& s):             # <<<<<<<<<<<<<<
 *     return __Pyx_PyByteArray_FromStringAndSize(s.data(), s.size())
 * 
 */

static CYTHON_INLINE PyObject *__pyx_convert_PyByteArray_string_to_py_std__in_string(std::string const &__pyx_v_s) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_PyByteArray_string_to_py_std__in_string", 0);

  /* "string.to_py":56
 * @cname("__pyx_convert_PyByteArray_string_to_py_std__in_string")
 * cdef inline object __pyx_convert_PyByteArray_string_to_py_std__in_string(const string& s):
 *     return __Pyx_PyByteArray_FromStringAndSize(s.data(), s.size())             # <<<<<<<<<<<<<<
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyByteArray_FromStringAndSize(__pyx_v_s.data(), __pyx_v_s.size()); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 56, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "string.to_py":55
 * 
 * @cname("__pyx_convert_PyByteArray_string_to_py_std__in_string")
 * cdef inline object __pyx_convert_PyByteArray_string_to_py_std__in_string(const string& s):             # <<<<<<<<<<<<<<
 *     return __Pyx_PyByteArray_FromStringAndSize(s.data(), s.size())
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("string.to_py.__pyx_convert_PyByteArray_string_to_py_std__in_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "pair.to_py":158
 * 
 * @cname("__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_coordinate______pyx_t_9networkit_10_NetworKit_coordinate")
 * cdef object __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_coordinate______pyx_t_9networkit_10_NetworKit_coordinate(const pair[X,Y]& p):             # <<<<<<<<<<<<<<
 *     return p.first, p.second
 * 
 */

static PyObject *__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_coordinate______pyx_t_9networkit_10_NetworKit_coordinate(std::pair<__pyx_t_9networkit_10_NetworKit_coordinate,__pyx_t_9networkit_10_NetworKit_coordinate>  const &__pyx_v_p) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_coordinate______pyx_t_9networkit_10_NetworKit_coordinate", 0);

  /* "pair.to_py":159
 * @cname("__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_coordinate______pyx_t_9networkit_10_NetworKit_coordinate")
 * cdef object __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_coordinate______pyx_t_9networkit_10_NetworKit_coordinate(const pair[X,Y]& p):
 *     return p.first, p.second             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_p.first); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_p.second); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "pair.to_py":158
 * 
 * @cname("__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_coordinate______pyx_t_9networkit_10_NetworKit_coordinate")
 * cdef object __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_coordinate______pyx_t_9networkit_10_NetworKit_coordinate(const pair[X,Y]& p):             # <<<<<<<<<<<<<<
 *     return p.first, p.second
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pair.to_py.__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_coordinate______pyx_t_9networkit_10_NetworKit_coordinate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_count______pyx_t_9networkit_10_NetworKit_count(std::pair<__pyx_t_9networkit_10_NetworKit_count,__pyx_t_9networkit_10_NetworKit_count>  const &__pyx_v_p) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_count______pyx_t_9networkit_10_NetworKit_count", 0);

  /* "pair.to_py":159
 * @cname("__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_count______pyx_t_9networkit_10_NetworKit_count")
 * cdef object __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_count______pyx_t_9networkit_10_NetworKit_count(const pair[X,Y]& p):
 *     return p.first, p.second             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_p.first); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_v_p.second); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "pair.to_py":158
 * 
 * @cname("__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_count______pyx_t_9networkit_10_NetworKit_count")
 * cdef object __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_count______pyx_t_9networkit_10_NetworKit_count(const pair[X,Y]& p):             # <<<<<<<<<<<<<<
 *     return p.first, p.second
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pair.to_py.__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_count______pyx_t_9networkit_10_NetworKit_count", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "vector.to_py":60
 * 
 * @cname("__pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node")
 * cdef object __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(vector[X]& v):             # <<<<<<<<<<<<<<
 *     return [v[i] for i in range(v.size())]
 * 
 */

static PyObject *__pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(const std::vector<__pyx_t_9networkit_10_NetworKit_node>  &__pyx_v_v) {
  size_t __pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node", 0);

  /* "vector.to_py":61
 * @cname("__pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node")
 * cdef object __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(vector[X]& v):
 *     return [v[i] for i in range(v.size())]             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __pyx_v_v.size();
  __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;
    __pyx_t_5 = __Pyx_PyInt_From_uint64_t((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "vector.to_py":60
 * 
 * @cname("__pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node")
 * cdef object __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(vector[X]& v):             # <<<<<<<<<<<<<<
 *     return [v[i] for i in range(v.size())]
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("vector.to_py.__pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "pair.to_py":158
 * 
 * @cname("__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_node")
 * cdef object __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_node(const pair[X,Y]& p):             # <<<<<<<<<<<<<<
 *     return p.first, p.second
 * 
 */

static PyObject *__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_node(std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node>  const &__pyx_v_p) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_node", 0);

  /* "pair.to_py":159
 * @cname("__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_node")
 * cdef object __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_node(const pair[X,Y]& p):
 *     return p.first, p.second             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_p.first); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_v_p.second); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "pair.to_py":158
 * 
 * @cname("__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_node")
 * cdef object __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_node(const pair[X,Y]& p):             # <<<<<<<<<<<<<<
 *     return p.first, p.second
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pair.to_py.__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_node", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "vector.to_py":60
 * 
 * @cname("__pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___")
 * cdef object __pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___(vector[X]& v):             # <<<<<<<<<<<<<<
 *     return [v[i] for i in range(v.size())]
 * 
 */

static PyObject *__pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___(const std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> >  &__pyx_v_v) {
  size_t __pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___", 0);

  /* "vector.to_py":61
 * @cname("__pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___")
 * cdef object __pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___(vector[X]& v):
 *     return [v[i] for i in range(v.size())]             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __pyx_v_v.size();
  __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;
    __pyx_t_5 = __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_node((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "vector.to_py":60
 * 
 * @cname("__pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___")
 * cdef object __pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___(vector[X]& v):             # <<<<<<<<<<<<<<
 *     return [v[i] for i in range(v.size())]
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("vector.to_py.__pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e___", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_edgeweight(const std::vector<__pyx_t_9networkit_10_NetworKit_edgeweight>  &__pyx_v_v) {
  size_t __pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_edgeweight", 0);

  /* "vector.to_py":61
 * @cname("__pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_edgeweight")
 * cdef object __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_edgeweight(vector[X]& v):
 *     return [v[i] for i in range(v.size())]             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __pyx_v_v.size();
  __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;
    __pyx_t_5 = PyFloat_FromDouble((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "vector.to_py":60
 * 
 * @cname("__pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_edgeweight")
 * cdef object __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_edgeweight(vector[X]& v):             # <<<<<<<<<<<<<<
 *     return [v[i] for i in range(v.size())]
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("vector.to_py.__pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_edgeweight", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_node_3e___(const std::vector<std::vector<__pyx_t_9networkit_10_NetworKit_node> >  &__pyx_v_v) {
  size_t __pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_node_3e___", 0);

  /* "vector.to_py":61
 * @cname("__pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_node_3e___")
 * cdef object __pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_node_3e___(vector[X]& v):
 *     return [v[i] for i in range(v.size())]             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __pyx_v_v.size();
  __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;
    __pyx_t_5 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "vector.to_py":60
 * 
 * @cname("__pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_node_3e___")
 * cdef object __pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_node_3e___(vector[X]& v):             # <<<<<<<<<<<<<<
 *     return [v[i] for i in range(v.size())]
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("vector.to_py.__pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_node_3e___", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_edgeweight_3e___(const std::vector<std::vector<__pyx_t_9networkit_10_NetworKit_edgeweight> >  &__pyx_v_v) {
  size_t __pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_edgeweight_3e___", 0);

  /* "vector.to_py":61
 * @cname("__pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_edgeweight_3e___")
 * cdef object __pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_edgeweight_3e___(vector[X]& v):
 *     return [v[i] for i in range(v.size())]             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __pyx_v_v.size();
  __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;
    __pyx_t_5 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_edgeweight((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "vector.to_py":60
 * 
 * @cname("__pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_edgeweight_3e___")
 * cdef object __pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_edgeweight_3e___(vector[X]& v):             # <<<<<<<<<<<<<<
 *     return [v[i] for i in range(v.size())]
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("vector.to_py.__pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_edgeweight_3e___", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_convert_vector_to_py_bool(const std::vector<bool>  &__pyx_v_v) {
  size_t __pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_to_py_bool", 0);

  /* "vector.to_py":61
 * @cname("__pyx_convert_vector_to_py_bool")
 * cdef object __pyx_convert_vector_to_py_bool(vector[X]& v):
 *     return [v[i] for i in range(v.size())]             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __pyx_v_v.size();
  __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;
    __pyx_t_5 = __Pyx_PyBool_FromLong((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "vector.to_py":60
 * 
 * @cname("__pyx_convert_vector_to_py_bool")
 * cdef object __pyx_convert_vector_to_py_bool(vector[X]& v):             # <<<<<<<<<<<<<<
 *     return [v[i] for i in range(v.size())]
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("vector.to_py.__pyx_convert_vector_to_py_bool", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_convert_vector_to_py_double(const std::vector<double>  &__pyx_v_v) {
  size_t __pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_to_py_double", 0);

  /* "vector.to_py":61
 * @cname("__pyx_convert_vector_to_py_double")
 * cdef object __pyx_convert_vector_to_py_double(vector[X]& v):
 *     return [v[i] for i in range(v.size())]             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __pyx_v_v.size();
  __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;
    __pyx_t_5 = PyFloat_FromDouble((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "vector.to_py":60
 * 
 * @cname("__pyx_convert_vector_to_py_double")
 * cdef object __pyx_convert_vector_to_py_double(vector[X]& v):             # <<<<<<<<<<<<<<
 *     return [v[i] for i in range(v.size())]
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("vector.to_py.__pyx_convert_vector_to_py_double", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_count(const std::vector<__pyx_t_9networkit_10_NetworKit_count>  &__pyx_v_v) {
  size_t __pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_count", 0);

  /* "vector.to_py":61
 * @cname("__pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_count")
 * cdef object __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_count(vector[X]& v):
 *     return [v[i] for i in range(v.size())]             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __pyx_v_v.size();
  __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;
    __pyx_t_5 = __Pyx_PyInt_From_uint64_t((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "vector.to_py":60
 * 
 * @cname("__pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_count")
 * cdef object __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_count(vector[X]& v):             # <<<<<<<<<<<<<<
 *     return [v[i] for i in range(v.size())]
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("vector.to_py.__pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_count", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_convert_vector_to_py_std_3a__3a_string(const std::vector<std::string>  &__pyx_v_v) {
  size_t __pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_to_py_std_3a__3a_string", 0);

  /* "vector.to_py":61
 * @cname("__pyx_convert_vector_to_py_std_3a__3a_string")
 * cdef object __pyx_convert_vector_to_py_std_3a__3a_string(vector[X]& v):
 *     return [v[i] for i in range(v.size())]             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __pyx_v_v.size();
  __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;
    __pyx_t_5 = __pyx_convert_PyBytes_string_to_py_std__in_string((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "vector.to_py":60
 * 
 * @cname("__pyx_convert_vector_to_py_std_3a__3a_string")
 * cdef object __pyx_convert_vector_to_py_std_3a__3a_string(vector[X]& v):             # <<<<<<<<<<<<<<
 *     return [v[i] for i in range(v.size())]
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("vector.to_py.__pyx_convert_vector_to_py_std_3a__3a_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "map.to_py":201
 * 
 * @cname("__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_index______pyx_t_9networkit_10_NetworKit_count")
 * cdef object __pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_index______pyx_t_9networkit_10_NetworKit_count(const map[X,Y]& s):             # <<<<<<<<<<<<<<
 *     o = {}
 *     cdef const map[X,Y].value_type *key_value
 */

static PyObject *__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_index______pyx_t_9networkit_10_NetworKit_count(std::map<__pyx_t_9networkit_10_NetworKit_index,__pyx_t_9networkit_10_NetworKit_count>  const &__pyx_v_s) {
  PyObject *__pyx_v_o = NULL;
  std::map<__pyx_t_9networkit_10_NetworKit_index,__pyx_t_9networkit_10_NetworKit_count> ::value_type const *__pyx_v_key_value;
  std::map<__pyx_t_9networkit_10_NetworKit_index,__pyx_t_9networkit_10_NetworKit_count> ::const_iterator __pyx_v_iter;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_index______pyx_t_9networkit_10_NetworKit_count", 0);

  /* "map.to_py":202
 * @cname("__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_index______pyx_t_9networkit_10_NetworKit_count")
 * cdef object __pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_index______pyx_t_9networkit_10_NetworKit_count(const map[X,Y]& s):
 *     o = {}             # <<<<<<<<<<<<<<
 *     cdef const map[X,Y].value_type *key_value
 *     cdef map[X,Y].const_iterator iter = s.begin()
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 202, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_o = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "map.to_py":204
 *     o = {}
 *     cdef const map[X,Y].value_type *key_value
 *     cdef map[X,Y].const_iterator iter = s.begin()             # <<<<<<<<<<<<<<
 *     while iter != s.end():
 *         key_value = &cython.operator.dereference(iter)
 */
  __pyx_v_iter = __pyx_v_s.begin();

  /* "map.to_py":205
 *     cdef const map[X,Y].value_type *key_value
 *     cdef map[X,Y].const_iterator iter = s.begin()
 *     while iter != s.end():             # <<<<<<<<<<<<<<
 *         key_value = &cython.operator.dereference(iter)
 *         o[key_value.first] = key_value.second
 */
  while (1) {
    __pyx_t_2 = ((__pyx_v_iter != __pyx_v_s.end()) != 0);
    if (!__pyx_t_2) break;

    /* "map.to_py":206
 *     cdef map[X,Y].const_iterator iter = s.begin()
 *     while iter != s.end():
 *         key_value = &cython.operator.dereference(iter)             # <<<<<<<<<<<<<<
 *         o[key_value.first] = key_value.second
 *         cython.operator.preincrement(iter)
 */
    __pyx_v_key_value = (&(*__pyx_v_iter));

    /* "map.to_py":207
 *     while iter != s.end():
 *         key_value = &cython.operator.dereference(iter)
 *         o[key_value.first] = key_value.second             # <<<<<<<<<<<<<<
 *         cython.operator.preincrement(iter)
 *     return o
 */
    __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_key_value->second); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 207, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyInt_From_uint64_t(__pyx_v_key_value->first); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 207, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (unlikely(PyDict_SetItem(__pyx_v_o, __pyx_t_3, __pyx_t_1) < 0)) __PYX_ERR(1, 207, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "map.to_py":208
 *         key_value = &cython.operator.dereference(iter)
 *         o[key_value.first] = key_value.second
 *         cython.operator.preincrement(iter)             # <<<<<<<<<<<<<<
 *     return o
 * 
 */
    (void)((++__pyx_v_iter));
  }

  /* "map.to_py":209
 *         o[key_value.first] = key_value.second
 *         cython.operator.preincrement(iter)
 *     return o             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_o);
  __pyx_r = __pyx_v_o;
  goto __pyx_L0;

  /* "map.to_py":201
 * 
 * @cname("__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_index______pyx_t_9networkit_10_NetworKit_count")
 * cdef object __pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_index______pyx_t_9networkit_10_NetworKit_count(const map[X,Y]& s):             # <<<<<<<<<<<<<<
 *     o = {}
 *     cdef const map[X,Y].value_type *key_value
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("map.to_py.__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_index______pyx_t_9networkit_10_NetworKit_count", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_o);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "set.to_py":129
 * 
 * @cname("__pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_index")
 * cdef object __pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_index(const cpp_set[X]& s):             # <<<<<<<<<<<<<<
 *     o = set()
 *     cdef cpp_set[X].const_iterator iter = s.begin()
 */

static PyObject *__pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_index(std::set<__pyx_t_9networkit_10_NetworKit_index>  const &__pyx_v_s) {
  PyObject *__pyx_v_o = NULL;
  std::set<__pyx_t_9networkit_10_NetworKit_index> ::const_iterator __pyx_v_iter;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  __Pyx_RefNannySetupContext("__pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_index", 0);

  /* "set.to_py":130
 * @cname("__pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_index")
 * cdef object __pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_index(const cpp_set[X]& s):
 *     o = set()             # <<<<<<<<<<<<<<
 *     cdef cpp_set[X].const_iterator iter = s.begin()
 *     while iter != s.end():
 */
  __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_o = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "set.to_py":131
 * cdef object __pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_index(const cpp_set[X]& s):
 *     o = set()
 *     cdef cpp_set[X].const_iterator iter = s.begin()             # <<<<<<<<<<<<<<
 *     while iter != s.end():
 *         o.add(cython.operator.dereference(iter))
 */
  __pyx_v_iter = __pyx_v_s.begin();

  /* "set.to_py":132
 *     o = set()
 *     cdef cpp_set[X].const_iterator iter = s.begin()
 *     while iter != s.end():             # <<<<<<<<<<<<<<
 *         o.add(cython.operator.dereference(iter))
 *         cython.operator.preincrement(iter)
 */
  while (1) {
    __pyx_t_2 = ((__pyx_v_iter != __pyx_v_s.end()) != 0);
    if (!__pyx_t_2) break;

    /* "set.to_py":133
 *     cdef cpp_set[X].const_iterator iter = s.begin()
 *     while iter != s.end():
 *         o.add(cython.operator.dereference(iter))             # <<<<<<<<<<<<<<
 *         cython.operator.preincrement(iter)
 *     return o
 */
    __pyx_t_1 = __Pyx_PyInt_From_uint64_t((*__pyx_v_iter)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 133, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = PySet_Add(__pyx_v_o, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 133, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "set.to_py":134
 *     while iter != s.end():
 *         o.add(cython.operator.dereference(iter))
 *         cython.operator.preincrement(iter)             # <<<<<<<<<<<<<<
 *     return o
 * 
 */
    (void)((++__pyx_v_iter));
  }

  /* "set.to_py":135
 *         o.add(cython.operator.dereference(iter))
 *         cython.operator.preincrement(iter)
 *     return o             # <<<<<<<<<<<<<<
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_o);
  __pyx_r = __pyx_v_o;
  goto __pyx_L0;

  /* "set.to_py":129
 * 
 * @cname("__pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_index")
 * cdef object __pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_index(const cpp_set[X]& s):             # <<<<<<<<<<<<<<
 *     o = set()
 *     cdef cpp_set[X].const_iterator iter = s.begin()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("set.to_py.__pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_index", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_o);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "vector.to_py":60
 * 
 * @cname("__pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_index")
 * cdef object __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_index(vector[X]& v):             # <<<<<<<<<<<<<<
 *     return [v[i] for i in range(v.size())]
 * 
 */

static PyObject *__pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_index(const std::vector<__pyx_t_9networkit_10_NetworKit_index>  &__pyx_v_v) {
  size_t __pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_index", 0);

  /* "vector.to_py":61
 * @cname("__pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_index")
 * cdef object __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_index(vector[X]& v):
 *     return [v[i] for i in range(v.size())]             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __pyx_v_v.size();
  __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;
    __pyx_t_5 = __Pyx_PyInt_From_uint64_t((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "vector.to_py":60
 * 
 * @cname("__pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_index")
 * cdef object __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_index(vector[X]& v):             # <<<<<<<<<<<<<<
 *     return [v[i] for i in range(v.size())]
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("vector.to_py.__pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_index", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "set.from_py":108
 * 
 * @cname("__pyx_convert_unordered_set_from_py___pyx_t_9networkit_10_NetworKit_node")
 * cdef set[X] __pyx_convert_unordered_set_from_py___pyx_t_9networkit_10_NetworKit_node(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef set[X] s
 *     for item in o:
 */

static std::unordered_set<__pyx_t_9networkit_10_NetworKit_node>  __pyx_convert_unordered_set_from_py___pyx_t_9networkit_10_NetworKit_node(PyObject *__pyx_v_o) {
  std::unordered_set<__pyx_t_9networkit_10_NetworKit_node>  __pyx_v_s;
  PyObject *__pyx_v_item = NULL;
  std::unordered_set<__pyx_t_9networkit_10_NetworKit_node>  __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_5;
  __Pyx_RefNannySetupContext("__pyx_convert_unordered_set_from_py___pyx_t_9networkit_10_NetworKit_node", 0);

  /* "set.from_py":110
 * cdef set[X] __pyx_convert_unordered_set_from_py___pyx_t_9networkit_10_NetworKit_node(object o) except *:
 *     cdef set[X] s
 *     for item in o:             # <<<<<<<<<<<<<<
 *         s.insert(<X>item)
 *     return s
 */
  if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
    __pyx_t_1 = __pyx_v_o; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 110, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 110, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 110, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 110, __pyx_L1_error)
        #else
        __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 110, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(1, 110, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "set.from_py":111
 *     cdef set[X] s
 *     for item in o:
 *         s.insert(<X>item)             # <<<<<<<<<<<<<<
 *     return s
 * 
 */
    __pyx_t_5 = __Pyx_PyInt_As_uint64_t(__pyx_v_item); if (unlikely((__pyx_t_5 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 111, __pyx_L1_error)
    __pyx_v_s.insert(((__pyx_t_9networkit_10_NetworKit_node)__pyx_t_5));

    /* "set.from_py":110
 * cdef set[X] __pyx_convert_unordered_set_from_py___pyx_t_9networkit_10_NetworKit_node(object o) except *:
 *     cdef set[X] s
 *     for item in o:             # <<<<<<<<<<<<<<
 *         s.insert(<X>item)
 *     return s
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "set.from_py":112
 *     for item in o:
 *         s.insert(<X>item)
 *     return s             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_s;
  goto __pyx_L0;

  /* "set.from_py":108
 * 
 * @cname("__pyx_convert_unordered_set_from_py___pyx_t_9networkit_10_NetworKit_node")
 * cdef set[X] __pyx_convert_unordered_set_from_py___pyx_t_9networkit_10_NetworKit_node(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef set[X] s
 *     for item in o:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("set.from_py.__pyx_convert_unordered_set_from_py___pyx_t_9networkit_10_NetworKit_node", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_pretend_to_initialize(&__pyx_r);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "map.to_py":201
 * 
 * @cname("__pyx_convert_map_to_py_std_3a__3a_string____std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_count_3e___")
 * cdef object __pyx_convert_map_to_py_std_3a__3a_string____std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_count_3e___(const map[X,Y]& s):             # <<<<<<<<<<<<<<
 *     o = {}
 *     cdef const map[X,Y].value_type *key_value
 */

static PyObject *__pyx_convert_map_to_py_std_3a__3a_string____std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_count_3e___(std::map<std::string,std::vector<__pyx_t_9networkit_10_NetworKit_count> >  const &__pyx_v_s) {
  PyObject *__pyx_v_o = NULL;
  std::map<std::string,std::vector<__pyx_t_9networkit_10_NetworKit_count> > ::value_type const *__pyx_v_key_value;
  std::map<std::string,std::vector<__pyx_t_9networkit_10_NetworKit_count> > ::const_iterator __pyx_v_iter;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_map_to_py_std_3a__3a_string____std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_count_3e___", 0);

  /* "map.to_py":202
 * @cname("__pyx_convert_map_to_py_std_3a__3a_string____std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_count_3e___")
 * cdef object __pyx_convert_map_to_py_std_3a__3a_string____std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_count_3e___(const map[X,Y]& s):
 *     o = {}             # <<<<<<<<<<<<<<
 *     cdef const map[X,Y].value_type *key_value
 *     cdef map[X,Y].const_iterator iter = s.begin()
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 202, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_o = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "map.to_py":204
 *     o = {}
 *     cdef const map[X,Y].value_type *key_value
 *     cdef map[X,Y].const_iterator iter = s.begin()             # <<<<<<<<<<<<<<
 *     while iter != s.end():
 *         key_value = &cython.operator.dereference(iter)
 */
  __pyx_v_iter = __pyx_v_s.begin();

  /* "map.to_py":205
 *     cdef const map[X,Y].value_type *key_value
 *     cdef map[X,Y].const_iterator iter = s.begin()
 *     while iter != s.end():             # <<<<<<<<<<<<<<
 *         key_value = &cython.operator.dereference(iter)
 *         o[key_value.first] = key_value.second
 */
  while (1) {
    __pyx_t_2 = ((__pyx_v_iter != __pyx_v_s.end()) != 0);
    if (!__pyx_t_2) break;

    /* "map.to_py":206
 *     cdef map[X,Y].const_iterator iter = s.begin()
 *     while iter != s.end():
 *         key_value = &cython.operator.dereference(iter)             # <<<<<<<<<<<<<<
 *         o[key_value.first] = key_value.second
 *         cython.operator.preincrement(iter)
 */
    __pyx_v_key_value = (&(*__pyx_v_iter));

    /* "map.to_py":207
 *     while iter != s.end():
 *         key_value = &cython.operator.dereference(iter)
 *         o[key_value.first] = key_value.second             # <<<<<<<<<<<<<<
 *         cython.operator.preincrement(iter)
 *     return o
 */
    __pyx_t_1 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_count(__pyx_v_key_value->second); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 207, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_key_value->first); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 207, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (unlikely(PyDict_SetItem(__pyx_v_o, __pyx_t_3, __pyx_t_1) < 0)) __PYX_ERR(1, 207, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "map.to_py":208
 *         key_value = &cython.operator.dereference(iter)
 *         o[key_value.first] = key_value.second
 *         cython.operator.preincrement(iter)             # <<<<<<<<<<<<<<
 *     return o
 * 
 */
    (void)((++__pyx_v_iter));
  }

  /* "map.to_py":209
 *         o[key_value.first] = key_value.second
 *         cython.operator.preincrement(iter)
 *     return o             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_o);
  __pyx_r = __pyx_v_o;
  goto __pyx_L0;

  /* "map.to_py":201
 * 
 * @cname("__pyx_convert_map_to_py_std_3a__3a_string____std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_count_3e___")
 * cdef object __pyx_convert_map_to_py_std_3a__3a_string____std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_count_3e___(const map[X,Y]& s):             # <<<<<<<<<<<<<<
 *     o = {}
 *     cdef const map[X,Y].value_type *key_value
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("map.to_py.__pyx_convert_map_to_py_std_3a__3a_string____std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_count_3e___", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_o);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_count______pyx_t_9networkit_10_NetworKit_count(std::map<__pyx_t_9networkit_10_NetworKit_count,__pyx_t_9networkit_10_NetworKit_count>  const &__pyx_v_s) {
  PyObject *__pyx_v_o = NULL;
  std::map<__pyx_t_9networkit_10_NetworKit_count,__pyx_t_9networkit_10_NetworKit_count> ::value_type const *__pyx_v_key_value;
  std::map<__pyx_t_9networkit_10_NetworKit_count,__pyx_t_9networkit_10_NetworKit_count> ::const_iterator __pyx_v_iter;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_count______pyx_t_9networkit_10_NetworKit_count", 0);

  /* "map.to_py":202
 * @cname("__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_count______pyx_t_9networkit_10_NetworKit_count")
 * cdef object __pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_count______pyx_t_9networkit_10_NetworKit_count(const map[X,Y]& s):
 *     o = {}             # <<<<<<<<<<<<<<
 *     cdef const map[X,Y].value_type *key_value
 *     cdef map[X,Y].const_iterator iter = s.begin()
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 202, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_o = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "map.to_py":204
 *     o = {}
 *     cdef const map[X,Y].value_type *key_value
 *     cdef map[X,Y].const_iterator iter = s.begin()             # <<<<<<<<<<<<<<
 *     while iter != s.end():
 *         key_value = &cython.operator.dereference(iter)
 */
  __pyx_v_iter = __pyx_v_s.begin();

  /* "map.to_py":205
 *     cdef const map[X,Y].value_type *key_value
 *     cdef map[X,Y].const_iterator iter = s.begin()
 *     while iter != s.end():             # <<<<<<<<<<<<<<
 *         key_value = &cython.operator.dereference(iter)
 *         o[key_value.first] = key_value.second
 */
  while (1) {
    __pyx_t_2 = ((__pyx_v_iter != __pyx_v_s.end()) != 0);
    if (!__pyx_t_2) break;

    /* "map.to_py":206
 *     cdef map[X,Y].const_iterator iter = s.begin()
 *     while iter != s.end():
 *         key_value = &cython.operator.dereference(iter)             # <<<<<<<<<<<<<<
 *         o[key_value.first] = key_value.second
 *         cython.operator.preincrement(iter)
 */
    __pyx_v_key_value = (&(*__pyx_v_iter));

    /* "map.to_py":207
 *     while iter != s.end():
 *         key_value = &cython.operator.dereference(iter)
 *         o[key_value.first] = key_value.second             # <<<<<<<<<<<<<<
 *         cython.operator.preincrement(iter)
 *     return o
 */
    __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_key_value->second); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 207, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyInt_From_uint64_t(__pyx_v_key_value->first); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 207, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (unlikely(PyDict_SetItem(__pyx_v_o, __pyx_t_3, __pyx_t_1) < 0)) __PYX_ERR(1, 207, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "map.to_py":208
 *         key_value = &cython.operator.dereference(iter)
 *         o[key_value.first] = key_value.second
 *         cython.operator.preincrement(iter)             # <<<<<<<<<<<<<<
 *     return o
 * 
 */
    (void)((++__pyx_v_iter));
  }

  /* "map.to_py":209
 *         o[key_value.first] = key_value.second
 *         cython.operator.preincrement(iter)
 *     return o             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_o);
  __pyx_r = __pyx_v_o;
  goto __pyx_L0;

  /* "map.to_py":201
 * 
 * @cname("__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_count______pyx_t_9networkit_10_NetworKit_count")
 * cdef object __pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_count______pyx_t_9networkit_10_NetworKit_count(const map[X,Y]& s):             # <<<<<<<<<<<<<<
 *     o = {}
 *     cdef const map[X,Y].value_type *key_value
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("map.to_py.__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_count______pyx_t_9networkit_10_NetworKit_count", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_o);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "pair.to_py":158
 * 
 * @cname("__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_count")
 * cdef object __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_count(const pair[X,Y]& p):             # <<<<<<<<<<<<<<
 *     return p.first, p.second
 * 
 */

static PyObject *__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_count(std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_count>  const &__pyx_v_p) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_count", 0);

  /* "pair.to_py":159
 * @cname("__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_count")
 * cdef object __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_count(const pair[X,Y]& p):
 *     return p.first, p.second             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_p.first); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_v_p.second); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "pair.to_py":158
 * 
 * @cname("__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_count")
 * cdef object __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_count(const pair[X,Y]& p):             # <<<<<<<<<<<<<<
 *     return p.first, p.second
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pair.to_py.__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_count", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node____double(std::pair<__pyx_t_9networkit_10_NetworKit_node,double>  const &__pyx_v_p) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node____double", 0);

  /* "pair.to_py":159
 * @cname("__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node____double")
 * cdef object __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node____double(const pair[X,Y]& p):
 *     return p.first, p.second             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_p.first); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_p.second); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "pair.to_py":158
 * 
 * @cname("__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node____double")
 * cdef object __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node____double(const pair[X,Y]& p):             # <<<<<<<<<<<<<<
 *     return p.first, p.second
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pair.to_py.__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node____double", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "vector.to_py":60
 * 
 * @cname("__pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c_double_3e___")
 * cdef object __pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c_double_3e___(vector[X]& v):             # <<<<<<<<<<<<<<
 *     return [v[i] for i in range(v.size())]
 * 
 */

static PyObject *__pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c_double_3e___(const std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,double> >  &__pyx_v_v) {
  size_t __pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c_double_3e___", 0);

  /* "vector.to_py":61
 * @cname("__pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c_double_3e___")
 * cdef object __pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c_double_3e___(vector[X]& v):
 *     return [v[i] for i in range(v.size())]             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __pyx_v_v.size();
  __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;
    __pyx_t_5 = __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node____double((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "vector.to_py":60
 * 
 * @cname("__pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c_double_3e___")
 * cdef object __pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c_double_3e___(vector[X]& v):             # <<<<<<<<<<<<<<
 *     return [v[i] for i in range(v.size())]
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("vector.to_py.__pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c_double_3e___", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "pair.to_py":158
 * 
 * @cname("__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_edgeweight")
 * cdef object __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_edgeweight(const pair[X,Y]& p):             # <<<<<<<<<<<<<<
 *     return p.first, p.second
 * 
 */

static PyObject *__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_edgeweight(std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_edgeweight>  const &__pyx_v_p) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_edgeweight", 0);

  /* "pair.to_py":159
 * @cname("__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_edgeweight")
 * cdef object __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_edgeweight(const pair[X,Y]& p):
 *     return p.first, p.second             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_p.first); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_p.second); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "pair.to_py":158
 * 
 * @cname("__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_edgeweight")
 * cdef object __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_edgeweight(const pair[X,Y]& p):             # <<<<<<<<<<<<<<
 *     return p.first, p.second
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pair.to_py.__pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_edgeweight", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "vector.to_py":60
 * 
 * @cname("__pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_edgeweight_3e___")
 * cdef object __pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_edgeweight_3e___(vector[X]& v):             # <<<<<<<<<<<<<<
 *     return [v[i] for i in range(v.size())]
 * 
 */

static PyObject *__pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_edgeweight_3e___(const std::vector<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_edgeweight> >  &__pyx_v_v) {
  size_t __pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_edgeweight_3e___", 0);

  /* "vector.to_py":61
 * @cname("__pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_edgeweight_3e___")
 * cdef object __pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_edgeweight_3e___(vector[X]& v):
 *     return [v[i] for i in range(v.size())]             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __pyx_v_v.size();
  __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;
    __pyx_t_5 = __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_edgeweight((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "vector.to_py":60
 * 
 * @cname("__pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_edgeweight_3e___")
 * cdef object __pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_edgeweight_3e___(vector[X]& v):             # <<<<<<<<<<<<<<
 *     return [v[i] for i in range(v.size())]
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("vector.to_py.__pyx_convert_vector_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_edgeweight_3e___", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "map.to_py":201
 * 
 * @cname("__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_node____std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_node_3e___")
 * cdef object __pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_node____std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_node_3e___(const map[X,Y]& s):             # <<<<<<<<<<<<<<
 *     o = {}
 *     cdef const map[X,Y].value_type *key_value
 */

static PyObject *__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_node____std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_node_3e___(std::map<__pyx_t_9networkit_10_NetworKit_node,std::vector<__pyx_t_9networkit_10_NetworKit_node> >  const &__pyx_v_s) {
  PyObject *__pyx_v_o = NULL;
  std::map<__pyx_t_9networkit_10_NetworKit_node,std::vector<__pyx_t_9networkit_10_NetworKit_node> > ::value_type const *__pyx_v_key_value;
  std::map<__pyx_t_9networkit_10_NetworKit_node,std::vector<__pyx_t_9networkit_10_NetworKit_node> > ::const_iterator __pyx_v_iter;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_node____std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_node_3e___", 0);

  /* "map.to_py":202
 * @cname("__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_node____std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_node_3e___")
 * cdef object __pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_node____std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_node_3e___(const map[X,Y]& s):
 *     o = {}             # <<<<<<<<<<<<<<
 *     cdef const map[X,Y].value_type *key_value
 *     cdef map[X,Y].const_iterator iter = s.begin()
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 202, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_o = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "map.to_py":204
 *     o = {}
 *     cdef const map[X,Y].value_type *key_value
 *     cdef map[X,Y].const_iterator iter = s.begin()             # <<<<<<<<<<<<<<
 *     while iter != s.end():
 *         key_value = &cython.operator.dereference(iter)
 */
  __pyx_v_iter = __pyx_v_s.begin();

  /* "map.to_py":205
 *     cdef const map[X,Y].value_type *key_value
 *     cdef map[X,Y].const_iterator iter = s.begin()
 *     while iter != s.end():             # <<<<<<<<<<<<<<
 *         key_value = &cython.operator.dereference(iter)
 *         o[key_value.first] = key_value.second
 */
  while (1) {
    __pyx_t_2 = ((__pyx_v_iter != __pyx_v_s.end()) != 0);
    if (!__pyx_t_2) break;

    /* "map.to_py":206
 *     cdef map[X,Y].const_iterator iter = s.begin()
 *     while iter != s.end():
 *         key_value = &cython.operator.dereference(iter)             # <<<<<<<<<<<<<<
 *         o[key_value.first] = key_value.second
 *         cython.operator.preincrement(iter)
 */
    __pyx_v_key_value = (&(*__pyx_v_iter));

    /* "map.to_py":207
 *     while iter != s.end():
 *         key_value = &cython.operator.dereference(iter)
 *         o[key_value.first] = key_value.second             # <<<<<<<<<<<<<<
 *         cython.operator.preincrement(iter)
 *     return o
 */
    __pyx_t_1 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_v_key_value->second); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 207, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyInt_From_uint64_t(__pyx_v_key_value->first); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 207, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (unlikely(PyDict_SetItem(__pyx_v_o, __pyx_t_3, __pyx_t_1) < 0)) __PYX_ERR(1, 207, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "map.to_py":208
 *         key_value = &cython.operator.dereference(iter)
 *         o[key_value.first] = key_value.second
 *         cython.operator.preincrement(iter)             # <<<<<<<<<<<<<<
 *     return o
 * 
 */
    (void)((++__pyx_v_iter));
  }

  /* "map.to_py":209
 *         o[key_value.first] = key_value.second
 *         cython.operator.preincrement(iter)
 *     return o             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_o);
  __pyx_r = __pyx_v_o;
  goto __pyx_L0;

  /* "map.to_py":201
 * 
 * @cname("__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_node____std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_node_3e___")
 * cdef object __pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_node____std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_node_3e___(const map[X,Y]& s):             # <<<<<<<<<<<<<<
 *     o = {}
 *     cdef const map[X,Y].value_type *key_value
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("map.to_py.__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_node____std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_node_3e___", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_o);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "set.to_py":129
 * 
 * @cname("__pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_node")
 * cdef object __pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_node(const cpp_set[X]& s):             # <<<<<<<<<<<<<<
 *     o = set()
 *     cdef cpp_set[X].const_iterator iter = s.begin()
 */

static PyObject *__pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_node(std::set<__pyx_t_9networkit_10_NetworKit_node>  const &__pyx_v_s) {
  PyObject *__pyx_v_o = NULL;
  std::set<__pyx_t_9networkit_10_NetworKit_node> ::const_iterator __pyx_v_iter;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  __Pyx_RefNannySetupContext("__pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_node", 0);

  /* "set.to_py":130
 * @cname("__pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_node")
 * cdef object __pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_node(const cpp_set[X]& s):
 *     o = set()             # <<<<<<<<<<<<<<
 *     cdef cpp_set[X].const_iterator iter = s.begin()
 *     while iter != s.end():
 */
  __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_o = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "set.to_py":131
 * cdef object __pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_node(const cpp_set[X]& s):
 *     o = set()
 *     cdef cpp_set[X].const_iterator iter = s.begin()             # <<<<<<<<<<<<<<
 *     while iter != s.end():
 *         o.add(cython.operator.dereference(iter))
 */
  __pyx_v_iter = __pyx_v_s.begin();

  /* "set.to_py":132
 *     o = set()
 *     cdef cpp_set[X].const_iterator iter = s.begin()
 *     while iter != s.end():             # <<<<<<<<<<<<<<
 *         o.add(cython.operator.dereference(iter))
 *         cython.operator.preincrement(iter)
 */
  while (1) {
    __pyx_t_2 = ((__pyx_v_iter != __pyx_v_s.end()) != 0);
    if (!__pyx_t_2) break;

    /* "set.to_py":133
 *     cdef cpp_set[X].const_iterator iter = s.begin()
 *     while iter != s.end():
 *         o.add(cython.operator.dereference(iter))             # <<<<<<<<<<<<<<
 *         cython.operator.preincrement(iter)
 *     return o
 */
    __pyx_t_1 = __Pyx_PyInt_From_uint64_t((*__pyx_v_iter)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 133, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = PySet_Add(__pyx_v_o, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 133, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "set.to_py":134
 *     while iter != s.end():
 *         o.add(cython.operator.dereference(iter))
 *         cython.operator.preincrement(iter)             # <<<<<<<<<<<<<<
 *     return o
 * 
 */
    (void)((++__pyx_v_iter));
  }

  /* "set.to_py":135
 *         o.add(cython.operator.dereference(iter))
 *         cython.operator.preincrement(iter)
 *     return o             # <<<<<<<<<<<<<<
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_o);
  __pyx_r = __pyx_v_o;
  goto __pyx_L0;

  /* "set.to_py":129
 * 
 * @cname("__pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_node")
 * cdef object __pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_node(const cpp_set[X]& s):             # <<<<<<<<<<<<<<
 *     o = set()
 *     cdef cpp_set[X].const_iterator iter = s.begin()
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("set.to_py.__pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_node", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_o);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "map.to_py":201
 * 
 * @cname("__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_node____std_3a__3a_set_3c___pyx_t_9networkit_10_NetworKit_node_3e___")
 * cdef object __pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_node____std_3a__3a_set_3c___pyx_t_9networkit_10_NetworKit_node_3e___(const map[X,Y]& s):             # <<<<<<<<<<<<<<
 *     o = {}
 *     cdef const map[X,Y].value_type *key_value
 */

static PyObject *__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_node____std_3a__3a_set_3c___pyx_t_9networkit_10_NetworKit_node_3e___(std::map<__pyx_t_9networkit_10_NetworKit_node,std::set<__pyx_t_9networkit_10_NetworKit_node> >  const &__pyx_v_s) {
  PyObject *__pyx_v_o = NULL;
  std::map<__pyx_t_9networkit_10_NetworKit_node,std::set<__pyx_t_9networkit_10_NetworKit_node> > ::value_type const *__pyx_v_key_value;
  std::map<__pyx_t_9networkit_10_NetworKit_node,std::set<__pyx_t_9networkit_10_NetworKit_node> > ::const_iterator __pyx_v_iter;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_node____std_3a__3a_set_3c___pyx_t_9networkit_10_NetworKit_node_3e___", 0);

  /* "map.to_py":202
 * @cname("__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_node____std_3a__3a_set_3c___pyx_t_9networkit_10_NetworKit_node_3e___")
 * cdef object __pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_node____std_3a__3a_set_3c___pyx_t_9networkit_10_NetworKit_node_3e___(const map[X,Y]& s):
 *     o = {}             # <<<<<<<<<<<<<<
 *     cdef const map[X,Y].value_type *key_value
 *     cdef map[X,Y].const_iterator iter = s.begin()
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 202, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_o = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "map.to_py":204
 *     o = {}
 *     cdef const map[X,Y].value_type *key_value
 *     cdef map[X,Y].const_iterator iter = s.begin()             # <<<<<<<<<<<<<<
 *     while iter != s.end():
 *         key_value = &cython.operator.dereference(iter)
 */
  __pyx_v_iter = __pyx_v_s.begin();

  /* "map.to_py":205
 *     cdef const map[X,Y].value_type *key_value
 *     cdef map[X,Y].const_iterator iter = s.begin()
 *     while iter != s.end():             # <<<<<<<<<<<<<<
 *         key_value = &cython.operator.dereference(iter)
 *         o[key_value.first] = key_value.second
 */
  while (1) {
    __pyx_t_2 = ((__pyx_v_iter != __pyx_v_s.end()) != 0);
    if (!__pyx_t_2) break;

    /* "map.to_py":206
 *     cdef map[X,Y].const_iterator iter = s.begin()
 *     while iter != s.end():
 *         key_value = &cython.operator.dereference(iter)             # <<<<<<<<<<<<<<
 *         o[key_value.first] = key_value.second
 *         cython.operator.preincrement(iter)
 */
    __pyx_v_key_value = (&(*__pyx_v_iter));

    /* "map.to_py":207
 *     while iter != s.end():
 *         key_value = &cython.operator.dereference(iter)
 *         o[key_value.first] = key_value.second             # <<<<<<<<<<<<<<
 *         cython.operator.preincrement(iter)
 *     return o
 */
    __pyx_t_1 = __pyx_convert_set_to_py___pyx_t_9networkit_10_NetworKit_node(__pyx_v_key_value->second); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 207, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyInt_From_uint64_t(__pyx_v_key_value->first); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 207, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (unlikely(PyDict_SetItem(__pyx_v_o, __pyx_t_3, __pyx_t_1) < 0)) __PYX_ERR(1, 207, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "map.to_py":208
 *         key_value = &cython.operator.dereference(iter)
 *         o[key_value.first] = key_value.second
 *         cython.operator.preincrement(iter)             # <<<<<<<<<<<<<<
 *     return o
 * 
 */
    (void)((++__pyx_v_iter));
  }

  /* "map.to_py":209
 *         o[key_value.first] = key_value.second
 *         cython.operator.preincrement(iter)
 *     return o             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_o);
  __pyx_r = __pyx_v_o;
  goto __pyx_L0;

  /* "map.to_py":201
 * 
 * @cname("__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_node____std_3a__3a_set_3c___pyx_t_9networkit_10_NetworKit_node_3e___")
 * cdef object __pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_node____std_3a__3a_set_3c___pyx_t_9networkit_10_NetworKit_node_3e___(const map[X,Y]& s):             # <<<<<<<<<<<<<<
 *     o = {}
 *     cdef const map[X,Y].value_type *key_value
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("map.to_py.__pyx_convert_map_to_py___pyx_t_9networkit_10_NetworKit_node____std_3a__3a_set_3c___pyx_t_9networkit_10_NetworKit_node_3e___", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_o);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "pair.to_py":158
 * 
 * @cname("__pyx_convert_pair_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e_______double")
 * cdef object __pyx_convert_pair_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e_______double(const pair[X,Y]& p):             # <<<<<<<<<<<<<<
 *     return p.first, p.second
 * 
 */

static PyObject *__pyx_convert_pair_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e_______double(std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double>  const &__pyx_v_p) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_pair_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e_______double", 0);

  /* "pair.to_py":159
 * @cname("__pyx_convert_pair_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e_______double")
 * cdef object __pyx_convert_pair_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e_______double(const pair[X,Y]& p):
 *     return p.first, p.second             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_convert_pair_to_py___pyx_t_9networkit_10_NetworKit_node______pyx_t_9networkit_10_NetworKit_node(__pyx_v_p.first); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_p.second); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "pair.to_py":158
 * 
 * @cname("__pyx_convert_pair_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e_______double")
 * cdef object __pyx_convert_pair_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e_______double(const pair[X,Y]& p):             # <<<<<<<<<<<<<<
 *     return p.first, p.second
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pair.to_py.__pyx_convert_pair_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e_______double", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "vector.to_py":60
 * 
 * @cname("__pyx_convert_vector_to_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___")
 * cdef object __pyx_convert_vector_to_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___(vector[X]& v):             # <<<<<<<<<<<<<<
 *     return [v[i] for i in range(v.size())]
 * 
 */

static PyObject *__pyx_convert_vector_to_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___(const std::vector<std::pair<std::pair<__pyx_t_9networkit_10_NetworKit_node,__pyx_t_9networkit_10_NetworKit_node> ,double> >  &__pyx_v_v) {
  size_t __pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_to_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___", 0);

  /* "vector.to_py":61
 * @cname("__pyx_convert_vector_to_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___")
 * cdef object __pyx_convert_vector_to_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___(vector[X]& v):
 *     return [v[i] for i in range(v.size())]             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __pyx_v_v.size();
  __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;
    __pyx_t_5 = __pyx_convert_pair_to_py_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e_______double((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "vector.to_py":60
 * 
 * @cname("__pyx_convert_vector_to_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___")
 * cdef object __pyx_convert_vector_to_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___(vector[X]& v):             # <<<<<<<<<<<<<<
 *     return [v[i] for i in range(v.size())]
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("vector.to_py.__pyx_convert_vector_to_py_std_3a__3a_pair_3c_std_3a__3a_pair_3c___pyx_t_9networkit_10_NetworKit_node_2c___pyx_t_9networkit_10_NetworKit_node_3e____2c_double_3e___", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "pair.to_py":158
 * 
 * @cname("__pyx_convert_pair_to_py_std_3a__3a_vector_3c_double_3e_______std_3a__3a_vector_3c_double_3e___")
 * cdef object __pyx_convert_pair_to_py_std_3a__3a_vector_3c_double_3e_______std_3a__3a_vector_3c_double_3e___(const pair[X,Y]& p):             # <<<<<<<<<<<<<<
 *     return p.first, p.second
 * 
 */

static PyObject *__pyx_convert_pair_to_py_std_3a__3a_vector_3c_double_3e_______std_3a__3a_vector_3c_double_3e___(std::pair<std::vector<double> ,std::vector<double> >  const &__pyx_v_p) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_pair_to_py_std_3a__3a_vector_3c_double_3e_______std_3a__3a_vector_3c_double_3e___", 0);

  /* "pair.to_py":159
 * @cname("__pyx_convert_pair_to_py_std_3a__3a_vector_3c_double_3e_______std_3a__3a_vector_3c_double_3e___")
 * cdef object __pyx_convert_pair_to_py_std_3a__3a_vector_3c_double_3e_______std_3a__3a_vector_3c_double_3e___(const pair[X,Y]& p):
 *     return p.first, p.second             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_convert_vector_to_py_double(__pyx_v_p.first); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __pyx_convert_vector_to_py_double(__pyx_v_p.second); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "pair.to_py":158
 * 
 * @cname("__pyx_convert_pair_to_py_std_3a__3a_vector_3c_double_3e_______std_3a__3a_vector_3c_double_3e___")
 * cdef object __pyx_convert_pair_to_py_std_3a__3a_vector_3c_double_3e_______std_3a__3a_vector_3c_double_3e___(const pair[X,Y]& p):             # <<<<<<<<<<<<<<
 *     return p.first, p.second
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pair.to_py.__pyx_convert_pair_to_py_std_3a__3a_vector_3c_double_3e_______std_3a__3a_vector_3c_double_3e___", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "pair.from_py":145
 * 
 * @cname("__pyx_convert_pair_from_py_double__and___pyx_t_9networkit_10_NetworKit_count")
 * cdef pair[X,Y] __pyx_convert_pair_from_py_double__and___pyx_t_9networkit_10_NetworKit_count(object o) except *:             # <<<<<<<<<<<<<<
 *     x, y = o
 *     return pair[X,Y](<X>x, <Y>y)
 */

static std::pair<double,__pyx_t_9networkit_10_NetworKit_count>  __pyx_convert_pair_from_py_double__and___pyx_t_9networkit_10_NetworKit_count(PyObject *__pyx_v_o) {
  PyObject *__pyx_v_x = NULL;
  PyObject *__pyx_v_y = NULL;
  std::pair<double,__pyx_t_9networkit_10_NetworKit_count>  __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *(*__pyx_t_4)(PyObject *);
  double __pyx_t_5;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_6;
  __Pyx_RefNannySetupContext("__pyx_convert_pair_from_py_double__and___pyx_t_9networkit_10_NetworKit_count", 0);

  /* "pair.from_py":146
 * @cname("__pyx_convert_pair_from_py_double__and___pyx_t_9networkit_10_NetworKit_count")
 * cdef pair[X,Y] __pyx_convert_pair_from_py_double__and___pyx_t_9networkit_10_NetworKit_count(object o) except *:
 *     x, y = o             # <<<<<<<<<<<<<<
 *     return pair[X,Y](<X>x, <Y>y)
 * 
 */
  if ((likely(PyTuple_CheckExact(__pyx_v_o))) || (PyList_CheckExact(__pyx_v_o))) {
    PyObject* sequence = __pyx_v_o;
    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(1, 146, __pyx_L1_error)
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    if (likely(PyTuple_CheckExact(sequence))) {
      __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); 
      __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1); 
    } else {
      __pyx_t_1 = PyList_GET_ITEM(sequence, 0); 
      __pyx_t_2 = PyList_GET_ITEM(sequence, 1); 
    }
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_2);
    #else
    __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    #endif
  } else {
    Py_ssize_t index = -1;
    __pyx_t_3 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = Py_TYPE(__pyx_t_3)->tp_iternext;
    index = 0; __pyx_t_1 = __pyx_t_4(__pyx_t_3); if (unlikely(!__pyx_t_1)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_1);
    index = 1; __pyx_t_2 = __pyx_t_4(__pyx_t_3); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed;
    __Pyx_GOTREF(__pyx_t_2);
    if (__Pyx_IternextUnpackEndCheck(__pyx_t_4(__pyx_t_3), 2) < 0) __PYX_ERR(1, 146, __pyx_L1_error)
    __pyx_t_4 = NULL;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L4_unpacking_done;
    __pyx_L3_unpacking_failed:;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
    __PYX_ERR(1, 146, __pyx_L1_error)
    __pyx_L4_unpacking_done:;
  }
  __pyx_v_x = __pyx_t_1;
  __pyx_t_1 = 0;
  __pyx_v_y = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "pair.from_py":147
 * cdef pair[X,Y] __pyx_convert_pair_from_py_double__and___pyx_t_9networkit_10_NetworKit_count(object o) except *:
 *     x, y = o
 *     return pair[X,Y](<X>x, <Y>y)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_v_x); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 147, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyInt_As_uint64_t(__pyx_v_y); if (unlikely((__pyx_t_6 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 147, __pyx_L1_error)
  __pyx_r = std::pair<double,__pyx_t_9networkit_10_NetworKit_count> (((double)__pyx_t_5), ((__pyx_t_9networkit_10_NetworKit_count)__pyx_t_6));
  goto __pyx_L0;

  /* "pair.from_py":145
 * 
 * @cname("__pyx_convert_pair_from_py_double__and___pyx_t_9networkit_10_NetworKit_count")
 * cdef pair[X,Y] __pyx_convert_pair_from_py_double__and___pyx_t_9networkit_10_NetworKit_count(object o) except *:             # <<<<<<<<<<<<<<
 *     x, y = o
 *     return pair[X,Y](<X>x, <Y>y)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pair.from_py.__pyx_convert_pair_from_py_double__and___pyx_t_9networkit_10_NetworKit_count", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_pretend_to_initialize(&__pyx_r);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_x);
  __Pyx_XDECREF(__pyx_v_y);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "vector.to_py":60
 * 
 * @cname("__pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_count_3e___")
 * cdef object __pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_count_3e___(vector[X]& v):             # <<<<<<<<<<<<<<
 *     return [v[i] for i in range(v.size())]
 * 
 */

static PyObject *__pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_count_3e___(const std::vector<std::vector<__pyx_t_9networkit_10_NetworKit_count> >  &__pyx_v_v) {
  size_t __pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_count_3e___", 0);

  /* "vector.to_py":61
 * @cname("__pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_count_3e___")
 * cdef object __pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_count_3e___(vector[X]& v):
 *     return [v[i] for i in range(v.size())]             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __pyx_v_v.size();
  __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;
    __pyx_t_5 = __pyx_convert_vector_to_py___pyx_t_9networkit_10_NetworKit_count((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "vector.to_py":60
 * 
 * @cname("__pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_count_3e___")
 * cdef object __pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_count_3e___(vector[X]& v):             # <<<<<<<<<<<<<<
 *     return [v[i] for i in range(v.size())]
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("vector.to_py.__pyx_convert_vector_to_py_std_3a__3a_vector_3c___pyx_t_9networkit_10_NetworKit_count_3e___", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "pair.to_py":158
 * 
 * @cname("__pyx_convert_pair_to_py_double____double")
 * cdef object __pyx_convert_pair_to_py_double____double(const pair[X,Y]& p):             # <<<<<<<<<<<<<<
 *     return p.first, p.second
 * 
 */

static PyObject *__pyx_convert_pair_to_py_double____double(std::pair<double,double>  const &__pyx_v_p) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_pair_to_py_double____double", 0);

  /* "pair.to_py":159
 * @cname("__pyx_convert_pair_to_py_double____double")
 * cdef object __pyx_convert_pair_to_py_double____double(const pair[X,Y]& p):
 *     return p.first, p.second             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_p.first); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_p.second); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "pair.to_py":158
 * 
 * @cname("__pyx_convert_pair_to_py_double____double")
 * cdef object __pyx_convert_pair_to_py_double____double(const pair[X,Y]& p):             # <<<<<<<<<<<<<<
 *     return p.first, p.second
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pair.to_py.__pyx_convert_pair_to_py_double____double", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "vector.to_py":60
 * 
 * @cname("__pyx_convert_vector_to_py_std_3a__3a_pair_3c_double_2c_double_3e___")
 * cdef object __pyx_convert_vector_to_py_std_3a__3a_pair_3c_double_2c_double_3e___(vector[X]& v):             # <<<<<<<<<<<<<<
 *     return [v[i] for i in range(v.size())]
 * 
 */

static PyObject *__pyx_convert_vector_to_py_std_3a__3a_pair_3c_double_2c_double_3e___(const std::vector<std::pair<double,double> >  &__pyx_v_v) {
  size_t __pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_to_py_std_3a__3a_pair_3c_double_2c_double_3e___", 0);

  /* "vector.to_py":61
 * @cname("__pyx_convert_vector_to_py_std_3a__3a_pair_3c_double_2c_double_3e___")
 * cdef object __pyx_convert_vector_to_py_std_3a__3a_pair_3c_double_2c_double_3e___(vector[X]& v):
 *     return [v[i] for i in range(v.size())]             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __pyx_v_v.size();
  __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;
    __pyx_t_5 = __pyx_convert_pair_to_py_double____double((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 61, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "vector.to_py":60
 * 
 * @cname("__pyx_convert_vector_to_py_std_3a__3a_pair_3c_double_2c_double_3e___")
 * cdef object __pyx_convert_vector_to_py_std_3a__3a_pair_3c_double_2c_double_3e___(vector[X]& v):             # <<<<<<<<<<<<<<
 *     return [v[i] for i in range(v.size())]
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("vector.to_py.__pyx_convert_vector_to_py_std_3a__3a_pair_3c_double_2c_double_3e___", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Algorithm(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_9Algorithm_3__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_9Algorithm_5__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_Algorithm[] = {
  {"run", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Algorithm_7run, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_9Algorithm_6run},
  {"hasFinished", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Algorithm_9hasFinished, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_9Algorithm_8hasFinished},
  {"toString", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Algorithm_11toString, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_9Algorithm_10toString},
  {"isParallel", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Algorithm_13isParallel, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_9Algorithm_12isParallel},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Algorithm_15__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Algorithm_17__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_Algorithm = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.Algorithm", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_Algorithm), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Abstract base class for algorithms ", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_Algorithm, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_Algorithm, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_StaticGraphGenerator(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_3__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_StaticGraphGenerator(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_5__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_StaticGraphGenerator[] = {
  {"generate", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_7generate, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_20StaticGraphGenerator_6generate},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_StaticGraphGenerator = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.StaticGraphGenerator", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_StaticGraphGenerator), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_StaticGraphGenerator, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Abstract base class for static graph generators ", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_StaticGraphGenerator, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_StaticGraphGenerator, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_Graph __pyx_vtable_9networkit_10_NetworKit_Graph;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Graph(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)o);
  p->__pyx_vtab = __pyx_vtabptr_9networkit_10_NetworKit_Graph;
  new((void*)&(p->_this)) NetworKit::Graph();
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_5Graph_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_Graph(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_Graph *p = (struct __pyx_obj_9networkit_10_NetworKit_Graph *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_Graph[] = {
  {"__copy__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_3__copy__, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_2__copy__},
  {"__deepcopy__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_5__deepcopy__, METH_O, __pyx_doc_9networkit_10_NetworKit_5Graph_4__deepcopy__},
  {"copyNodes", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_9copyNodes, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_8copyNodes},
  {"indexEdges", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_5Graph_11indexEdges, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_5Graph_10indexEdges},
  {"hasEdgeIds", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_13hasEdgeIds, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_12hasEdgeIds},
  {"edgeId", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_5Graph_15edgeId, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_5Graph_14edgeId},
  {"numberOfNodes", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_17numberOfNodes, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_16numberOfNodes},
  {"numberOfEdges", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_19numberOfEdges, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_18numberOfEdges},
  {"size", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_21size, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_20size},
  {"density", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_23density, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_22density},
  {"upperNodeIdBound", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_25upperNodeIdBound, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_24upperNodeIdBound},
  {"upperEdgeIdBound", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_27upperEdgeIdBound, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_26upperEdgeIdBound},
  {"degree", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_29degree, METH_O, __pyx_doc_9networkit_10_NetworKit_5Graph_28degree},
  {"degreeIn", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_31degreeIn, METH_O, 0},
  {"degreeOut", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_33degreeOut, METH_O, 0},
  {"weightedDegree", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_5Graph_35weightedDegree, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_5Graph_34weightedDegree},
  {"weightedDegreeIn", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_5Graph_37weightedDegreeIn, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_5Graph_36weightedDegreeIn},
  {"maxDegree", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_39maxDegree, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_38maxDegree},
  {"maxDegreeIn", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_41maxDegreeIn, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_40maxDegreeIn},
  {"maxWeightedDegree", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_43maxWeightedDegree, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_42maxWeightedDegree},
  {"maxWeightedDegreeIn", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_45maxWeightedDegreeIn, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_44maxWeightedDegreeIn},
  {"isIsolated", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_47isIsolated, METH_O, __pyx_doc_9networkit_10_NetworKit_5Graph_46isIsolated},
  {"addNode", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_49addNode, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_48addNode},
  {"addNodes", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_51addNodes, METH_O, __pyx_doc_9networkit_10_NetworKit_5Graph_50addNodes},
  {"removeNode", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_53removeNode, METH_O, __pyx_doc_9networkit_10_NetworKit_5Graph_52removeNode},
  {"restoreNode", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_55restoreNode, METH_O, __pyx_doc_9networkit_10_NetworKit_5Graph_54restoreNode},
  {"hasNode", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_57hasNode, METH_O, __pyx_doc_9networkit_10_NetworKit_5Graph_56hasNode},
  {"append", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_59append, METH_O, __pyx_doc_9networkit_10_NetworKit_5Graph_58append},
  {"merge", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_61merge, METH_O, __pyx_doc_9networkit_10_NetworKit_5Graph_60merge},
  {"addEdge", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_5Graph_63addEdge, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_5Graph_62addEdge},
  {"setWeight", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_5Graph_65setWeight, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_5Graph_64setWeight},
  {"increaseWeight", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_5Graph_67increaseWeight, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_5Graph_66increaseWeight},
  {"removeEdge", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_5Graph_69removeEdge, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_5Graph_68removeEdge},
  {"removeAllEdges", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_71removeAllEdges, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_70removeAllEdges},
  {"removeEdgesFromIsolatedSet", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_73removeEdgesFromIsolatedSet, METH_O, __pyx_doc_9networkit_10_NetworKit_5Graph_72removeEdgesFromIsolatedSet},
  {"removeSelfLoops", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_75removeSelfLoops, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_74removeSelfLoops},
  {"removeMultiEdges", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_77removeMultiEdges, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_76removeMultiEdges},
  {"swapEdge", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_5Graph_79swapEdge, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_5Graph_78swapEdge},
  {"compactEdges", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_81compactEdges, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_80compactEdges},
  {"sortEdges", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_83sortEdges, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_82sortEdges},
  {"hasEdge", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_5Graph_85hasEdge, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_5Graph_84hasEdge},
  {"weight", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_5Graph_87weight, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_5Graph_86weight},
  {"nodes", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_89nodes, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_88nodes},
  {"edges", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_91edges, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_90edges},
  {"neighbors", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_93neighbors, METH_O, __pyx_doc_9networkit_10_NetworKit_5Graph_92neighbors},
  {"inNeighbors", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_95inNeighbors, METH_O, __pyx_doc_9networkit_10_NetworKit_5Graph_94inNeighbors},
  {"forNodes", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_97forNodes, METH_O, __pyx_doc_9networkit_10_NetworKit_5Graph_96forNodes},
  {"forNodesInRandomOrder", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_99forNodesInRandomOrder, METH_O, __pyx_doc_9networkit_10_NetworKit_5Graph_98forNodesInRandomOrder},
  {"forNodePairs", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_101forNodePairs, METH_O, __pyx_doc_9networkit_10_NetworKit_5Graph_100forNodePairs},
  {"forEdges", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_103forEdges, METH_O, __pyx_doc_9networkit_10_NetworKit_5Graph_102forEdges},
  {"forEdgesOf", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_5Graph_105forEdgesOf, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_5Graph_104forEdgesOf},
  {"forInEdgesOf", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_5Graph_107forInEdgesOf, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_5Graph_106forInEdgesOf},
  {"toUndirected", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_109toUndirected, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_108toUndirected},
  {"toUnweighted", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_111toUnweighted, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_110toUnweighted},
  {"transpose", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_113transpose, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_112transpose},
  {"isWeighted", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_115isWeighted, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_114isWeighted},
  {"isDirected", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_117isDirected, METH_NOARGS, 0},
  {"toString", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_119toString, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_118toString},
  {"getName", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_121getName, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_120getName},
  {"setName", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_123setName, METH_O, __pyx_doc_9networkit_10_NetworKit_5Graph_122setName},
  {"totalEdgeWeight", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_125totalEdgeWeight, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_124totalEdgeWeight},
  {"randomNode", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_127randomNode, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_126randomNode},
  {"randomNeighbor", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_129randomNeighbor, METH_O, __pyx_doc_9networkit_10_NetworKit_5Graph_128randomNeighbor},
  {"randomEdge", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_5Graph_131randomEdge, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_5Graph_130randomEdge},
  {"randomEdges", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_133randomEdges, METH_O, __pyx_doc_9networkit_10_NetworKit_5Graph_132randomEdges},
  {"numberOfSelfLoops", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_135numberOfSelfLoops, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_134numberOfSelfLoops},
  {"BFSfrom", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_5Graph_137BFSfrom, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_5Graph_136BFSfrom},
  {"BFSEdgesFrom", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_5Graph_139BFSEdgesFrom, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_5Graph_138BFSEdgesFrom},
  {"DFSfrom", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_5Graph_141DFSfrom, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_5Graph_140DFSfrom},
  {"DFSEdgesFrom", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_5Graph_143DFSEdgesFrom, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_5Graph_142DFSEdgesFrom},
  {"checkConsistency", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_145checkConsistency, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_144checkConsistency},
  {"subgraphFromNodes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_5Graph_147subgraphFromNodes, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_5Graph_146subgraphFromNodes},
  {"iterNodes", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_149iterNodes, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_148iterNodes},
  {"iterEdges", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_152iterEdges, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_151iterEdges},
  {"iterEdgesWeights", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_155iterEdgesWeights, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Graph_154iterEdgesWeights},
  {"iterNeighbors", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_158iterNeighbors, METH_O, __pyx_doc_9networkit_10_NetworKit_5Graph_157iterNeighbors},
  {"iterInNeighbors", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_161iterInNeighbors, METH_O, __pyx_doc_9networkit_10_NetworKit_5Graph_160iterInNeighbors},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_164__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Graph_166__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_Graph = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.Graph", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_Graph), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Graph, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  __pyx_pw_9networkit_10_NetworKit_5Graph_7__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, /*tp_flags*/
  " An undirected graph (with optional weights) and parallel iterator methods.\n\n\t\tGraph(n=0, weighted=False, directed=False)\n\n\t\tCreate a graph of `n` nodes. The graph has assignable edge weights if `weighted` is set to True.\n\t \tIf `weighted` is set to False each edge has edge weight 1.0 and any other weight assignment will\n\t \tbe ignored.\n\n\t    Parameters\n\t    ----------\n\t    n : count, optional\n\t    \tNumber of nodes.\n\t    weighted : bool, optional\n\t    \tIf set to True, the graph can have edge weights other than 1.0.\n\t    directed : bool, optional\n\t    \tIf set to True, the graph will be directed.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_Graph, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_Graph, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_STSP(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_STSP *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_STSP *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_STSP(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_STSP *p = (struct __pyx_obj_9networkit_10_NetworKit_STSP *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_STSP(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_STSP *p = (struct __pyx_obj_9networkit_10_NetworKit_STSP *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_STSP)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_STSP(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_STSP *p = (struct __pyx_obj_9networkit_10_NetworKit_STSP *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_STSP);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_STSP[] = {
  {"getPath", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_4STSP_3getPath, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_4STSP_2getPath},
  {"getPredecessors", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_4STSP_5getPredecessors, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_4STSP_4getPredecessors},
  {"getDistance", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_4STSP_7getDistance, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_4STSP_6getDistance},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_4STSP_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_4STSP_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_STSP = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.STSP", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_STSP), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_STSP, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Abstract base class for source-target shortest path algorithms. ", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_STSP, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_STSP, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_STSP, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_9networkit_10_NetworKit_4STSP_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_STSP, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_BidirectionalBFS(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_STSP(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_16BidirectionalBFS_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_BidirectionalBFS[] = {
  {"getHops", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_16BidirectionalBFS_3getHops, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_16BidirectionalBFS_2getHops},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_16BidirectionalBFS_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_16BidirectionalBFS_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_BidirectionalBFS = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.BidirectionalBFS", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_BidirectionalBFS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_STSP, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\t\tImplements a bidirectional breadth-first search on a graph from\n\t\ttwo given source and target nodes.\n\t\tExplores the graph from both the source and target nodes until\n\t\tthe two explorations meet.\n\n\t\tParameters\n\t\t----------\n\n\t\tG : networkit.Graph\n\t\t\tThe input graph.\n\t\tsource : node\n\t\t\tThe source node.\n\t\ttarget : node\n\t\t\tThe target node.\n\t\tstorePred : bool\n\t\t\tIf true, the algorithm will also store the predecessors\n\t\t\tand reconstruct a shortest path from @a source and @a target.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_STSP, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_STSP, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_BidirectionalBFS, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_4STSP_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_BidirectionalBFS, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_BidirectionalDijkstra(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_STSP(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_21BidirectionalDijkstra_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_BidirectionalDijkstra[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21BidirectionalDijkstra_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21BidirectionalDijkstra_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_BidirectionalDijkstra = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.BidirectionalDijkstra", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_BidirectionalDijkstra), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_STSP, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\t\tBidirectional implementation of the Dijkstra algorithm from\n\t\ttwo given source and target nodes.\n\t\tExplores the graph from both the source and target nodes until\n\t\tthe two explorations meet.\n\n\t\tParameters\n\t\t----------\n\n\t\tG : networkit.Graph\n\t\t\tThe input graph.\n\t\tsource : node\n\t\t\tThe source node.\n\t\ttarget : node\n\t\t\tThe target node.\n\t\tstorePred : bool\n\t\t\tIf true, the algorithm will also store the predecessors\n\t\t\tand reconstruct a shortest path from @a source and @a target.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_STSP, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_STSP, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_BidirectionalDijkstra, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_4STSP_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_BidirectionalDijkstra, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_AStar(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_AStar *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_STSP(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_AStar *)o);
  new((void*)&(p->heu)) std::vector<double> ();
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_5AStar_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_AStar(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_AStar *p = (struct __pyx_obj_9networkit_10_NetworKit_AStar *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->heu);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_STSP(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_AStar[] = {
  {"run", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5AStar_3run, METH_NOARGS, 0},
  {"getPath", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5AStar_5getPath, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5AStar_4getPath},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5AStar_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5AStar_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_AStar = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.AStar", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_AStar), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_AStar, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tA* path-finding algorithm.\n\n\tParameters\n\t----------\n\n\tG : networkit.Graph\n\t\tThe input graph.\n\theu : list\n\t\tList of lower bounds of the distance of each node to the target.\n\tsource : node\n\t\tThe source node.\n\ttarget : node\n\t\tThe target node.\n\tstorePred : bool\n\t\tIf true, the algorithm will also store the predecessors\n\t\tand reconstruct a shortest path from @a source and @a target.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_STSP, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_STSP, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_AStar, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_4STSP_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_AStar, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_SSSP(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_SSSP *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_SSSP *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_SSSP(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_SSSP *p = (struct __pyx_obj_9networkit_10_NetworKit_SSSP *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_SSSP(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_SSSP *p = (struct __pyx_obj_9networkit_10_NetworKit_SSSP *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_SSSP)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_SSSP(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_SSSP *p = (struct __pyx_obj_9networkit_10_NetworKit_SSSP *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_SSSP);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_SSSP[] = {
  {"getDistances", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_4SSSP_3getDistances, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_4SSSP_2getDistances},
  {"distance", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_4SSSP_5distance, METH_O, __pyx_doc_9networkit_10_NetworKit_4SSSP_4distance},
  {"getPredecessors", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_4SSSP_7getPredecessors, METH_O, __pyx_doc_9networkit_10_NetworKit_4SSSP_6getPredecessors},
  {"getPath", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_4SSSP_9getPath, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_4SSSP_8getPath},
  {"getPaths", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_4SSSP_11getPaths, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_4SSSP_10getPaths},
  {"getNodesSortedByDistance", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_4SSSP_13getNodesSortedByDistance, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_4SSSP_12getNodesSortedByDistance},
  {"numberOfPaths", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_4SSSP_15numberOfPaths, METH_O, __pyx_doc_9networkit_10_NetworKit_4SSSP_14numberOfPaths},
  {"setSource", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_4SSSP_17setSource, METH_O, __pyx_doc_9networkit_10_NetworKit_4SSSP_16setSource},
  {"setTarget", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_4SSSP_19setTarget, METH_O, __pyx_doc_9networkit_10_NetworKit_4SSSP_18setTarget},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_4SSSP_21__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_4SSSP_23__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_SSSP = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.SSSP", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_SSSP), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_SSSP, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Base class for single source shortest path algorithms. ", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_SSSP, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_SSSP, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_SSSP, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_9networkit_10_NetworKit_4SSSP_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_SSSP, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynSSSP(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_SSSP(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_DynSSSP[] = {
  {"update", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_7DynSSSP_3update, METH_O, __pyx_doc_9networkit_10_NetworKit_7DynSSSP_2update},
  {"updateBatch", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_7DynSSSP_5updateBatch, METH_O, __pyx_doc_9networkit_10_NetworKit_7DynSSSP_4updateBatch},
  {"modified", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_7DynSSSP_7modified, METH_NOARGS, 0},
  {"setTargetNode", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_7DynSSSP_9setTargetNode, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_7DynSSSP_11__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_7DynSSSP_13__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_DynSSSP = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.DynSSSP", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_DynSSSP), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_SSSP, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Base class for single source shortest path algorithms in dynamic graphs. ", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_SSSP, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_SSSP, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_DynSSSP, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_9networkit_10_NetworKit_7DynSSSP_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_DynSSSP, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_BFS(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_SSSP(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_3BFS_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_BFS[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_3BFS_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_3BFS_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_BFS = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.BFS", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_BFS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_SSSP, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Simple breadth-first search on a Graph from a given source\n\n\tBFS(G, source, storePaths=True, storeNodesSortedByDistance=False, target=None)\n\n\tCreate BFS for `G` and source node `source`.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph.\n\tsource : node\n\t\tThe source node of the breadth-first search.\n\tstorePaths : bool\n\t\tstore paths and number of paths?\n\ttarget: node\n\t\tterminate search when the target has been reached\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_SSSP, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_SSSP, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_BFS, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_4SSSP_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_BFS, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynBFS(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_DynSSSP(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_6DynBFS_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_DynBFS[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_6DynBFS_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_6DynBFS_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_DynBFS = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.DynBFS", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_DynBFS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_SSSP, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Dynamic version of BFS.\n\n\tDynBFS(G, source)\n\n\tCreate DynBFS for `G` and source node `source`.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph.\n\tsource : node\n\t\tThe source node of the breadth-first search.\n\tstoreStack : bool\n\t\tmaintain a stack of nodes in order of decreasing distance?\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_SSSP, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_SSSP, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_DynBFS, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_7DynSSSP_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_DynBFS, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ReverseBFS(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_SSSP(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_10ReverseBFS_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_ReverseBFS[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_10ReverseBFS_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_10ReverseBFS_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_ReverseBFS = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.ReverseBFS", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_ReverseBFS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_SSSP, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Simple reverse breadth-first search on a Graph from a given source\n\n\tReverseBFS(G, source, storePaths=True, storeNodesSortedByDistance=False, target=None)\n\n\tCreate ReverseBFS for `G` and source node `source`.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph.\n\tsource : node\n\t\tThe source node of the breadth-first search.\n\tstorePaths : bool\n\t\tPaths are reconstructable and the number of paths is stored.\n\ttarget: node\n\t\tterminate search when the target has been reached\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_SSSP, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_SSSP, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_ReverseBFS, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_4SSSP_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_ReverseBFS, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Dijkstra(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_SSSP(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_8Dijkstra_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_Dijkstra[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_8Dijkstra_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_8Dijkstra_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_Dijkstra = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.Dijkstra", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_Dijkstra), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_SSSP, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Dijkstra's SSSP algorithm.\n\tReturns list of weighted distances from node source, i.e. the length of the shortest path from source to\n\tany other node.\n\n    Dijkstra(G, source, storePaths=True, storeNodesSortedByDistance=False, target=None)\n\n    Creates Dijkstra for `G` and source node `source`.\n\n    Parameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph.\n\tsource : node\n\t\tThe source node.\n\tstorePaths : bool\n\t\tPaths are reconstructable and the number of paths is stored.\n\tstoreNodesSortedByDistance: bool\n\t\tStore a vector of nodes ordered in increasing distance from the source.\n\ttarget : node\n\t\ttarget node. Search ends when target node is reached. t is set to None by default.\n    ", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_SSSP, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_SSSP, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_Dijkstra, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_4SSSP_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_Dijkstra, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynDijkstra(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_DynSSSP(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_11DynDijkstra_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_DynDijkstra[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11DynDijkstra_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11DynDijkstra_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_DynDijkstra = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.DynDijkstra", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_DynDijkstra), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_SSSP, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Dynamic version of Dijkstra.\n\n\tDynDijkstra(G, source)\n\n\tCreate DynDijkstra for `G` and source node `source`.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph.\n\tsource : node\n\t\tThe source node of the breadth-first search.\n\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_SSSP, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_SSSP, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_DynDijkstra, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_7DynSSSP_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_DynDijkstra, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_AllSimplePaths(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_14AllSimplePaths_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_AllSimplePaths(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *p = (struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_14AllSimplePaths_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_G);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_AllSimplePaths(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *p = (struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *)o;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_AllSimplePaths(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *p = (struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths *)o;
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_AllSimplePaths[] = {
  {"run", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14AllSimplePaths_5run, METH_NOARGS, 0},
  {"numberOfSimplePaths", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14AllSimplePaths_7numberOfSimplePaths, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_14AllSimplePaths_6numberOfSimplePaths},
  {"getAllSimplePaths", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14AllSimplePaths_9getAllSimplePaths, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_14AllSimplePaths_8getAllSimplePaths},
  {"forAllSimplePaths", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14AllSimplePaths_11forAllSimplePaths, METH_O, __pyx_doc_9networkit_10_NetworKit_14AllSimplePaths_10forAllSimplePaths},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14AllSimplePaths_13__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14AllSimplePaths_15__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_AllSimplePaths = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.AllSimplePaths", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_AllSimplePaths), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_AllSimplePaths, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Algorithm to compute all existing simple paths from a source node to a target node. The maximum length of the paths can be fixed through 'cutoff'.\n\t\tCAUTION: This algorithm could take a lot of time on large networks (many edges), especially if the cutoff value is high or not specified.\n\n\tAllSimplePaths(G, source, target, cutoff=none)\n\n\tCreate AllSimplePaths for `G`, source node `source`, target node 'target' and cutoff 'cutoff'.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph.\n\tsource : node\n\t\tThe source node.\n\ttarget : node\n\t\tThe target node.\n\tcutoff : count\n\t\t(optional) The maximum length of the simple paths.\n\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_AllSimplePaths, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_AllSimplePaths, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_AllSimplePaths, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_AllSimplePaths, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_APSP(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_APSP *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_APSP *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_4APSP_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_APSP(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_APSP *p = (struct __pyx_obj_9networkit_10_NetworKit_APSP *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_4APSP_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_APSP(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_APSP *p = (struct __pyx_obj_9networkit_10_NetworKit_APSP *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_APSP)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_APSP(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_APSP *p = (struct __pyx_obj_9networkit_10_NetworKit_APSP *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_APSP);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_APSP[] = {
  {"getDistances", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_4APSP_5getDistances, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_4APSP_4getDistances},
  {"getDistance", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_4APSP_7getDistance, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_4APSP_6getDistance},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_4APSP_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_4APSP_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_APSP = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.APSP", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_APSP), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_APSP, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " All-Pairs Shortest-Paths algorithm (implemented running Dijkstra's algorithm from each node, or BFS if G is unweighted).\n\n    APSP(G)\n\n    Computes all pairwise shortest-path distances in G.\n\n    Parameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph.\n    ", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_APSP, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_APSP, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_APSP, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_APSP, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynAPSP(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_APSP(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_DynAPSP[] = {
  {"update", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_7DynAPSP_3update, METH_O, __pyx_doc_9networkit_10_NetworKit_7DynAPSP_2update},
  {"updateBatch", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_7DynAPSP_5updateBatch, METH_O, __pyx_doc_9networkit_10_NetworKit_7DynAPSP_4updateBatch},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_7DynAPSP_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_7DynAPSP_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_DynAPSP = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.DynAPSP", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_DynAPSP), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_APSP, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " All-Pairs Shortest-Paths algorithm for dynamic graphs.\n\n\t\tDynAPSP(G)\n\n\t\tComputes all pairwise shortest-path distances in G.\n\n\t\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph.\n\t\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_APSP, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_APSP, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_DynAPSP, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_9networkit_10_NetworKit_7DynAPSP_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_DynAPSP, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_SpanningForest(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_SpanningForest *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_SpanningForest *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_14SpanningForest_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_SpanningForest(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_SpanningForest *p = (struct __pyx_obj_9networkit_10_NetworKit_SpanningForest *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_14SpanningForest_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_G);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_SpanningForest(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_SpanningForest *p = (struct __pyx_obj_9networkit_10_NetworKit_SpanningForest *)o;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_SpanningForest(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_SpanningForest *p = (struct __pyx_obj_9networkit_10_NetworKit_SpanningForest *)o;
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_SpanningForest[] = {
  {"generate", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14SpanningForest_5generate, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14SpanningForest_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14SpanningForest_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_SpanningForest = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.SpanningForest", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_SpanningForest), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_SpanningForest, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Generates a spanning forest for a given graph\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe graph.\n\t\tnodes : list\n\t\t\tA subset of nodes of `G` which induce the subgraph.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_SpanningForest, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_SpanningForest, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_SpanningForest, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_SpanningForest, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_UnionMaximumSpanningForest(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_26UnionMaximumSpanningForest_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_UnionMaximumSpanningForest(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest *p = (struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_UnionMaximumSpanningForest(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest *p = (struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_UnionMaximumSpanningForest)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_UnionMaximumSpanningForest(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest *p = (struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_UnionMaximumSpanningForest);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_UnionMaximumSpanningForest[] = {
  {"getUMSF", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_26UnionMaximumSpanningForest_3getUMSF, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_26UnionMaximumSpanningForest_2getUMSF},
  {"getAttribute", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_26UnionMaximumSpanningForest_5getAttribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_26UnionMaximumSpanningForest_4getAttribute},
  {"inUMST", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_26UnionMaximumSpanningForest_7inUMST, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_26UnionMaximumSpanningForest_6inUMST},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_26UnionMaximumSpanningForest_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_26UnionMaximumSpanningForest_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_UnionMaximumSpanningForest = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.UnionMaximumSpanningForest", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_UnionMaximumSpanningForest), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_UnionMaximumSpanningForest, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tUnion maximum-weight spanning forest algorithm, computes the union of all maximum-weight spanning forests using Kruskal's algorithm.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe input graph.\n\tattribute : list\n\t\tIf given, this edge attribute is used instead of the edge weights.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_UnionMaximumSpanningForest, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_UnionMaximumSpanningForest, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_UnionMaximumSpanningForest, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_UnionMaximumSpanningForest, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_RandomMaximumSpanningForest(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest *)o);
  new((void*)&(p->_attribute)) std::vector<double> ();
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_27RandomMaximumSpanningForest_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_RandomMaximumSpanningForest(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest *p = (struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_attribute);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_RandomMaximumSpanningForest(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest *p = (struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_RandomMaximumSpanningForest)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_RandomMaximumSpanningForest(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest *p = (struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_RandomMaximumSpanningForest);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_RandomMaximumSpanningForest[] = {
  {"getMSF", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_27RandomMaximumSpanningForest_3getMSF, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_27RandomMaximumSpanningForest_2getMSF},
  {"getAttribute", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_27RandomMaximumSpanningForest_5getAttribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_27RandomMaximumSpanningForest_4getAttribute},
  {"inMSF", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_27RandomMaximumSpanningForest_7inMSF, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_27RandomMaximumSpanningForest_6inMSF},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_27RandomMaximumSpanningForest_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_27RandomMaximumSpanningForest_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_RandomMaximumSpanningForest = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.RandomMaximumSpanningForest", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_RandomMaximumSpanningForest), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_RandomMaximumSpanningForest, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tComputes a random maximum-weight spanning forest using Kruskal's algorithm by randomizing the order of edges of the same weight.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe input graph.\n\tattribute : list\n\t\tIf given, this edge attribute is used instead of the edge weights.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_RandomMaximumSpanningForest, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_RandomMaximumSpanningForest, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_RandomMaximumSpanningForest, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_RandomMaximumSpanningForest, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Luby(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_Luby *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_Luby *)o);
  new((void*)&(p->_this)) NetworKit::Luby();
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_Luby(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_Luby *p = (struct __pyx_obj_9networkit_10_NetworKit_Luby *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_Luby[] = {
  {"run", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_4Luby_1run, METH_O, __pyx_doc_9networkit_10_NetworKit_4Luby_run},
  {"toString", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_4Luby_3toString, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_4Luby_2toString},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_4Luby_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_4Luby_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_Luby = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.Luby", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_Luby), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Luby, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Luby's parallel maximal independent set algorithm", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_Luby, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_Luby, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_BarabasiAlbertGenerator(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_StaticGraphGenerator(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_23BarabasiAlbertGenerator_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_BarabasiAlbertGenerator[] = {
  {"fit", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_23BarabasiAlbertGenerator_3fit, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_23BarabasiAlbertGenerator_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_23BarabasiAlbertGenerator_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_BarabasiAlbertGenerator = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.BarabasiAlbertGenerator", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_BarabasiAlbertGenerator), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_StaticGraphGenerator, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tThis generator implements the preferential attachment model as introduced by Barabasi and Albert[1].\n\tThe original algorithm is very slow and thus, the much faster method from Batagelj and Brandes[2] is\n\timplemented and the current default.\n\tThe original method can be chosen by setting \\p batagelj to false.\n\t[1] Barabasi, Albert: Emergence of Scaling in Random Networks http://arxiv.org/pdf/cond-mat/9910332.pdf\n\t[2] ALG 5 of Batagelj, Brandes: Efficient Generation of Large Random Networks https://kops.uni-konstanz.de/bitstream/handle/123456789/5799/random.pdf?sequence=1\n\n    BarabasiAlbertGenerator(k, nMax, n0=0, batagelj=True)\n\n\tParameters\n\t----------\n\tk : count\n\t\tnumber of edges that come with a new node\n\tnMax : count\n\t\tmaximum number of nodes produced\n\tn0 : count\n\t\tnumber of starting nodes\n\tbatagelj : bool\n\t\tSpecifies whether to use batagelj's method or the original one.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_BarabasiAlbertGenerator, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_BarabasiAlbertGenerator, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PubWebGenerator(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_StaticGraphGenerator(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_15PubWebGenerator_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_PubWebGenerator[] = {
  {"getCoordinates", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15PubWebGenerator_3getCoordinates, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_15PubWebGenerator_2getCoordinates},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15PubWebGenerator_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15PubWebGenerator_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_PubWebGenerator = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.PubWebGenerator", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_PubWebGenerator), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_StaticGraphGenerator, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Generates a static graph that resembles an assumed geometric distribution of nodes in\n\ta P2P network.\n\n\tThe basic structure is to distribute points randomly in the unit torus\n\tand to connect vertices close to each other (at most @a neighRad distance and none of\n\tthem already has @a maxNeigh neighbors). The distribution is chosen to get some areas with\n\thigh density and others with low density. There are @a numDenseAreas dense areas, which can\n\toverlap. Each area is circular, has a certain position and radius and number of points.\n\tThese values are strored in @a denseAreaXYR and @a numPerArea, respectively.\n\n\tUsed and described in more detail in J. Gehweiler, H. Meyerhenke: A Distributed\n\tDiffusive Heuristic for Clustering a Virtual P2P Supercomputer. In Proc. 7th High-Performance\n\tGrid Computing Workshop (HPGC'10), in conjunction with 24th IEEE Internatl. Parallel and\n\tDistributed Processing Symposium (IPDPS'10), IEEE, 2010.\n\n\tPubWebGenerator(numNodes, numberOfDenseAreas, neighborhoodRadius, maxNumberOfNeighbors)\n\n\tParameters\n\t----------\n\tnumNodes : count\n\t\tUp to a few thousand (possibly more if visualization is not desired and quadratic\n\t\ttime complexity has been resolved)\n\tnumberOfDenseAreas : count\n\t\tDepending on number of nodes, e.g. [8, 50]\n\tneighborhoodRadius : float\n\t\tThe higher, the better the connectivity [0.1, 0.35]\n\tmaxNumberOfNeighbors : count\n\t\tMaximum degree, a higher value corresponds to better connectivity [4, 40]\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_PubWebGenerator, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_PubWebGenerator, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ErdosRenyiGenerator(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_StaticGraphGenerator(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_19ErdosRenyiGenerator_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_ErdosRenyiGenerator[] = {
  {"fit", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_19ErdosRenyiGenerator_3fit, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_19ErdosRenyiGenerator_2fit},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19ErdosRenyiGenerator_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19ErdosRenyiGenerator_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_ErdosRenyiGenerator = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.ErdosRenyiGenerator", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_ErdosRenyiGenerator), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_StaticGraphGenerator, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Creates random graphs in the G(n,p) model.\n\tThe generation follows Vladimir Batagelj and Ulrik Brandes: \"Efficient\n\tgeneration of large random networks\", Phys Rev E 71, 036113 (2005).\n\n\tErdosRenyiGenerator(count nNodes, double prob, directed = False, selfLoops = False)\n\n\tCreates G(nNodes, prob) graphs.\n\n\tParameters\n\t----------\n\tnNodes : count\n\t\tNumber of nodes n in the graph.\n\tprob : double\n\t\tProbability of existence for each edge p.\n\tdirected : bool\n\t\tGenerates a directed\n\tselfLoops : bool\n\t\tAllows self-loops to be generated (only for directed graphs)\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_ErdosRenyiGenerator, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_ErdosRenyiGenerator, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DorogovtsevMendesGenerator(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_StaticGraphGenerator(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_26DorogovtsevMendesGenerator_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_DorogovtsevMendesGenerator[] = {
  {"fit", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_26DorogovtsevMendesGenerator_3fit, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_26DorogovtsevMendesGenerator_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_26DorogovtsevMendesGenerator_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_DorogovtsevMendesGenerator = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.DorogovtsevMendesGenerator", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_DorogovtsevMendesGenerator), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_StaticGraphGenerator, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Generates a graph according to the Dorogovtsev-Mendes model.\n\n \tDorogovtsevMendesGenerator(nNodes)\n\n \tConstructs the generator class.\n\n\tParameters\n\t----------\n\tnNodes : count\n\t\tNumber of nodes in the target graph.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_DorogovtsevMendesGenerator, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_DorogovtsevMendesGenerator, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_RegularRingLatticeGenerator(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_StaticGraphGenerator(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_27RegularRingLatticeGenerator_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_RegularRingLatticeGenerator[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_27RegularRingLatticeGenerator_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_27RegularRingLatticeGenerator_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_RegularRingLatticeGenerator = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.RegularRingLatticeGenerator", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_RegularRingLatticeGenerator), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_StaticGraphGenerator, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tConstructs a regular ring lattice.\n\n\tRegularRingLatticeGenerator(count nNodes, count nNeighbors)\n\n\tConstructs the generator.\n\n\tParameters\n\t----------\n\tnNodes : number of nodes in the target graph.\n\tnNeighbors : number of neighbors on each side of a node\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_RegularRingLatticeGenerator, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_RegularRingLatticeGenerator, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_WattsStrogatzGenerator(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_StaticGraphGenerator(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_22WattsStrogatzGenerator_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_WattsStrogatzGenerator[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22WattsStrogatzGenerator_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22WattsStrogatzGenerator_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_WattsStrogatzGenerator = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.WattsStrogatzGenerator", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_WattsStrogatzGenerator), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_StaticGraphGenerator, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Generates a graph according to the Watts-Strogatz model.\n\n\tFirst, a regular ring lattice is generated. Then edges are rewired\n\t\twith a given probability.\n\n\tWattsStrogatzGenerator(count nNodes, count nNeighbors, double p)\n\n\tConstructs the generator.\n\n\tParameters\n\t----------\n\tnNodes : Number of nodes in the target graph.\n\tnNeighbors : number of neighbors on each side of a node\n\tp : rewiring probability\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_WattsStrogatzGenerator, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_WattsStrogatzGenerator, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ClusteredRandomGraphGenerator(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_StaticGraphGenerator(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_29ClusteredRandomGraphGenerator_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_ClusteredRandomGraphGenerator[] = {
  {"getCommunities", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_29ClusteredRandomGraphGenerator_3getCommunities, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_29ClusteredRandomGraphGenerator_2getCommunities},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_29ClusteredRandomGraphGenerator_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_29ClusteredRandomGraphGenerator_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_ClusteredRandomGraphGenerator = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.ClusteredRandomGraphGenerator", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_ClusteredRandomGraphGenerator), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_StaticGraphGenerator, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " The ClusteredRandomGraphGenerator class is used to create a clustered random graph.\n\n\tThe number of nodes and the number of edges are adjustable as well as the probabilities\n\tfor intra-cluster and inter-cluster edges.\n\n\tClusteredRandomGraphGenerator(count, count, pin, pout)\n\n\tCreates a clustered random graph.\n\n\tParameters\n\t----------\n\tn : count\n\t\tnumber of nodes\n\tk : count\n\t\tnumber of clusters\n\tpin : double\n\t\tintra-cluster edge probability\n\tpout : double\n\t\tinter-cluster edge probability\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_ClusteredRandomGraphGenerator, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_ClusteredRandomGraphGenerator, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ChungLuGenerator(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_StaticGraphGenerator(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_16ChungLuGenerator_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_ChungLuGenerator[] = {
  {"fit", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_16ChungLuGenerator_3fit, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_16ChungLuGenerator_2fit},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_16ChungLuGenerator_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_16ChungLuGenerator_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_ChungLuGenerator = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.ChungLuGenerator", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_ChungLuGenerator), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_StaticGraphGenerator, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\t\tGiven an arbitrary degree sequence, the Chung-Lu generative model\n\t\twill produce a random graph with the same expected degree sequence.\n\n\t\tsee Chung, Lu: The average distances in random graphs with given expected degrees\n\t\tand Chung, Lu: Connected Components in Random Graphs with Given Expected Degree Sequences.\n\t\tAiello, Chung, Lu: A Random Graph Model for Massive Graphs describes a different generative model\n\t\twhich is basically asymptotically equivalent but produces multi-graphs.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_ChungLuGenerator, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_ChungLuGenerator, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_HavelHakimiGenerator(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_StaticGraphGenerator(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_20HavelHakimiGenerator_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_HavelHakimiGenerator[] = {
  {"isRealizable", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20HavelHakimiGenerator_3isRealizable, METH_NOARGS, 0},
  {"getRealizable", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20HavelHakimiGenerator_5getRealizable, METH_NOARGS, 0},
  {"fit", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_20HavelHakimiGenerator_7fit, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20HavelHakimiGenerator_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20HavelHakimiGenerator_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_HavelHakimiGenerator = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.HavelHakimiGenerator", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_HavelHakimiGenerator), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_StaticGraphGenerator, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Havel-Hakimi algorithm for generating a graph according to a given degree sequence.\n\n\t\tThe sequence, if it is realizable, is reconstructed exactly. The resulting graph usually\n\t\thas a high clustering coefficient. Construction runs in linear time O(m).\n\n\t\tIf the sequence is not realizable, depending on the parameter ignoreIfRealizable, either\n\t\tan exception is thrown during generation or the graph is generated with a modified degree\n\t\tsequence, i.e. not all nodes might have as many neighbors as requested.\n\n\t\tHavelHakimiGenerator(sequence, ignoreIfRealizable=True)\n\n\t\tParameters\n\t\t----------\n\t\tsequence : vector\n\t\t\tDegree sequence to realize. Must be non-increasing.\n\t\tignoreIfRealizable : bool, optional\n\t\t\tIf true, generate the graph even if the degree sequence is not realizable. Some nodes may get lower degrees than requested in the sequence.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_HavelHakimiGenerator, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_HavelHakimiGenerator, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_StaticGraphGenerator(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator[] = {
  {"isRealizable", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_3isRealizable, METH_NOARGS, 0},
  {"getRealizable", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_5getRealizable, METH_NOARGS, 0},
  {"fit", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_7fit, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_33EdgeSwitchingMarkovChainGenerator_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.EdgeSwitchingMarkovChainGenerator", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_StaticGraphGenerator, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tGraph generator for generating a random simple graph with exactly the given degree sequence based on the Edge-Switching Markov-Chain method.\n\n\tThis implementation is based on the paper\n\t\"Random generation of large connected simple graphs with prescribed degree distribution\" by Fabien Viger and Matthieu Latapy,\n\tavailable at http://www-rp.lip6.fr/~latapy/FV/generation.html, however without preserving connectivity (this could later be added as\n\toptional feature).\n\n\tThe Havel-Hakami generator is used for the initial graph generation, then the Markov-Chain Monte-Carlo algorithm as described and\n\timplemented by Fabien Viger and Matthieu Latapy but without the steps for ensuring connectivity is executed. This should lead to a\n\tgraph that is drawn uniformly at random from all graphs with the given degree sequence.\n\n\tNote that at most 10 times the number of edges edge swaps are performed (same number as in the abovementioned implementation) and\n\tin order to limit the running time, at most 200 times as many attempts to perform an edge swap are made (as certain degree distributions\n\tdo not allow edge swaps at all).\n\n\tParameters\n\t----------\n\tdegreeSequence : vector[count]\n\t\tThe degree sequence that shall be generated\n\tignoreIfRealizable : bool, optional\n\t\tIf true, generate the graph even if the degree sequence is not realizable. Some nodes may get lower degrees than requested in the sequence.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_HyperbolicGenerator(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_StaticGraphGenerator(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_19HyperbolicGenerator_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_HyperbolicGenerator[] = {
  {"setLeafCapacity", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19HyperbolicGenerator_3setLeafCapacity, METH_O, 0},
  {"setBalance", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19HyperbolicGenerator_5setBalance, METH_O, 0},
  {"setTheoreticalSplit", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19HyperbolicGenerator_7setTheoreticalSplit, METH_O, 0},
  {"getElapsedMilliseconds", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19HyperbolicGenerator_9getElapsedMilliseconds, METH_NOARGS, 0},
  {"generate_advanced", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_19HyperbolicGenerator_11generate_advanced, METH_VARARGS|METH_KEYWORDS, 0},
  {"fit", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_19HyperbolicGenerator_13fit, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_19HyperbolicGenerator_12fit},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19HyperbolicGenerator_15__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19HyperbolicGenerator_17__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_HyperbolicGenerator = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.HyperbolicGenerator", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_HyperbolicGenerator), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_StaticGraphGenerator, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " The Hyperbolic Generator distributes points in hyperbolic space and adds edges between points with a probability depending on their distance. The resulting graphs have a power-law degree distribution, small diameter and high clustering coefficient.\nFor a temperature of 0, the model resembles a unit-disk model in hyperbolic space.\n\n\t\tHyperbolicGenerator(n=10000, k=6, gamma=3, T=0)\n\n \t\tParameters\n\t\t----------\n\t\tn : int\n\t\t\tnumber of nodes\n\t\tk : double\n\t\t\taverage degree\n\t\tgamma : double\n\t\t\texponent of power-law degree distribution\n\t\tT : double\n\t\t\ttemperature of statistical model\n\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_HyperbolicGenerator, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_HyperbolicGenerator, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_MocnikGenerator(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_StaticGraphGenerator(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_15MocnikGenerator_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_MocnikGenerator[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15MocnikGenerator_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15MocnikGenerator_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_MocnikGenerator = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.MocnikGenerator", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_MocnikGenerator), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_StaticGraphGenerator, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tCreates random spatial graphs according to the Mocnik model.\n\n\tPlease cite the following publications, in which you will find a\n\tdescription of the model:\n\n\tFranz-Benjamin Mocnik: \"The Polynomial Volume Law of Complex Networks in\n\tthe Context of Local and Global Optimization\", Scientific Reports 8(11274)\n\t2018. doi: 10.1038/s41598-018-29131-0\n\n\tFranz-Benjamin Mocnik, Andrew Frank: \"Modelling Spatial Structures\",\n\tProceedings of the 12th Conference on Spatial Information Theory (COSIT),\n\t2015, pages 44-64. doi: 10.1007/978-3-319-23374-1_3\n\n\tImproved algorithm.\n\n\tMocnikGenerator(dim, n, k, weighted)\n\n\tParameters\n\t----------\n\tdim : count\n\t\tDimension of the space.\n\tn : count\n\t\tNumber of nodes in the graph; or a list containing the numbers\n\t\t\t\tof nodes in each layer in case of a hierarchical model.\n\tk : double\n\t\tDensity parameter, determining the ratio of edges to nodes; in\n\t\t\t\tcase of a hierarchical model, also a list of density parameters can be\n\t\t\t\tprovided.\n \tweighted : bool\n\t\tDetermines whether weights should be added to the edges;\n\t\t\t\tin case of a hierarchical model, also a list of relative weights can be\n\t\t\t\tprovided.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_MocnikGenerator, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_MocnikGenerator, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_MocnikGeneratorBasic(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_StaticGraphGenerator(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_20MocnikGeneratorBasic_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_MocnikGeneratorBasic[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20MocnikGeneratorBasic_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20MocnikGeneratorBasic_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_MocnikGeneratorBasic = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.MocnikGeneratorBasic", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_MocnikGeneratorBasic), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_StaticGraphGenerator, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tCreates random spatial graphs according to the Mocnik model.\n\n\tPlease cite the following publications, in which you will find a\n\tdescription of the model:\n\n\tFranz-Benjamin Mocnik: \"The Polynomial Volume Law of Complex Networks in\n\tthe Context of Local and Global Optimization\", Scientific Reports 8(11274)\n\t2018. doi: 10.1038/s41598-018-29131-0\n\n\tFranz-Benjamin Mocnik, Andrew Frank: \"Modelling Spatial Structures\",\n\tProceedings of the 12th Conference on Spatial Information Theory (COSIT),\n\t2015, pages 44-64. doi: 10.1007/978-3-319-23374-1_3\n\n\tNon-improved algorithm.\n\n\tMocnikGeneratorBasic(dim, n, k)\n\n\tParameters\n\t----------\n\tdim : count\n\tDimension of the space.\n\tn : count\n\t\tNumber of nodes in the graph.\n\tk : double\n\t\tDensity parameter, determining the ratio of edges to nodes.\n\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_MocnikGeneratorBasic, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_MocnikGeneratorBasic, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_RmatGenerator(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_StaticGraphGenerator(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_13RmatGenerator_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_RmatGenerator[] = {
  {"setPaths", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_13RmatGenerator_3setPaths, METH_O, 0},
  {"fit", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_13RmatGenerator_5fit, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_13RmatGenerator_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_13RmatGenerator_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_RmatGenerator = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.RmatGenerator", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_RmatGenerator), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_StaticGraphGenerator, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tGenerates static R-MAT graphs. R-MAT (recursive matrix) graphs are\n\trandom graphs with n=2^scale nodes and m=nedgeFactor edges.\n\tMore details at http://www.graph500.org or in the original paper:\n\tDeepayan Chakrabarti, Yiping Zhan, Christos Faloutsos:\n\tR-MAT: A Recursive Model for Graph Mining. SDM 2004: 442-446.\n\n\tRmatGenerator(scale, edgeFactor, a, b, c, d, weighted=False, reduceNodes=0)\n\n\tParameters\n\t----------\n\tscale : count\n\t\tNumber of nodes = 2^scale\n\tedgeFactor : count\n\t\tNumber of edges = number of nodes * edgeFactor\n\ta : double\n\t\tProbability for quadrant upper left\n\tb : double\n\t\tProbability for quadrant upper right\n\tc : double\n\t\tProbability for quadrant lower left\n\td : double\n\t\tProbability for quadrant lower right\n\tweighted : bool\n\t\tresult graph weighted?\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_RmatGenerator, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_20StaticGraphGenerator_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_RmatGenerator, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PowerlawDegreeSequence(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_PowerlawDegreeSequence(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_PowerlawDegreeSequence[] = {
  {"setMinimumFromAverageDegree", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_5setMinimumFromAverageDegree, METH_O, __pyx_doc_9networkit_10_NetworKit_22PowerlawDegreeSequence_4setMinimumFromAverageDegree},
  {"setGammaFromAverageDegree", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_7setGammaFromAverageDegree, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_22PowerlawDegreeSequence_6setGammaFromAverageDegree},
  {"getExpectedAverageDegree", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_9getExpectedAverageDegree, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_22PowerlawDegreeSequence_8getExpectedAverageDegree},
  {"getMinimumDegree", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_11getMinimumDegree, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_22PowerlawDegreeSequence_10getMinimumDegree},
  {"setGamma", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_13setGamma, METH_O, __pyx_doc_9networkit_10_NetworKit_22PowerlawDegreeSequence_12setGamma},
  {"getGamma", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_15getGamma, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_22PowerlawDegreeSequence_14getGamma},
  {"getMaximumDegree", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_17getMaximumDegree, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_22PowerlawDegreeSequence_16getMaximumDegree},
  {"run", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_19run, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_22PowerlawDegreeSequence_18run},
  {"getDegreeSequence", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_21getDegreeSequence, METH_O, __pyx_doc_9networkit_10_NetworKit_22PowerlawDegreeSequence_20getDegreeSequence},
  {"getDegree", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_23getDegree, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_22PowerlawDegreeSequence_22getDegree},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_25__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22PowerlawDegreeSequence_27__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_PowerlawDegreeSequence = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.PowerlawDegreeSequence", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_PowerlawDegreeSequence), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_PowerlawDegreeSequence, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tGenerates a powerlaw degree sequence with the given minimum and maximum degree, the powerlaw exponent gamma\n\n\tIf a list of degrees or a graph is given instead of a minimum degree, the class uses the minimum and maximum\n\tvalue of the sequence and fits the exponent such that the expected average degree is the actual average degree.\n\n\tPowerlawDegreeSequence(minDeg, maxDeg, gamma)\n\n\tPowerlawDegreeSequence(degreeSequence)\n\n\tPowerlawDegreeSequence(G)\n\n\tParameters\n\t----------\n\tminDeg : count, list or networkit.Graph\n\t\tThe minium degree, or a list of degrees to fit or graphs\n\tmaxDeg : count\n\t\tThe maximum degree\n\tgamma : double\n\t\tThe powerlaw exponent, default: -2\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_PowerlawDegreeSequence, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_PowerlawDegreeSequence, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LFRGenerator(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_LFRGenerator[] = {
  {"setDegreeSequence", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_3setDegreeSequence, METH_O, __pyx_doc_9networkit_10_NetworKit_12LFRGenerator_2setDegreeSequence},
  {"generatePowerlawDegreeSequence", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_5generatePowerlawDegreeSequence, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_12LFRGenerator_4generatePowerlawDegreeSequence},
  {"setCommunitySizeSequence", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_7setCommunitySizeSequence, METH_O, __pyx_doc_9networkit_10_NetworKit_12LFRGenerator_6setCommunitySizeSequence},
  {"setPartition", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_9setPartition, METH_O, __pyx_doc_9networkit_10_NetworKit_12LFRGenerator_8setPartition},
  {"generatePowerlawCommunitySizeSequence", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_11generatePowerlawCommunitySizeSequence, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_12LFRGenerator_10generatePowerlawCommunitySizeSequence},
  {"setMu", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_13setMu, METH_O, __pyx_doc_9networkit_10_NetworKit_12LFRGenerator_12setMu},
  {"setMuWithBinomialDistribution", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_15setMuWithBinomialDistribution, METH_O, __pyx_doc_9networkit_10_NetworKit_12LFRGenerator_14setMuWithBinomialDistribution},
  {"getGraph", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_17getGraph, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_12LFRGenerator_16getGraph},
  {"generate", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_19generate, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_12LFRGenerator_18generate},
  {"getPartition", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_21getPartition, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_12LFRGenerator_20getPartition},
  {"setPathToReferenceImplementationDir", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_23setPathToReferenceImplementationDir, METH_O, 0},
  {"fit", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_25fit, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_12LFRGenerator_24fit},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_27__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12LFRGenerator_29__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_LFRGenerator = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.LFRGenerator", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_LFRGenerator), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tThe LFR clustered graph generator as introduced by Andrea Lancichinetti, Santo Fortunato, and Filippo Radicchi.\n\n\tThe community assignment follows the algorithm described in\n\t\"Benchmark graphs for testing community detection algorithms\". The edge generation is however taken from their follow-up publication\n\t\"Benchmarks for testing community detection algorithms on directed and weighted graphs with overlapping communities\". Parts of the\n\timplementation follow the choices made in their implementation which is available at https://sites.google.com/site/andrealancichinetti/software\n\tbut other parts differ, for example some more checks for the realizability of the community and degree size distributions are done\n\tinstead of heavily modifying the distributions.\n\n\tThe edge-switching markov-chain algorithm implementation in NetworKit is used which is different from the implementation in the original LFR benchmark.\n\n\tYou need to set a degree sequence, a community size sequence and a mu using the additionally provided set- or generate-methods.\n\n\tParameters\n\t----------\n\tn : count\n\t\tThe number of nodes\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_LFRGenerator, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_LFRGenerator, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GraphReader(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_11GraphReader_3__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_GraphReader(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_11GraphReader_5__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_GraphReader[] = {
  {"read", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11GraphReader_7read, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11GraphReader_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11GraphReader_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_GraphReader = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.GraphReader", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_GraphReader), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphReader, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Abstract base class for graph readers", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_GraphReader, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_9networkit_10_NetworKit_11GraphReader_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_GraphReader, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GraphWriter(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_11GraphWriter_3__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_GraphWriter(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_11GraphWriter_5__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_GraphWriter[] = {
  {"write", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_11GraphWriter_7write, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_11GraphWriter_6write},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11GraphWriter_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11GraphWriter_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_GraphWriter = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.GraphWriter", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_GraphWriter), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphWriter, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tAbstract base class for graph writers\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_GraphWriter, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_9networkit_10_NetworKit_11GraphWriter_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_GraphWriter, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_METISGraphReader(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_GraphReader(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_16METISGraphReader_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_METISGraphReader[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_16METISGraphReader_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_16METISGraphReader_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_METISGraphReader = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.METISGraphReader", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_METISGraphReader), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphReader, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Reads the METIS adjacency file format [1]. If the Fast reader fails,\n\t\tuse readGraph(path, graphio.formats.metis) as an alternative.\n\t\t[1]: http://people.sc.fsu.edu/~jburkardt/data/metis_graph/metis_graph.html\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_METISGraphReader, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_11GraphReader_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_METISGraphReader, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_NetworkitBinaryReader(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_GraphReader(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_21NetworkitBinaryReader_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_NetworkitBinaryReader[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21NetworkitBinaryReader_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21NetworkitBinaryReader_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_NetworkitBinaryReader = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.NetworkitBinaryReader", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_NetworkitBinaryReader), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphReader, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tReads a graph written in the custom Networkit format documented in cpp/io/NetworkitGraph.md\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_NetworkitBinaryReader, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_11GraphReader_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_NetworkitBinaryReader, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_NetworkitBinaryWriter(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_GraphWriter(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_21NetworkitBinaryWriter_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_NetworkitBinaryWriter[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21NetworkitBinaryWriter_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21NetworkitBinaryWriter_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_NetworkitBinaryWriter = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.NetworkitBinaryWriter", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_NetworkitBinaryWriter), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphWriter, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit_NetworkitBinaryWriter, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_11GraphWriter_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_NetworkitBinaryWriter, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GraphToolBinaryReader(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_GraphReader(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_21GraphToolBinaryReader_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_GraphToolBinaryReader[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21GraphToolBinaryReader_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21GraphToolBinaryReader_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_GraphToolBinaryReader = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.GraphToolBinaryReader", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_GraphToolBinaryReader), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphReader, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Reads the binary file format defined by graph-tool[1].\n\t\t[1]: http://graph-tool.skewed.de/static/doc/gt_format.html\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_GraphToolBinaryReader, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_11GraphReader_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_GraphToolBinaryReader, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ThrillGraphBinaryReader(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_GraphReader(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_23ThrillGraphBinaryReader_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_ThrillGraphBinaryReader[] = {
  {"read", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_23ThrillGraphBinaryReader_3read, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_23ThrillGraphBinaryReader_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_23ThrillGraphBinaryReader_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_ThrillGraphBinaryReader = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.ThrillGraphBinaryReader", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryReader), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphReader, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tReads a graph format consisting of a serialized DIA of vector<uint32_t> from thrill.\n\tWhen the number of nodes is given, reading the graph is more efficient.\n\tOtherwise nodes are added to the graph as they are encountered.\n\tEdges must be present only in one direction.\n\n\tParameters\n\t----------\n\tn : count\n\t\tThe number of nodes\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_ThrillGraphBinaryReader, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_11GraphReader_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_ThrillGraphBinaryReader, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ThrillGraphBinaryWriter(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_GraphWriter(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_23ThrillGraphBinaryWriter_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_ThrillGraphBinaryWriter[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_23ThrillGraphBinaryWriter_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_23ThrillGraphBinaryWriter_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_ThrillGraphBinaryWriter = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.ThrillGraphBinaryWriter", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_ThrillGraphBinaryWriter), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphWriter, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tWrites a graph format consisting of a serialized DIA of vector<uint32_t> from Thrill.\n\tEdges are written only in one direction.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_ThrillGraphBinaryWriter, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_11GraphWriter_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_ThrillGraphBinaryWriter, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EdgeListReader(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_GraphReader(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_14EdgeListReader_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_EdgeListReader[] = {
  {"getNodeMap", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14EdgeListReader_3getNodeMap, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_14EdgeListReader_2getNodeMap},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14EdgeListReader_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14EdgeListReader_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_EdgeListReader = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.EdgeListReader", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_EdgeListReader), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphReader, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Reads a graph from various text-based edge list formats.\n\n\tEdgeListReader(self, separator, firstNode, commentPrefix=\"#\", continuous=True, directed=False)\n\n\tA line has to contain two or three entries separated with the separator symbol (one ASCII character).\n\tIf at least one line contains three entries, the generated graph will be weighted and\n\teach line with only two fields will be interpreted as weight 1.0.\n\n\tA file may contain the same edge multiple times; then, the weight of the first\n\toccurrence is used.\n\n\tUndirected graphs need to include an edge only in one direction, i.e. edge {u, v} may\n\tbe represented by (u, v) or (v, u) or both (again, only the first occurrence is used).\n\n\tIf the input file contains non-continuous node ids with large gaps or non-integer node labels,\n\tset the parameter continuous to False. Then, gaps are automatically removed and node ids are\n\treassigned to [0, n) where n is the number of nodes in the graph. The mapping will be arbitrary\n\tand can be accessed using getNodeMap().\n\n\tTo shift continuous integer node labels which are not zero-indexed, set firstNode to\n\tthe smallest id used in the file.\n\n\tThe file may also include line comments which start with the commentPrefix.\n\n\tParameters\n\t----------\n\tseparator : char\n\t\tThe separator character. Must have length of exactly one.\n\tfirstNode : node\n\t\tThe id of the first node, this value will be subtracted from all node ids\n\tcommentPrefix : string\n\t\tLines starting with this prefix will be ignored\n\tcontinuous : bool\n\t\tFile uses continuous node ids.\n\tdirected : bool\n\t\tTreat input file as a directed graph.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_EdgeListReader, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_11GraphReader_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_EdgeListReader, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_KONECTGraphReader(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_GraphReader(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_17KONECTGraphReader_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_KONECTGraphReader[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17KONECTGraphReader_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17KONECTGraphReader_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_KONECTGraphReader = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.KONECTGraphReader", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_KONECTGraphReader), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphReader, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Reader for the KONECT graph format, which is described in detail on the KONECT website[1].\n\n\t\t[1]: http://konect.uni-koblenz.de/downloads/konect-handbook.pdf\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_KONECTGraphReader, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_11GraphReader_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_KONECTGraphReader, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GMLGraphReader(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_GraphReader(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_14GMLGraphReader_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_GMLGraphReader[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14GMLGraphReader_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14GMLGraphReader_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_GMLGraphReader = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.GMLGraphReader", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_GMLGraphReader), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphReader, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Reader for the GML graph format, which is documented here [1].\n\n\t\t[1]: http://www.fim.uni-passau.de/fileadmin/files/lehrstuhl/brandenburg/projekte/gml/gml-technical-report.pdf\n \t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_GMLGraphReader, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_11GraphReader_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_GMLGraphReader, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_METISGraphWriter(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_GraphWriter(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_16METISGraphWriter_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_METISGraphWriter[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_16METISGraphWriter_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_16METISGraphWriter_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_METISGraphWriter = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.METISGraphWriter", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_METISGraphWriter), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphWriter, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Writes graphs in the METIS format", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_METISGraphWriter, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_11GraphWriter_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_METISGraphWriter, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GraphToolBinaryWriter(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_GraphWriter(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_21GraphToolBinaryWriter_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_GraphToolBinaryWriter[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21GraphToolBinaryWriter_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21GraphToolBinaryWriter_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_GraphToolBinaryWriter = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.GraphToolBinaryWriter", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_GraphToolBinaryWriter), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphWriter, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Reads the binary file format defined by graph-tool[1].\n\t\t[1]: http://graph-tool.skewed.de/static/doc/gt_format.html\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_GraphToolBinaryWriter, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_11GraphWriter_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_GraphToolBinaryWriter, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DotGraphWriter(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_GraphWriter(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_14DotGraphWriter_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_DotGraphWriter[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14DotGraphWriter_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14DotGraphWriter_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_DotGraphWriter = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.DotGraphWriter", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_DotGraphWriter), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphWriter, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Writes graphs in the .dot/GraphViz format", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_DotGraphWriter, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_11GraphWriter_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_DotGraphWriter, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GMLGraphWriter(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_GraphWriter(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_14GMLGraphWriter_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_GMLGraphWriter[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14GMLGraphWriter_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14GMLGraphWriter_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_GMLGraphWriter = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.GMLGraphWriter", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_GMLGraphWriter), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphWriter, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Writes a graph and its coordinates as a GML file.[1]\n\t\t[1] http://svn.bigcat.unimaas.nl/pvplugins/GML/trunk/docs/gml-technical-report.pdf ", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_GMLGraphWriter, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_11GraphWriter_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_GMLGraphWriter, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EdgeListWriter(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_GraphWriter(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_14EdgeListWriter_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_EdgeListWriter[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14EdgeListWriter_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14EdgeListWriter_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_EdgeListWriter = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.EdgeListWriter", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_EdgeListWriter), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphWriter, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Writes graphs in various edge list formats.\n\n\tParameters\n\t----------\n\tseparator : string\n\t\tThe separator character.\n\tfirstNode : node\n\t\tThe id of the first node, this value will be added to all node ids\n\tbothDirections : bool, optional\n\t\tIf undirected edges shall be written in both directions, i.e., as symmetric directed graph (default: false)\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_EdgeListWriter, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_11GraphWriter_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_EdgeListWriter, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LineFileReader(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_LineFileReader *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_LineFileReader *)o);
  new((void*)&(p->_this)) NetworKit::LineFileReader();
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_LineFileReader(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_LineFileReader *p = (struct __pyx_obj_9networkit_10_NetworKit_LineFileReader *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_LineFileReader[] = {
  {"read", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14LineFileReader_1read, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14LineFileReader_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14LineFileReader_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_LineFileReader = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.LineFileReader", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_LineFileReader), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LineFileReader, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Reads a file and puts each line in a list of strings ", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_LineFileReader, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_LineFileReader, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_SNAPGraphWriter(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_GraphWriter(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_15SNAPGraphWriter_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_SNAPGraphWriter[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15SNAPGraphWriter_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15SNAPGraphWriter_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_SNAPGraphWriter = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.SNAPGraphWriter", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_SNAPGraphWriter), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphWriter, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Writes graphs in a format suitable for the Georgia Tech SNAP software [1]\n\t\t[1]: http://snap-graph.sourceforge.net/\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_SNAPGraphWriter, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_11GraphWriter_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_SNAPGraphWriter, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_SNAPGraphReader(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_GraphReader(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_15SNAPGraphReader_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_SNAPGraphReader[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15SNAPGraphReader_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15SNAPGraphReader_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_SNAPGraphReader = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.SNAPGraphReader", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_SNAPGraphReader), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphReader, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Reads a graph from the SNAP graph data collection [1]\n\t\t[1]: http://snap.stanford.edu/data/index.html\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_SNAPGraphReader, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_11GraphReader_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_SNAPGraphReader, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PartitionReader(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_PartitionReader *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_PartitionReader *)o);
  new((void*)&(p->_this)) NetworKit::PartitionReader();
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_PartitionReader(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_PartitionReader *p = (struct __pyx_obj_9networkit_10_NetworKit_PartitionReader *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_PartitionReader[] = {
  {"read", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15PartitionReader_1read, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15PartitionReader_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15PartitionReader_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_PartitionReader = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.PartitionReader", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_PartitionReader), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_PartitionReader, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Reads a partition from a file.\n\t\tFile format: line i contains subset id of element i.\n\t ", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_PartitionReader, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_PartitionReader, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PartitionWriter(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_PartitionWriter *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_PartitionWriter *)o);
  new((void*)&(p->_this)) NetworKit::PartitionWriter();
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_PartitionWriter(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_PartitionWriter *p = (struct __pyx_obj_9networkit_10_NetworKit_PartitionWriter *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_PartitionWriter[] = {
  {"write", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_15PartitionWriter_1write, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15PartitionWriter_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15PartitionWriter_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_PartitionWriter = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.PartitionWriter", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_PartitionWriter), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_PartitionWriter, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Writes a partition to a file.\n\t\tFile format: line i contains subset id of element i.\n\t ", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_PartitionWriter, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_PartitionWriter, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_BinaryPartitionReader(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionReader *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionReader *)o);
  new((void*)&(p->_this)) NetworKit::BinaryPartitionReader();
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_21BinaryPartitionReader_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_BinaryPartitionReader(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionReader *p = (struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionReader *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_BinaryPartitionReader[] = {
  {"read", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21BinaryPartitionReader_3read, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21BinaryPartitionReader_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21BinaryPartitionReader_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_BinaryPartitionReader = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.BinaryPartitionReader", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionReader), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_BinaryPartitionReader, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tReads a partition from a binary file that contains an unsigned integer\n\tof the given width for each node.\n\n\tParameters\n\t----------\n\twidth : int\n\t\tthe width of the unsigned integer in bytes (4 or 8)\n\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_BinaryPartitionReader, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_BinaryPartitionReader, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_BinaryPartitionWriter(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionWriter *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionWriter *)o);
  new((void*)&(p->_this)) NetworKit::BinaryPartitionWriter();
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_21BinaryPartitionWriter_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_BinaryPartitionWriter(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionWriter *p = (struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionWriter *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_BinaryPartitionWriter[] = {
  {"write", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_21BinaryPartitionWriter_3write, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_21BinaryPartitionWriter_2write},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21BinaryPartitionWriter_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21BinaryPartitionWriter_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_BinaryPartitionWriter = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.BinaryPartitionWriter", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_BinaryPartitionWriter), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_BinaryPartitionWriter, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tWrites a partition to a file to contains a binary list of partition ids.\n\tPartition ids are unsigned integers.\n\n\tParameters\n\t----------\n\twidth : int\n\t\tthe width of the unsigned integer in bytes (4 or 8)\n\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_BinaryPartitionWriter, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_BinaryPartitionWriter, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EdgeListPartitionReader(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeListPartitionReader *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_EdgeListPartitionReader *)o);
  new((void*)&(p->_this)) NetworKit::EdgeListPartitionReader();
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_23EdgeListPartitionReader_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeListPartitionReader(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeListPartitionReader *p = (struct __pyx_obj_9networkit_10_NetworKit_EdgeListPartitionReader *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_EdgeListPartitionReader[] = {
  {"read", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_23EdgeListPartitionReader_3read, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_23EdgeListPartitionReader_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_23EdgeListPartitionReader_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_EdgeListPartitionReader = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.EdgeListPartitionReader", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_EdgeListPartitionReader), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeListPartitionReader, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Reads a partition from an edge list type of file\n\t ", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_EdgeListPartitionReader, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_EdgeListPartitionReader, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_BinaryEdgeListPartitionReader(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionReader *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionReader *)o);
  new((void*)&(p->_this)) NetworKit::BinaryEdgeListPartitionReader();
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_29BinaryEdgeListPartitionReader_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_BinaryEdgeListPartitionReader(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionReader *p = (struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionReader *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_BinaryEdgeListPartitionReader[] = {
  {"read", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_29BinaryEdgeListPartitionReader_3read, METH_O, __pyx_doc_9networkit_10_NetworKit_29BinaryEdgeListPartitionReader_2read},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_29BinaryEdgeListPartitionReader_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_29BinaryEdgeListPartitionReader_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_BinaryEdgeListPartitionReader = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.BinaryEdgeListPartitionReader", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionReader), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_BinaryEdgeListPartitionReader, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tReads a partition file that contains a binary list of pairs (node, partition(node)).\n\tIt is assumed that all integers are unsigned.\n\n\tParameters\n\t----------\n\tfirstNode : node\n\t\tThe id of the first node, this is subtracted from all read node ids\n\twidth : int\n\t\tThe width of the unsigned integer in bytes (4 or 8)\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_BinaryEdgeListPartitionReader, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_BinaryEdgeListPartitionReader, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter *)o);
  new((void*)&(p->_this)) NetworKit::BinaryEdgeListPartitionWriter();
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_29BinaryEdgeListPartitionWriter_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter *p = (struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter[] = {
  {"write", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_29BinaryEdgeListPartitionWriter_3write, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_29BinaryEdgeListPartitionWriter_2write},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_29BinaryEdgeListPartitionWriter_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_29BinaryEdgeListPartitionWriter_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.BinaryEdgeListPartitionWriter", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tWrites a partition file that contains a binary list of pairs (node, partition(node)).\n\n\tParameters\n\t----------\n\tfirstNode : node\n\t\tThe id of the first node, this is added to all writen node ids\n\twidth : int\n\t\tThe width of the unsigned integer in bytes (4 or 8)\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_SNAPEdgeListPartitionReader(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_SNAPEdgeListPartitionReader *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_SNAPEdgeListPartitionReader *)o);
  new((void*)&(p->_this)) NetworKit::SNAPEdgeListPartitionReader();
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_SNAPEdgeListPartitionReader(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_SNAPEdgeListPartitionReader *p = (struct __pyx_obj_9networkit_10_NetworKit_SNAPEdgeListPartitionReader *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_SNAPEdgeListPartitionReader[] = {
  {"read", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_27SNAPEdgeListPartitionReader_1read, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_27SNAPEdgeListPartitionReader_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_27SNAPEdgeListPartitionReader_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_SNAPEdgeListPartitionReader = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.SNAPEdgeListPartitionReader", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_SNAPEdgeListPartitionReader), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_SNAPEdgeListPartitionReader, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Reads a partition from a SNAP 'community with ground truth' file\n\t ", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_SNAPEdgeListPartitionReader, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_SNAPEdgeListPartitionReader, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_CoverReader(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_CoverReader *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_CoverReader *)o);
  new((void*)&(p->_this)) NetworKit::CoverReader();
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_CoverReader(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_CoverReader *p = (struct __pyx_obj_9networkit_10_NetworKit_CoverReader *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_CoverReader[] = {
  {"read", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_11CoverReader_1read, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11CoverReader_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11CoverReader_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_CoverReader = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.CoverReader", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_CoverReader), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_CoverReader, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Reads a cover from a file\n\t\tFile format: each line contains the space-separated node ids of a community\n\t ", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_CoverReader, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_CoverReader, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_CoverWriter(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_CoverWriter *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_CoverWriter *)o);
  new((void*)&(p->_this)) NetworKit::CoverWriter();
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_CoverWriter(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_CoverWriter *p = (struct __pyx_obj_9networkit_10_NetworKit_CoverWriter *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_CoverWriter[] = {
  {"write", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_11CoverWriter_1write, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11CoverWriter_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11CoverWriter_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_CoverWriter = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.CoverWriter", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_CoverWriter), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_CoverWriter, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Writes a partition to a file.\n\t\tFile format: each line contains the space-separated node ids of a community\n\t ", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_CoverWriter, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_CoverWriter, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EdgeListCoverReader(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeListCoverReader *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_EdgeListCoverReader *)o);
  new((void*)&(p->_this)) NetworKit::EdgeListCoverReader();
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_19EdgeListCoverReader_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeListCoverReader(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeListCoverReader *p = (struct __pyx_obj_9networkit_10_NetworKit_EdgeListCoverReader *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_EdgeListCoverReader[] = {
  {"read", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_19EdgeListCoverReader_3read, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19EdgeListCoverReader_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19EdgeListCoverReader_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_EdgeListCoverReader = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.EdgeListCoverReader", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_EdgeListCoverReader), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeListCoverReader, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Reads a cover from an edge list type of file\n\t\tFile format: each line starts with a node id and continues with a list of the communities the node belongs to\n\t ", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_EdgeListCoverReader, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_EdgeListCoverReader, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_Partition __pyx_vtable_9networkit_10_NetworKit_Partition;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Partition(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_Partition *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)o);
  p->__pyx_vtab = __pyx_vtabptr_9networkit_10_NetworKit_Partition;
  new((void*)&(p->_this)) NetworKit::Partition();
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_9Partition_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_Partition(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_Partition *p = (struct __pyx_obj_9networkit_10_NetworKit_Partition *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  (*Py_TYPE(o)->tp_free)(o);
}
static PyObject *__pyx_sq_item_9networkit_10_NetworKit_Partition(PyObject *o, Py_ssize_t i) {
  PyObject *r;
  PyObject *x = PyInt_FromSsize_t(i); if(!x) return 0;
  r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
  Py_DECREF(x);
  return r;
}

static int __pyx_mp_ass_subscript_9networkit_10_NetworKit_Partition(PyObject *o, PyObject *i, PyObject *v) {
  if (v) {
    return __pyx_pw_9networkit_10_NetworKit_9Partition_7__setitem__(o, i, v);
  }
  else {
    PyErr_Format(PyExc_NotImplementedError,
      "Subscript deletion not supported by %.200s", Py_TYPE(o)->tp_name);
    return -1;
  }
}

static PyObject *__pyx_tp_richcompare_9networkit_10_NetworKit_Partition(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_9networkit_10_NetworKit_9Partition_57__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_9networkit_10_NetworKit_9Partition_57__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 PyMethodDef __pyx_methods_9networkit_10_NetworKit_Partition[] = {
  {"__copy__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Partition_9__copy__, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_9Partition_8__copy__},
  {"__deepcopy__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Partition_11__deepcopy__, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_9Partition_10__deepcopy__},
  {"subsetOf", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Partition_13subsetOf, METH_O, __pyx_doc_9networkit_10_NetworKit_9Partition_12subsetOf},
  {"extend", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Partition_15extend, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_9Partition_14extend},
  {"addToSubset", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_9Partition_17addToSubset, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_9Partition_16addToSubset},
  {"moveToSubset", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_9Partition_19moveToSubset, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_9Partition_18moveToSubset},
  {"toSingleton", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Partition_21toSingleton, METH_O, __pyx_doc_9networkit_10_NetworKit_9Partition_20toSingleton},
  {"allToSingletons", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Partition_23allToSingletons, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_9Partition_22allToSingletons},
  {"mergeSubsets", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_9Partition_25mergeSubsets, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_9Partition_24mergeSubsets},
  {"setUpperBound", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Partition_27setUpperBound, METH_O, __pyx_doc_9networkit_10_NetworKit_9Partition_26setUpperBound},
  {"upperBound", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Partition_29upperBound, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_9Partition_28upperBound},
  {"lowerBound", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Partition_31lowerBound, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_9Partition_30lowerBound},
  {"compact", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_9Partition_33compact, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_9Partition_32compact},
  {"contains", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Partition_35contains, METH_O, __pyx_doc_9networkit_10_NetworKit_9Partition_34contains},
  {"inSameSubset", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_9Partition_37inSameSubset, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_9Partition_36inSameSubset},
  {"subsetSizes", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Partition_39subsetSizes, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_9Partition_38subsetSizes},
  {"subsetSizeMap", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Partition_41subsetSizeMap, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_9Partition_40subsetSizeMap},
  {"getMembers", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Partition_43getMembers, METH_O, __pyx_doc_9networkit_10_NetworKit_9Partition_42getMembers},
  {"numberOfElements", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Partition_45numberOfElements, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_9Partition_44numberOfElements},
  {"numberOfSubsets", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Partition_47numberOfSubsets, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_9Partition_46numberOfSubsets},
  {"getVector", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Partition_49getVector, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_9Partition_48getVector},
  {"setName", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Partition_51setName, METH_O, __pyx_doc_9networkit_10_NetworKit_9Partition_50setName},
  {"getName", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Partition_53getName, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_9Partition_52getName},
  {"getSubsetIds", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Partition_55getSubsetIds, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_9Partition_54getSubsetIds},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Partition_59__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Partition_61__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PySequenceMethods __pyx_tp_as_sequence_Partition = {
  __pyx_pw_9networkit_10_NetworKit_9Partition_3__len__, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  __pyx_sq_item_9networkit_10_NetworKit_Partition, /*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_Partition = {
  __pyx_pw_9networkit_10_NetworKit_9Partition_3__len__, /*mp_length*/
  __pyx_pw_9networkit_10_NetworKit_9Partition_5__getitem__, /*mp_subscript*/
  __pyx_mp_ass_subscript_9networkit_10_NetworKit_Partition, /*mp_ass_subscript*/
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_Partition = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.Partition", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_Partition), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Partition, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  &__pyx_tp_as_sequence_Partition, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_Partition, /*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*/
  " Implements a partition of a set, i.e. a subdivision of the\n \t\tset into disjoint subsets.\n\n \t\tPartition(z=0)\n\n \t\tCreate a new partition data structure for `z` elements.\n\n\t\tParameters\n\t\t----------\n\t\tsize : index, optional\n\t\t\tMaximum index of an element. Default is 0.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  __pyx_tp_richcompare_9networkit_10_NetworKit_Partition, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_Partition, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_Partition, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_Cover __pyx_vtable_9networkit_10_NetworKit_Cover;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Cover(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_Cover *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_Cover *)o);
  p->__pyx_vtab = __pyx_vtabptr_9networkit_10_NetworKit_Cover;
  new((void*)&(p->_this)) NetworKit::Cover();
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_5Cover_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_Cover(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_Cover *p = (struct __pyx_obj_9networkit_10_NetworKit_Cover *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_Cover[] = {
  {"subsetsOf", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Cover_3subsetsOf, METH_O, __pyx_doc_9networkit_10_NetworKit_5Cover_2subsetsOf},
  {"extend", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Cover_5extend, METH_NOARGS, 0},
  {"addToSubset", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_5Cover_7addToSubset, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_5Cover_6addToSubset},
  {"removeFromSubset", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_5Cover_9removeFromSubset, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_5Cover_8removeFromSubset},
  {"moveToSubset", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_5Cover_11moveToSubset, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_5Cover_10moveToSubset},
  {"toSingleton", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Cover_13toSingleton, METH_O, __pyx_doc_9networkit_10_NetworKit_5Cover_12toSingleton},
  {"allToSingletons", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Cover_15allToSingletons, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Cover_14allToSingletons},
  {"mergeSubsets", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_5Cover_17mergeSubsets, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_5Cover_16mergeSubsets},
  {"setUpperBound", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Cover_19setUpperBound, METH_O, 0},
  {"upperBound", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Cover_21upperBound, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Cover_20upperBound},
  {"lowerBound", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Cover_23lowerBound, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Cover_22lowerBound},
  {"contains", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Cover_25contains, METH_O, __pyx_doc_9networkit_10_NetworKit_5Cover_24contains},
  {"inSameSubset", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_5Cover_27inSameSubset, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_5Cover_26inSameSubset},
  {"subsetSizes", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Cover_29subsetSizes, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Cover_28subsetSizes},
  {"subsetSizeMap", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Cover_31subsetSizeMap, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Cover_30subsetSizeMap},
  {"getMembers", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Cover_33getMembers, METH_O, __pyx_doc_9networkit_10_NetworKit_5Cover_32getMembers},
  {"numberOfElements", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Cover_35numberOfElements, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Cover_34numberOfElements},
  {"numberOfSubsets", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Cover_37numberOfSubsets, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Cover_36numberOfSubsets},
  {"getSubsetIds", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Cover_39getSubsetIds, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_5Cover_38getSubsetIds},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Cover_41__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_5Cover_43__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_Cover = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.Cover", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_Cover), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Cover, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Implements a cover of a set, i.e. an assignment of its elements to possibly overlapping subsets. ", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_Cover, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_Cover, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ClusteringGenerator(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator *)o);
  new((void*)&(p->_this)) NetworKit::ClusteringGenerator();
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_ClusteringGenerator(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator *p = (struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_ClusteringGenerator[] = {
  {"makeSingletonClustering", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19ClusteringGenerator_1makeSingletonClustering, METH_O, __pyx_doc_9networkit_10_NetworKit_19ClusteringGenerator_makeSingletonClustering},
  {"makeOneClustering", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19ClusteringGenerator_3makeOneClustering, METH_O, __pyx_doc_9networkit_10_NetworKit_19ClusteringGenerator_2makeOneClustering},
  {"makeRandomClustering", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_19ClusteringGenerator_5makeRandomClustering, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_19ClusteringGenerator_4makeRandomClustering},
  {"makeContinuousBalancedClustering", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_19ClusteringGenerator_7makeContinuousBalancedClustering, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_19ClusteringGenerator_6makeContinuousBalancedClustering},
  {"makeNoncontinuousBalancedClustering", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_19ClusteringGenerator_9makeNoncontinuousBalancedClustering, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_19ClusteringGenerator_8makeNoncontinuousBalancedClustering},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19ClusteringGenerator_11__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19ClusteringGenerator_13__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_ClusteringGenerator = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.ClusteringGenerator", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_ClusteringGenerator), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_ClusteringGenerator, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Generators for various clusterings ", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_ClusteringGenerator, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_ClusteringGenerator, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GraphClusteringTools(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_GraphClusteringTools(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_GraphClusteringTools[] = {
  {"getImbalance", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_1getImbalance, METH_VARARGS|METH_KEYWORDS, 0},
  {"communicationGraph", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_3communicationGraph, METH_VARARGS|METH_KEYWORDS, 0},
  {"weightedDegreeWithCluster", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_5weightedDegreeWithCluster, METH_VARARGS|METH_KEYWORDS, 0},
  {"isProperClustering", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_7isProperClustering, METH_VARARGS|METH_KEYWORDS, 0},
  {"isSingletonClustering", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_9isSingletonClustering, METH_VARARGS|METH_KEYWORDS, 0},
  {"isOneClustering", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_11isOneClustering, METH_VARARGS|METH_KEYWORDS, 0},
  {"equalClustering", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_13equalClustering, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_15__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20GraphClusteringTools_17__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_GraphClusteringTools = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.GraphClusteringTools", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_GraphClusteringTools), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphClusteringTools, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit_GraphClusteringTools, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_GraphClusteringTools, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Traversal(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_Traversal(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_Traversal[] = {
  {"BFSfrom", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_9Traversal_1BFSfrom, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_9Traversal_BFSfrom},
  {"BFSEdgesFrom", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_9Traversal_3BFSEdgesFrom, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_9Traversal_2BFSEdgesFrom},
  {"DFSfrom", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_9Traversal_5DFSfrom, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_9Traversal_4DFSfrom},
  {"DFSEdgesFrom", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_9Traversal_7DFSEdgesFrom, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_9Traversal_6DFSEdgesFrom},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Traversal_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Traversal_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_Traversal = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.Traversal", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_Traversal), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Traversal, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit_Traversal, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_Traversal, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GraphTools(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_GraphTools(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_GraphTools[] = {
  {"maxDegree", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_1maxDegree, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_maxDegree},
  {"maxInDegree", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_3maxInDegree, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_2maxInDegree},
  {"maxWeightedDegree", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_5maxWeightedDegree, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_4maxWeightedDegree},
  {"maxWeightedInDegree", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_7maxWeightedInDegree, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_6maxWeightedInDegree},
  {"randomNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_9randomNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_8randomNode},
  {"randomNeighbor", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_11randomNeighbor, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_10randomNeighbor},
  {"randomEdge", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_13randomEdge, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_12randomEdge},
  {"randomEdges", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_15randomEdges, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_14randomEdges},
  {"append", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_17append, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_16append},
  {"merge", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_19merge, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_18merge},
  {"removeEdgesFromIsolatedSet", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_21removeEdgesFromIsolatedSet, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_20removeEdgesFromIsolatedSet},
  {"toUndirected", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_23toUndirected, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_22toUndirected},
  {"toUnweighted", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_25toUnweighted, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_24toUnweighted},
  {"toWeighted", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_27toWeighted, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_26toWeighted},
  {"size", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_29size, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_28size},
  {"density", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_31density, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_30density},
  {"copyNodes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_33copyNodes, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_32copyNodes},
  {"subgraphFromNodes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_35subgraphFromNodes, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_34subgraphFromNodes},
  {"transpose", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_37transpose, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_36transpose},
  {"getCompactedGraph", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_39getCompactedGraph, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_38getCompactedGraph},
  {"getContinuousNodeIds", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_41getContinuousNodeIds, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_40getContinuousNodeIds},
  {"getRandomContinuousNodeIds", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10GraphTools_43getRandomContinuousNodeIds, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_10GraphTools_42getRandomContinuousNodeIds},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_10GraphTools_45__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_10GraphTools_47__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_GraphTools = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.GraphTools", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_GraphTools), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphTools, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit_GraphTools, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_GraphTools, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PartitionIntersection(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_PartitionIntersection *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_PartitionIntersection *)o);
  new((void*)&(p->_this)) NetworKit::PartitionIntersection();
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_PartitionIntersection(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_PartitionIntersection *p = (struct __pyx_obj_9networkit_10_NetworKit_PartitionIntersection *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_PartitionIntersection[] = {
  {"calculate", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_21PartitionIntersection_1calculate, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_21PartitionIntersection_calculate},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21PartitionIntersection_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21PartitionIntersection_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_PartitionIntersection = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.PartitionIntersection", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_PartitionIntersection), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_PartitionIntersection, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Class for calculating the intersection of two partitions, i.e. the clustering with the fewest clusters\n\tsuch that each cluster is a subset of a cluster in both partitions.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_PartitionIntersection, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_PartitionIntersection, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Coverage(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_Coverage *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_Coverage *)o);
  new((void*)&(p->_this)) NetworKit::Coverage();
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_Coverage(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_Coverage *p = (struct __pyx_obj_9networkit_10_NetworKit_Coverage *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_Coverage[] = {
  {"getQuality", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_8Coverage_1getQuality, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_8Coverage_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_8Coverage_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_Coverage = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.Coverage", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_Coverage), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Coverage, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Coverage is the fraction of intra-community edges ", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_Coverage, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_Coverage, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EdgeCut(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeCut *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_EdgeCut *)o);
  new((void*)&(p->_this)) NetworKit::EdgeCut();
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeCut(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeCut *p = (struct __pyx_obj_9networkit_10_NetworKit_EdgeCut *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_EdgeCut[] = {
  {"getQuality", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_7EdgeCut_1getQuality, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_7EdgeCut_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_7EdgeCut_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_EdgeCut = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.EdgeCut", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_EdgeCut), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeCut, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Edge cut is the total weight of inter-community edges", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_EdgeCut, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_EdgeCut, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Modularity(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_Modularity *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_Modularity *)o);
  new((void*)&(p->_this)) NetworKit::Modularity();
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_Modularity(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_Modularity *p = (struct __pyx_obj_9networkit_10_NetworKit_Modularity *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_Modularity[] = {
  {"getQuality", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_10Modularity_1getQuality, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_10Modularity_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_10Modularity_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_Modularity = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.Modularity", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_Modularity), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Modularity, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\tModularity is a quality index for community detection.\n\tIt assigns a quality value in [-0.5, 1.0] to a partition of a graph which is higher for more modular networks and\n\tpartitions which better capture the modular structure. See also http://en.wikipedia.org/wiki/Modularity_(networks).\n\n \tNotes\n\t-----\n\tModularity is defined as:\n\n\t.. math:: mod(\\zeta) := \\frac{\\sum_{C \\in \\zeta} \\sum_{ e \\in E(C) } \\omega(e)}{\\sum_{e \\in E} \\omega(e)} - \\frac{ \\sum_{C \\in \\zeta}( \\sum_{v \\in C} \\omega(v) )^2 }{4( \\sum_{e \\in E} \\omega(e) )^2 }\n\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_Modularity, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_Modularity, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_HubDominance(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_HubDominance *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_HubDominance *)o);
  new((void*)&(p->_this)) NetworKit::HubDominance();
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_HubDominance(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_HubDominance *p = (struct __pyx_obj_9networkit_10_NetworKit_HubDominance *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_HubDominance[] = {
  {"__pyx_fuse_0getQuality", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_0__pyx_pw_9networkit_10_NetworKit_12HubDominance_3getQuality, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_12HubDominance_getQuality},
  {"__pyx_fuse_1getQuality", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_fuse_1__pyx_pw_9networkit_10_NetworKit_12HubDominance_5getQuality, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_12HubDominance_getQuality},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12HubDominance_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12HubDominance_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_HubDominance = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.HubDominance", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_HubDominance), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_HubDominance, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tA quality measure that measures the dominance of hubs in clusters. The hub dominance of a single\n\tcluster is defined as the maximum cluster-internal degree of a node in that cluster divided by\n\tthe maximum cluster-internal degree, i.e. the number of nodes in the cluster minus one. The\n\tvalue for all clusters is defined as the average of all clusters.\n\n\tStrictly speaking this is not a quality measure as this is rather dependent on the type of the\n\tconsidered graph, for more information see\n\tLancichinetti A, Kivel M, Saramki J, Fortunato S (2010)\n\tCharacterizing the Community Structure of Complex Networks\n\tPLoS ONE 5(8): e11976. doi: 10.1371/journal.pone.0011976\n\thttp://www.plosone.org/article/info%3Adoi%2F10.1371%2Fjournal.pone.0011976\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_HubDominance, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_HubDominance, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_CommunityDetector(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_CommunityDetector(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector *p = (struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_CommunityDetector(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector *p = (struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_CommunityDetector)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_CommunityDetector(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector *p = (struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_CommunityDetector);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_CommunityDetector[] = {
  {"getPartition", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17CommunityDetector_3getPartition, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_17CommunityDetector_2getPartition},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17CommunityDetector_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17CommunityDetector_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_CommunityDetector = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.CommunityDetector", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_CommunityDetector), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_CommunityDetector, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Abstract base class for static community detection algorithms ", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_CommunityDetector, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_CommunityDetector, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_CommunityDetector, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_9networkit_10_NetworKit_17CommunityDetector_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_CommunityDetector, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PLP(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_CommunityDetector(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_3PLP_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_PLP[] = {
  {"numberOfIterations", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_3PLP_3numberOfIterations, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_3PLP_2numberOfIterations},
  {"getTiming", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_3PLP_5getTiming, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_3PLP_4getTiming},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_3PLP_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_3PLP_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_PLP = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.PLP", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_PLP), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_CommunityDetector, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Parallel label propagation for community detection:\n\tModerate solution quality, very short time to solution.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph on which the algorithm has to run.\n\tupdateThreshold : int\n\t\tnumber of nodes that have to be changed in each iteration so that a new iteration starts.\n\tbaseClustering : networkit.Partition\n\t\tPLP needs a base clustering to start from; if none is given the algorithm will run on a singleton clustering.\n\n\tNotes\n\t-----\n\tAs described in Ovelgoenne et al: An Ensemble Learning Strategy for Graph Clustering\n \tRaghavan et al. proposed a label propagation algorithm for graph clustering.\n \tThis algorithm initializes every vertex of a graph with a unique label. Then, in iterative\n \tsweeps over the set of vertices the vertex labels are updated. A vertex gets the label\n \tthat the maximum number of its neighbors have. The procedure is stopped when every vertex\n \thas the label that at least half of its neighbors have.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_CommunityDetector, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_CommunityDetector, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_PLP, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_17CommunityDetector_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_PLP, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LPDegreeOrdered(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_CommunityDetector(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_15LPDegreeOrdered_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_LPDegreeOrdered[] = {
  {"numberOfIterations", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15LPDegreeOrdered_3numberOfIterations, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_15LPDegreeOrdered_2numberOfIterations},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15LPDegreeOrdered_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15LPDegreeOrdered_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_LPDegreeOrdered = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.LPDegreeOrdered", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_LPDegreeOrdered), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_CommunityDetector, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Label propagation-based community detection algorithm which processes nodes in increasing order of node degree.\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_CommunityDetector, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_CommunityDetector, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_LPDegreeOrdered, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_17CommunityDetector_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_LPDegreeOrdered, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PLM(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_CommunityDetector(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_3PLM_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_PLM[] = {
  {"getTiming", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_3PLM_3getTiming, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_3PLM_2getTiming},
  {"coarsen", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_3PLM_5coarsen, METH_VARARGS|METH_KEYWORDS, 0},
  {"prolong", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_3PLM_7prolong, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_3PLM_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_3PLM_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_PLM = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.PLM", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_PLM), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_CommunityDetector, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Parallel Louvain Method - the Louvain method, optionally extended to\n\t\ta full multi-level algorithm with refinement\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tA graph.\n\t\trefine : bool, optional\n\t\t\tAdd a second move phase to refine the communities.\n\t\tgamma : double\n\t\t\tMulti-resolution modularity parameter:\n\t\t\t1.0 -> standard modularity\n\t \t\t0.0 -> one community\n\t \t\t2m \t-> singleton communities\n\t\tpar : string\n\t\t\tparallelization strategy\n\t\tmaxIter : count\n\t\t\tmaximum number of iterations for move phase\n\t\tturbo : bool, optional\n\t\t\tfaster but uses O(n) additional memory per thread\n\t\trecurse: bool, optional\n\t\t\tuse recursive coarsening, see http://journals.aps.org/pre/abstract/10.1103/PhysRevE.89.049902 for some explanations (default: true)\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_CommunityDetector, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_CommunityDetector, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_PLM, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_17CommunityDetector_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_PLM, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_CutClustering(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_CommunityDetector(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_13CutClustering_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_CutClustering[] = {
  {"getClusterHierarchy", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_13CutClustering_3getClusterHierarchy, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_13CutClustering_2getClusterHierarchy},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_13CutClustering_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_13CutClustering_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_CutClustering = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.CutClustering", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_CutClustering), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_CommunityDetector, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tCut clustering algorithm as defined in\n\tFlake, Gary William; Tarjan, Robert E.; Tsioutsiouliklis, Kostas. Graph Clustering and Minimum Cut Trees.\n\tInternet Mathematics 1 (2003), no. 4, 385--408.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\talpha : double\n\t\tThe parameter for the cut clustering algorithm\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_CommunityDetector, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_CommunityDetector, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_CutClustering, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_17CommunityDetector_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_CutClustering, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DissimilarityMeasure(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_DissimilarityMeasure(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_DissimilarityMeasure[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20DissimilarityMeasure_1__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20DissimilarityMeasure_3__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_DissimilarityMeasure = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.DissimilarityMeasure", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_DissimilarityMeasure), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_DissimilarityMeasure, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Abstract base class for partition/community dissimilarity measures ", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_DissimilarityMeasure, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_DissimilarityMeasure, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_NodeStructuralRandMeasure(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_NodeStructuralRandMeasure *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_DissimilarityMeasure(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_NodeStructuralRandMeasure *)o);
  new((void*)&(p->_this)) NetworKit::NodeStructuralRandMeasure();
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_NodeStructuralRandMeasure(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_NodeStructuralRandMeasure *p = (struct __pyx_obj_9networkit_10_NetworKit_NodeStructuralRandMeasure *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  __pyx_tp_dealloc_9networkit_10_NetworKit_DissimilarityMeasure(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_NodeStructuralRandMeasure[] = {
  {"getDissimilarity", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_25NodeStructuralRandMeasure_1getDissimilarity, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_25NodeStructuralRandMeasure_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_25NodeStructuralRandMeasure_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_NodeStructuralRandMeasure = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.NodeStructuralRandMeasure", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_NodeStructuralRandMeasure), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_NodeStructuralRandMeasure, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " The node-structural Rand measure assigns a similarity value in [0,1]\n\t\tto two partitions of a graph, by considering all pairs of nodes.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_NodeStructuralRandMeasure, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_NodeStructuralRandMeasure, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GraphStructuralRandMeasure(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_GraphStructuralRandMeasure *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_DissimilarityMeasure(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_GraphStructuralRandMeasure *)o);
  new((void*)&(p->_this)) NetworKit::GraphStructuralRandMeasure();
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_GraphStructuralRandMeasure(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_GraphStructuralRandMeasure *p = (struct __pyx_obj_9networkit_10_NetworKit_GraphStructuralRandMeasure *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  __pyx_tp_dealloc_9networkit_10_NetworKit_DissimilarityMeasure(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_GraphStructuralRandMeasure[] = {
  {"getDissimilarity", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_26GraphStructuralRandMeasure_1getDissimilarity, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_26GraphStructuralRandMeasure_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_26GraphStructuralRandMeasure_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_GraphStructuralRandMeasure = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.GraphStructuralRandMeasure", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_GraphStructuralRandMeasure), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphStructuralRandMeasure, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " The graph-structural Rand measure assigns a similarity value in [0,1]\n\t\tto two partitions of a graph, by considering connected pairs of nodes.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_GraphStructuralRandMeasure, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_GraphStructuralRandMeasure, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_JaccardMeasure(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_JaccardMeasure *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_DissimilarityMeasure(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_JaccardMeasure *)o);
  new((void*)&(p->_this)) NetworKit::JaccardMeasure();
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_JaccardMeasure(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_JaccardMeasure *p = (struct __pyx_obj_9networkit_10_NetworKit_JaccardMeasure *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  __pyx_tp_dealloc_9networkit_10_NetworKit_DissimilarityMeasure(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_JaccardMeasure[] = {
  {"getDissimilarity", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_14JaccardMeasure_1getDissimilarity, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14JaccardMeasure_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14JaccardMeasure_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_JaccardMeasure = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.JaccardMeasure", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_JaccardMeasure), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_JaccardMeasure, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " TODO:\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_JaccardMeasure, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_JaccardMeasure, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_NMIDistance(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_NMIDistance *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_DissimilarityMeasure(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_NMIDistance *)o);
  new((void*)&(p->_this)) NetworKit::NMIDistance();
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_NMIDistance(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_NMIDistance *p = (struct __pyx_obj_9networkit_10_NetworKit_NMIDistance *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  __pyx_tp_dealloc_9networkit_10_NetworKit_DissimilarityMeasure(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_NMIDistance[] = {
  {"getDissimilarity", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_11NMIDistance_1getDissimilarity, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11NMIDistance_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11NMIDistance_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_NMIDistance = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.NMIDistance", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_NMIDistance), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_NMIDistance, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " The NMI distance assigns a similarity value in [0,1] to two partitions\n\t\tof a graph.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_NMIDistance, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_NMIDistance, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_AdjustedRandMeasure(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandMeasure *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_DissimilarityMeasure(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandMeasure *)o);
  new((void*)&(p->_this)) NetworKit::AdjustedRandMeasure();
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_AdjustedRandMeasure(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandMeasure *p = (struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandMeasure *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  __pyx_tp_dealloc_9networkit_10_NetworKit_DissimilarityMeasure(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_AdjustedRandMeasure[] = {
  {"getDissimilarity", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_19AdjustedRandMeasure_1getDissimilarity, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_19AdjustedRandMeasure_getDissimilarity},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19AdjustedRandMeasure_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19AdjustedRandMeasure_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_AdjustedRandMeasure = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.AdjustedRandMeasure", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandMeasure), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_AdjustedRandMeasure, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tThe adjusted rand dissimilarity measure as proposed by Huber and Arabie in \"Comparing partitions\" (http://link.springer.com/article/10.1007/BF01908075)\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_AdjustedRandMeasure, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_AdjustedRandMeasure, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LocalCommunityEvaluation(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_LocalCommunityEvaluation[] = {
  {"getWeightedAverage", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_3getWeightedAverage, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_24LocalCommunityEvaluation_2getWeightedAverage},
  {"getUnweightedAverage", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_5getUnweightedAverage, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_24LocalCommunityEvaluation_4getUnweightedAverage},
  {"getMaximumValue", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_7getMaximumValue, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_24LocalCommunityEvaluation_6getMaximumValue},
  {"getMinimumValue", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_9getMinimumValue, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_24LocalCommunityEvaluation_8getMinimumValue},
  {"getValue", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_11getValue, METH_O, __pyx_doc_9networkit_10_NetworKit_24LocalCommunityEvaluation_10getValue},
  {"getValues", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_13getValues, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_24LocalCommunityEvaluation_12getValues},
  {"isSmallBetter", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_15isSmallBetter, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_24LocalCommunityEvaluation_14isSmallBetter},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_17__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_19__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_LocalCommunityEvaluation = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.LocalCommunityEvaluation", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_LocalCommunityEvaluation), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tVirtual base class of all evaluation methods for a single clustering which is based on the evaluation of single clusters.\n\tThis is the base class both for Partitions as well as for Covers.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_LocalCommunityEvaluation, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_9networkit_10_NetworKit_24LocalCommunityEvaluation_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_LocalCommunityEvaluation, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LocalPartitionEvaluation(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_LocalCommunityEvaluation(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  p->_P = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_24LocalPartitionEvaluation_3__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_LocalPartitionEvaluation(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation *p = (struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_24LocalPartitionEvaluation_5__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_G);
  Py_CLEAR(p->_P);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_LocalPartitionEvaluation(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation *p = (struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_LocalCommunityEvaluation)) ? ((__pyx_ptype_9networkit_10_NetworKit_LocalCommunityEvaluation->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_LocalCommunityEvaluation->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_LocalPartitionEvaluation)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  if (p->_P) {
    e = (*v)(((PyObject *)p->_P), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_LocalPartitionEvaluation(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation *p = (struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_LocalCommunityEvaluation)) { if (__pyx_ptype_9networkit_10_NetworKit_LocalCommunityEvaluation->tp_clear) __pyx_ptype_9networkit_10_NetworKit_LocalCommunityEvaluation->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_LocalPartitionEvaluation);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_P);
  p->_P = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_LocalPartitionEvaluation[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_24LocalPartitionEvaluation_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_24LocalPartitionEvaluation_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_LocalPartitionEvaluation = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.LocalPartitionEvaluation", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionEvaluation), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LocalPartitionEvaluation, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tVirtual base class of all evaluation methods for a single clustering which is based on the evaluation of single clusters.\n\tThis is the base class for Partitions.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_LocalPartitionEvaluation, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_LocalPartitionEvaluation, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_LocalPartitionEvaluation, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_9networkit_10_NetworKit_24LocalPartitionEvaluation_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_LocalPartitionEvaluation, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LocalCoverEvaluation(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_LocalCommunityEvaluation(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  p->_C = ((struct __pyx_obj_9networkit_10_NetworKit_Cover *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_20LocalCoverEvaluation_3__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_LocalCoverEvaluation(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation *p = (struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_20LocalCoverEvaluation_5__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_G);
  Py_CLEAR(p->_C);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_LocalCoverEvaluation(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation *p = (struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_LocalCommunityEvaluation)) ? ((__pyx_ptype_9networkit_10_NetworKit_LocalCommunityEvaluation->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_LocalCommunityEvaluation->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_LocalCoverEvaluation)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  if (p->_C) {
    e = (*v)(((PyObject *)p->_C), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_LocalCoverEvaluation(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation *p = (struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_LocalCommunityEvaluation)) { if (__pyx_ptype_9networkit_10_NetworKit_LocalCommunityEvaluation->tp_clear) __pyx_ptype_9networkit_10_NetworKit_LocalCommunityEvaluation->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_LocalCoverEvaluation);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_C);
  p->_C = ((struct __pyx_obj_9networkit_10_NetworKit_Cover *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_LocalCoverEvaluation[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20LocalCoverEvaluation_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20LocalCoverEvaluation_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_LocalCoverEvaluation = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.LocalCoverEvaluation", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_LocalCoverEvaluation), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LocalCoverEvaluation, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tVirtual base class of all evaluation methods for a single clustering which is based on the evaluation of single clusters.\n\tThis is the base class for Covers.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_LocalCoverEvaluation, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_LocalCoverEvaluation, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_LocalCoverEvaluation, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_9networkit_10_NetworKit_20LocalCoverEvaluation_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_LocalCoverEvaluation, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_IntrapartitionDensity(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_LocalPartitionEvaluation(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_21IntrapartitionDensity_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_IntrapartitionDensity[] = {
  {"getGlobal", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21IntrapartitionDensity_3getGlobal, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_21IntrapartitionDensity_2getGlobal},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21IntrapartitionDensity_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21IntrapartitionDensity_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_IntrapartitionDensity = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.IntrapartitionDensity", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_IntrapartitionDensity), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LocalPartitionEvaluation, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tThe intra-cluster density of a partition is defined as the number of existing edges divided by the number of possible edges.\n\tThe global value is the sum of all existing intra-cluster edges divided by the sum of all possible intra-cluster edges.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph on which the measure shall be evaluated\n\tP : networkit.Partition\n\t\tThe partition that shall be evaluated\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_LocalPartitionEvaluation, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_LocalPartitionEvaluation, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_IntrapartitionDensity, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_24LocalPartitionEvaluation_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_IntrapartitionDensity, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_IsolatedInterpartitionConductance(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_LocalPartitionEvaluation(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_33IsolatedInterpartitionConductance_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_IsolatedInterpartitionConductance[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_33IsolatedInterpartitionConductance_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_33IsolatedInterpartitionConductance_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_IsolatedInterpartitionConductance = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.IsolatedInterpartitionConductance", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_IsolatedInterpartitionConductance), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LocalPartitionEvaluation, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tIsolated inter-partition conductance is a measure for how well a partition\n\t(communtiy/cluster) is separated from the rest of the graph.\n\n\tThe conductance of a partition is defined as the weight of the cut divided\n\tby the volume (the sum of the degrees) of the nodes in the partition or the\n\tnodes in the rest of the graph, whatever is smaller. Small values thus indicate\n\tthat the cut is small compared to the volume of the smaller of the separated\n\tparts. For the whole partitions usually the maximum or the unweighted average\n\tis used.\n\n\tSee also Experiments on Density-Constrained Graph Clustering,\n\tRobert Grke, Andrea Kappes and  Dorothea Wagner, JEA 2015:\n\thttp://dx.doi.org/10.1145/2638551\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph on which the measure shall be evaluated\n\tP : networkit.Partition\n\t\tThe partition that shall be evaluated\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_LocalPartitionEvaluation, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_LocalPartitionEvaluation, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_IsolatedInterpartitionConductance, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_24LocalPartitionEvaluation_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_IsolatedInterpartitionConductance, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_IsolatedInterpartitionExpansion(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_LocalPartitionEvaluation(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_31IsolatedInterpartitionExpansion_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_IsolatedInterpartitionExpansion[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_31IsolatedInterpartitionExpansion_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_31IsolatedInterpartitionExpansion_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_IsolatedInterpartitionExpansion = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.IsolatedInterpartitionExpansion", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_IsolatedInterpartitionExpansion), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LocalPartitionEvaluation, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tIsolated inter-partition expansion is a measure for how well a partition\n\t(communtiy/cluster) is separated from the rest of the graph.\n\n\tThe expansion of a partition is defined as the weight of the cut divided\n\tby number of nodes in the partition or in the rest of the graph, whatever\n\tis smaller. Small values thus indicate that the cut is small compared to\n\tthe size of the smaller of the separated parts. For the whole partitions\n\tusually the maximum or the unweighted average is used. Note that expansion\n\tvalues can be larger than 1.\n\n\tSee also Experiments on Density-Constrained Graph Clustering,\n\tRobert Grke, Andrea Kappes and Dorothea Wagner, JEA 2015:\n\thttp://dx.doi.org/10.1145/2638551\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph on which the measure shall be evaluated\n\tP : networkit.Partition\n\t\tThe partition that shall be evaluated\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_LocalPartitionEvaluation, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_LocalPartitionEvaluation, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_IsolatedInterpartitionExpansion, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_24LocalPartitionEvaluation_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_IsolatedInterpartitionExpansion, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_CoverHubDominance(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_LocalCoverEvaluation(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_17CoverHubDominance_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_CoverHubDominance[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17CoverHubDominance_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17CoverHubDominance_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_CoverHubDominance = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.CoverHubDominance", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_CoverHubDominance), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LocalCoverEvaluation, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tA quality measure that measures the dominance of hubs in clusters. The hub dominance of a single\n\tcluster is defined as the maximum cluster-internal degree of a node in that cluster divided by\n\tthe maximum cluster-internal degree, i.e. the number of nodes in the cluster minus one. The\n\tvalue for all clusters is defined as the average of all clusters.\n\tThis implementation is a natural generalization of this measure for covers.\n\tStrictly speaking this is not a quality measure as this is rather dependent on the type of the\n\tconsidered graph, for more information see\n\tLancichinetti A, Kivel M, Saramki J, Fortunato S (2010)\n\tCharacterizing the Community Structure of Complex Networks\n\tPLoS ONE 5(8): e11976. doi: 10.1371/journal.pone.0011976\n\thttp://www.plosone.org/article/info%3Adoi%2F10.1371%2Fjournal.pone.0011976\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph on which the measure shall be evaluated\n\tC : networkit.Cover\n\t\tThe cover that shall be evaluated\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_LocalCoverEvaluation, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_LocalCoverEvaluation, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_CoverHubDominance, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_20LocalCoverEvaluation_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_CoverHubDominance, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PartitionHubDominance(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_LocalPartitionEvaluation(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_21PartitionHubDominance_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_PartitionHubDominance[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21PartitionHubDominance_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21PartitionHubDominance_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_PartitionHubDominance = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.PartitionHubDominance", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_PartitionHubDominance), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LocalPartitionEvaluation, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tA quality measure that measures the dominance of hubs in clusters. The hub dominance of a single\n\tcluster is defined as the maximum cluster-internal degree of a node in that cluster divided by\n\tthe maximum cluster-internal degree, i.e. the number of nodes in the cluster minus one. The\n\tvalue for all clusters is defined as the average of all clusters.\n\tStrictly speaking this is not a quality measure as this is rather dependent on the type of the\n\tconsidered graph, for more information see\n\tLancichinetti A, Kivel M, Saramki J, Fortunato S (2010)\n\tCharacterizing the Community Structure of Complex Networks\n\tPLoS ONE 5(8): e11976. doi: 10.1371/journal.pone.0011976\n\thttp://www.plosone.org/article/info%3Adoi%2F10.1371%2Fjournal.pone.0011976\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph on which the measure shall be evaluated\n\tP : networkit.Partition\n\t\tThe partition that shall be evaluated\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_LocalPartitionEvaluation, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_LocalPartitionEvaluation, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_PartitionHubDominance, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_24LocalPartitionEvaluation_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_PartitionHubDominance, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PartitionFragmentation(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_LocalPartitionEvaluation(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_22PartitionFragmentation_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_PartitionFragmentation[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22PartitionFragmentation_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22PartitionFragmentation_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_PartitionFragmentation = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.PartitionFragmentation", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_PartitionFragmentation), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LocalPartitionEvaluation, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tThis measure evaluates how fragmented a partition is. The fragmentation of a single cluster is defined as one minus the\n\tnumber of nodes in its maximum connected componented divided by its total number of nodes. Smaller values thus indicate a smaller fragmentation.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph on which the measure shall be evaluated\n\tP : networkit.Partition\n\t\tThe partition that shall be evaluated\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_LocalPartitionEvaluation, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_LocalPartitionEvaluation, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_PartitionFragmentation, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_24LocalPartitionEvaluation_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_PartitionFragmentation, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_StablePartitionNodes(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_LocalPartitionEvaluation(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_20StablePartitionNodes_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_StablePartitionNodes[] = {
  {"isStable", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20StablePartitionNodes_3isStable, METH_O, __pyx_doc_9networkit_10_NetworKit_20StablePartitionNodes_2isStable},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20StablePartitionNodes_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20StablePartitionNodes_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_StablePartitionNodes = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.StablePartitionNodes", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_StablePartitionNodes), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LocalPartitionEvaluation, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tEvaluates how stable a given partition is. A node is considered to be stable if it has strictly more connections\n\tto its own partition than to other partitions. Isolated nodes are considered to be stable.\n\tThe value of a cluster is the percentage of stable nodes in the cluster.\n\tLarger values indicate that a clustering is more stable and thus better defined.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph on which the measure shall be evaluated\n\tP : networkit.Partition\n\t\tThe partition that shall be evaluated\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_LocalPartitionEvaluation, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_LocalPartitionEvaluation, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_StablePartitionNodes, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_24LocalPartitionEvaluation_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_StablePartitionNodes, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_CoverF1Similarity(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_CoverF1Similarity *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_LocalCoverEvaluation(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_CoverF1Similarity *)o);
  p->_reference = ((struct __pyx_obj_9networkit_10_NetworKit_Cover *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_17CoverF1Similarity_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_CoverF1Similarity(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_CoverF1Similarity *p = (struct __pyx_obj_9networkit_10_NetworKit_CoverF1Similarity *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_reference);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_LocalCoverEvaluation(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_CoverF1Similarity(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_CoverF1Similarity *p = (struct __pyx_obj_9networkit_10_NetworKit_CoverF1Similarity *)o;
  e = __pyx_tp_traverse_9networkit_10_NetworKit_LocalCoverEvaluation(o, v, a); if (e) return e;
  if (p->_reference) {
    e = (*v)(((PyObject *)p->_reference), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_CoverF1Similarity(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_CoverF1Similarity *p = (struct __pyx_obj_9networkit_10_NetworKit_CoverF1Similarity *)o;
  __pyx_tp_clear_9networkit_10_NetworKit_LocalCoverEvaluation(o);
  tmp = ((PyObject*)p->_reference);
  p->_reference = ((struct __pyx_obj_9networkit_10_NetworKit_Cover *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_CoverF1Similarity[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17CoverF1Similarity_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17CoverF1Similarity_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_CoverF1Similarity = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.CoverF1Similarity", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_CoverF1Similarity), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_CoverF1Similarity, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tCompare a given cover to a reference cover using the F1 measure.\n\tThis is a typical similarity measure used to compare the found\n\toverlapping community structure to a ground truth community\n\tstructure. Each cluster is compared to the best-matching reference\n\tcluster (in terms of highest F1 score). A value of 1 indicates\n\tperfect agreement while a while of 0 indicates complete\n\tdisagreement. An example where this measure is used is the\n\tfollowing paper:\n\n\tAlessandro Epasto, Silvio Lattanzi, and Renato Paes\n\tLeme. 2017. Ego-Splitting Framework: from Non-Overlapping to\n\tOverlapping Clusters. In Proceedings of the 23rd ACM SIGKDD\n\tInternational Conference on Knowledge Discovery and Data Mining\n\t(KDD '17). ACM, New York, NY, USA, 145-154. DOI:\n\thttps://doi.org/10.1145/3097983.3098054\n\n\tParameters\n\t----------\n\tG : Graph\n\t\tThe graph on which the evaluation is performed.\n\tC : Cover\n\t\tThe cover that shall be evaluated\n        reference : Cover\n\t\tThe cover to which the similarity shall be computed\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_CoverF1Similarity, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_CoverF1Similarity, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_CoverF1Similarity, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_20LocalCoverEvaluation_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_CoverF1Similarity, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EdmondsKarp(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *)o);
  p->_graph = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_11EdmondsKarp_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_EdmondsKarp(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *p = (struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_11EdmondsKarp_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_graph);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_EdmondsKarp(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *p = (struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *)o;
  if (p->_graph) {
    e = (*v)(((PyObject *)p->_graph), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_EdmondsKarp(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *p = (struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp *)o;
  tmp = ((PyObject*)p->_graph);
  p->_graph = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_EdmondsKarp[] = {
  {"run", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11EdmondsKarp_5run, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_11EdmondsKarp_4run},
  {"getMaxFlow", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11EdmondsKarp_7getMaxFlow, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_11EdmondsKarp_6getMaxFlow},
  {"getSourceSet", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11EdmondsKarp_9getSourceSet, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_11EdmondsKarp_8getSourceSet},
  {"getFlow", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_11EdmondsKarp_11getFlow, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_11EdmondsKarp_10getFlow},
  {"getFlowVector", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11EdmondsKarp_13getFlowVector, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_11EdmondsKarp_12getFlowVector},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11EdmondsKarp_15__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11EdmondsKarp_17__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_EdmondsKarp = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.EdmondsKarp", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_EdmondsKarp), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdmondsKarp, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tThe EdmondsKarp class implements the maximum flow algorithm by Edmonds and Karp.\n\n\tParameters\n\t----------\n\tgraph : networkit.Graph\n\t\tThe graph\n\tsource : node\n\t\tThe source node for the flow calculation\n\tsink : node\n\t\tThe sink node for the flow calculation\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_EdmondsKarp, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_EdmondsKarp, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_EdmondsKarp, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_EdmondsKarp, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ConnectedComponents(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_19ConnectedComponents_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_ConnectedComponents(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *p = (struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_ConnectedComponents(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *p = (struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_ConnectedComponents)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_ConnectedComponents(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *p = (struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_ConnectedComponents);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_ConnectedComponents[] = {
  {"getPartition", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19ConnectedComponents_3getPartition, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_19ConnectedComponents_2getPartition},
  {"numberOfComponents", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19ConnectedComponents_5numberOfComponents, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_19ConnectedComponents_4numberOfComponents},
  {"componentOfNode", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19ConnectedComponents_7componentOfNode, METH_O, __pyx_doc_9networkit_10_NetworKit_19ConnectedComponents_6componentOfNode},
  {"getComponentSizes", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19ConnectedComponents_9getComponentSizes, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_19ConnectedComponents_8getComponentSizes},
  {"getComponents", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19ConnectedComponents_11getComponents, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_19ConnectedComponents_10getComponents},
  {"extractLargestConnectedComponent", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_19ConnectedComponents_13extractLargestConnectedComponent, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_19ConnectedComponents_12extractLargestConnectedComponent},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19ConnectedComponents_15__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19ConnectedComponents_17__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_ConnectedComponents = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.ConnectedComponents", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_ConnectedComponents), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_ConnectedComponents, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Determines the connected components and associated values for an undirected graph.\n\n\tConnectedComponents(G)\n\n\tCreate ConnectedComponents for Graph `G`.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_ConnectedComponents, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_ConnectedComponents, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_ConnectedComponents, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_ConnectedComponents, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ParallelConnectedComponents(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_27ParallelConnectedComponents_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_ParallelConnectedComponents(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents *p = (struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_ParallelConnectedComponents(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents *p = (struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_ParallelConnectedComponents)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_ParallelConnectedComponents(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents *p = (struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_ParallelConnectedComponents);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_ParallelConnectedComponents[] = {
  {"getPartition", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_27ParallelConnectedComponents_3getPartition, METH_NOARGS, 0},
  {"numberOfComponents", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_27ParallelConnectedComponents_5numberOfComponents, METH_NOARGS, 0},
  {"componentOfNode", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_27ParallelConnectedComponents_7componentOfNode, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_27ParallelConnectedComponents_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_27ParallelConnectedComponents_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_ParallelConnectedComponents = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.ParallelConnectedComponents", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_ParallelConnectedComponents), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_ParallelConnectedComponents, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Determines the connected components and associated values for\n\t\tan undirected graph.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_ParallelConnectedComponents, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_ParallelConnectedComponents, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_ParallelConnectedComponents, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_ParallelConnectedComponents, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_StronglyConnectedComponents(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_StronglyConnectedComponents(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *p = (struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_G);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_StronglyConnectedComponents(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *p = (struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *)o;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_StronglyConnectedComponents(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *p = (struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents *)o;
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_StronglyConnectedComponents[] = {
  {"run", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_5run, METH_NOARGS, 0},
  {"runIteratively", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_7runIteratively, METH_NOARGS, 0},
  {"runRecursively", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_9runRecursively, METH_NOARGS, 0},
  {"getPartition", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_11getPartition, METH_NOARGS, 0},
  {"numberOfComponents", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_13numberOfComponents, METH_NOARGS, 0},
  {"componentOfNode", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_15componentOfNode, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_17__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_27StronglyConnectedComponents_19__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_StronglyConnectedComponents = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.StronglyConnectedComponents", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_StronglyConnectedComponents), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_StronglyConnectedComponents, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Determines the connected components and associated values for\n\t\ta directed graph.\n\n\t\tBy default, the iterative implementation is used. If edges on the graph have been removed,\n\t\tyou should switch to the recursive implementation.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe graph.\n\t\titerativeAlgo : bool\n\t\t\tSpecifies which implementation to use, by default True for the iterative implementation.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_StronglyConnectedComponents, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_StronglyConnectedComponents, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_StronglyConnectedComponents, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_StronglyConnectedComponents, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_WeaklyConnectedComponents(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_25WeaklyConnectedComponents_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_WeaklyConnectedComponents(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *p = (struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_WeaklyConnectedComponents(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *p = (struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_WeaklyConnectedComponents)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_WeaklyConnectedComponents(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *p = (struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_WeaklyConnectedComponents);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_WeaklyConnectedComponents[] = {
  {"numberOfComponents", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_25WeaklyConnectedComponents_3numberOfComponents, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_25WeaklyConnectedComponents_2numberOfComponents},
  {"componentOfNode", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_25WeaklyConnectedComponents_5componentOfNode, METH_O, __pyx_doc_9networkit_10_NetworKit_25WeaklyConnectedComponents_4componentOfNode},
  {"getComponentSizes", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_25WeaklyConnectedComponents_7getComponentSizes, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_25WeaklyConnectedComponents_6getComponentSizes},
  {"getComponents", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_25WeaklyConnectedComponents_9getComponents, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_25WeaklyConnectedComponents_8getComponents},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_25WeaklyConnectedComponents_11__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_25WeaklyConnectedComponents_13__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_WeaklyConnectedComponents = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.WeaklyConnectedComponents", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_WeaklyConnectedComponents), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_WeaklyConnectedComponents, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Determines the weakly connected components of a directed graph.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe graph.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_WeaklyConnectedComponents, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_WeaklyConnectedComponents, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_WeaklyConnectedComponents, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_WeaklyConnectedComponents, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_BiconnectedComponents(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_21BiconnectedComponents_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_BiconnectedComponents(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents *p = (struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_BiconnectedComponents(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents *p = (struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_BiconnectedComponents)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_BiconnectedComponents(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents *p = (struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_BiconnectedComponents);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_BiconnectedComponents[] = {
  {"numberOfComponents", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21BiconnectedComponents_3numberOfComponents, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_21BiconnectedComponents_2numberOfComponents},
  {"getComponentSizes", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21BiconnectedComponents_5getComponentSizes, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_21BiconnectedComponents_4getComponentSizes},
  {"getComponents", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21BiconnectedComponents_7getComponents, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_21BiconnectedComponents_6getComponents},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21BiconnectedComponents_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21BiconnectedComponents_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_BiconnectedComponents = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.BiconnectedComponents", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_BiconnectedComponents), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_BiconnectedComponents, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Determines the biconnected components of an undirected graph as defined in\n\t\tTarjan, Robert. Depth-First Search and Linear Graph Algorithms. SIAM J.\n\t\tComput. Vol 1, No. 2, June 1972.\n\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe graph.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_BiconnectedComponents, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_BiconnectedComponents, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_BiconnectedComponents, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_BiconnectedComponents, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynConnectedComponents(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_22DynConnectedComponents_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_DynConnectedComponents(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *p = (struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_DynConnectedComponents(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *p = (struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_DynConnectedComponents)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_DynConnectedComponents(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *p = (struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_DynConnectedComponents);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_DynConnectedComponents[] = {
  {"numberOfComponents", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22DynConnectedComponents_3numberOfComponents, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_22DynConnectedComponents_2numberOfComponents},
  {"componentOfNode", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22DynConnectedComponents_5componentOfNode, METH_O, __pyx_doc_9networkit_10_NetworKit_22DynConnectedComponents_4componentOfNode},
  {"getComponentSizes", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22DynConnectedComponents_7getComponentSizes, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_22DynConnectedComponents_6getComponentSizes},
  {"getComponents", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22DynConnectedComponents_9getComponents, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_22DynConnectedComponents_8getComponents},
  {"update", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22DynConnectedComponents_11update, METH_O, __pyx_doc_9networkit_10_NetworKit_22DynConnectedComponents_10update},
  {"updateBatch", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22DynConnectedComponents_13updateBatch, METH_O, __pyx_doc_9networkit_10_NetworKit_22DynConnectedComponents_12updateBatch},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22DynConnectedComponents_15__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22DynConnectedComponents_17__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_DynConnectedComponents = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.DynConnectedComponents", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_DynConnectedComponents), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_DynConnectedComponents, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Determines and updates the connected components of an undirected graph.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe graph.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_DynConnectedComponents, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_DynConnectedComponents, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_DynConnectedComponents, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_DynConnectedComponents, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynWeaklyConnectedComponents(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_DynWeaklyConnectedComponents(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *p = (struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_DynWeaklyConnectedComponents(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *p = (struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_DynWeaklyConnectedComponents)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_DynWeaklyConnectedComponents(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *p = (struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_DynWeaklyConnectedComponents);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_DynWeaklyConnectedComponents[] = {
  {"numberOfComponents", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_3numberOfComponents, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_2numberOfComponents},
  {"componentOfNode", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_5componentOfNode, METH_O, __pyx_doc_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_4componentOfNode},
  {"getComponentSizes", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_7getComponentSizes, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_6getComponentSizes},
  {"getComponents", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_9getComponents, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_8getComponents},
  {"update", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_11update, METH_O, __pyx_doc_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_10update},
  {"updateBatch", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_13updateBatch, METH_O, __pyx_doc_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_12updateBatch},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_15__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_28DynWeaklyConnectedComponents_17__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_DynWeaklyConnectedComponents = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.DynWeaklyConnectedComponents", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_DynWeaklyConnectedComponents), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_DynWeaklyConnectedComponents, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Determines and updates the weakly connected components of a directed graph.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe graph.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_DynWeaklyConnectedComponents, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_DynWeaklyConnectedComponents, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_DynWeaklyConnectedComponents, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_DynWeaklyConnectedComponents, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ClusteringCoefficient(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_ClusteringCoefficient(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_ClusteringCoefficient[] = {
  {"avgLocal", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_21ClusteringCoefficient_1avgLocal, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_21ClusteringCoefficient_avgLocal},
  {"sequentialAvgLocal", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_21ClusteringCoefficient_3sequentialAvgLocal, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_21ClusteringCoefficient_2sequentialAvgLocal},
  {"approxAvgLocal", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_21ClusteringCoefficient_5approxAvgLocal, METH_VARARGS|METH_KEYWORDS, 0},
  {"exactGlobal", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_21ClusteringCoefficient_7exactGlobal, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_21ClusteringCoefficient_6exactGlobal},
  {"approxGlobal", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_21ClusteringCoefficient_9approxGlobal, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21ClusteringCoefficient_11__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21ClusteringCoefficient_13__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_ClusteringCoefficient = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.ClusteringCoefficient", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_ClusteringCoefficient), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_ClusteringCoefficient, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit_ClusteringCoefficient, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_ClusteringCoefficient, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Diameter(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_Diameter *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_Diameter *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_8Diameter_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_Diameter(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_Diameter *p = (struct __pyx_obj_9networkit_10_NetworKit_Diameter *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_Diameter(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_Diameter *p = (struct __pyx_obj_9networkit_10_NetworKit_Diameter *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_Diameter)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_Diameter(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_Diameter *p = (struct __pyx_obj_9networkit_10_NetworKit_Diameter *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_Diameter);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_Diameter[] = {
  {"getDiameter", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_8Diameter_3getDiameter, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_8Diameter_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_8Diameter_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_Diameter = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.Diameter", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_Diameter), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Diameter, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit_Diameter, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_Diameter, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_Diameter, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_Diameter, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Eccentricity(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_Eccentricity(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_Eccentricity[] = {
  {"getValue", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_12Eccentricity_1getValue, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_12Eccentricity_getValue},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12Eccentricity_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12Eccentricity_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_Eccentricity = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.Eccentricity", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_Eccentricity), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Eccentricity, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tThe eccentricity of a node `u` is defined as the distance to the farthest node from node u. In other words, it is the longest shortest-path starting from node `u`.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_Eccentricity, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_Eccentricity, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EffectiveDiameter(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameter *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameter *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_17EffectiveDiameter_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_EffectiveDiameter(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameter *p = (struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameter *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_EffectiveDiameter(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameter *p = (struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameter *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_EffectiveDiameter)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_EffectiveDiameter(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameter *p = (struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameter *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_EffectiveDiameter);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_EffectiveDiameter[] = {
  {"getEffectiveDiameter", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17EffectiveDiameter_3getEffectiveDiameter, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_17EffectiveDiameter_2getEffectiveDiameter},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17EffectiveDiameter_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17EffectiveDiameter_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_EffectiveDiameter = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.EffectiveDiameter", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameter), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_EffectiveDiameter, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tCalculates the effective diameter of a graph.\n\tThe effective diameter is defined as the number of edges on average to reach a given ratio of all other nodes.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph.\n\tratio : double\n\t\tThe percentage of nodes that shall be within stepwidth; default = 0.9\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_EffectiveDiameter, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_EffectiveDiameter, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_EffectiveDiameter, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_EffectiveDiameter, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EffectiveDiameterApproximation(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameterApproximation *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameterApproximation *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_30EffectiveDiameterApproximation_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_EffectiveDiameterApproximation(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameterApproximation *p = (struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameterApproximation *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_EffectiveDiameterApproximation(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameterApproximation *p = (struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameterApproximation *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_EffectiveDiameterApproximation)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_EffectiveDiameterApproximation(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameterApproximation *p = (struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameterApproximation *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_EffectiveDiameterApproximation);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_EffectiveDiameterApproximation[] = {
  {"getEffectiveDiameter", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_30EffectiveDiameterApproximation_3getEffectiveDiameter, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_30EffectiveDiameterApproximation_2getEffectiveDiameter},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_30EffectiveDiameterApproximation_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_30EffectiveDiameterApproximation_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_EffectiveDiameterApproximation = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.EffectiveDiameterApproximation", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_EffectiveDiameterApproximation), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_EffectiveDiameterApproximation, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tCalculates the effective diameter of a graph.\n\tThe effective diameter is defined as the number of edges on average to reach a given ratio of all other nodes.\n\n\tImplementation after the ANF algorithm presented in the paper \"A Fast and Scalable Tool for Data Mining in Massive Graphs\"[1]\n\n\t[1] by Palmer, Gibbons and Faloutsos which can be found here: http://www.cs.cmu.edu/~christos/PUBLICATIONS/kdd02-anf.pdf\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph.\n\tratio : double\n\t\tThe percentage of nodes that shall be within stepwidth, default = 0.9\n\tk : count\n\t\tnumber of parallel approximations, bigger k -> longer runtime, more precise result; default = 64\n\tr : count\n\t\tnumber of additional bits, important in tiny graphs; default = 7\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_EffectiveDiameterApproximation, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_EffectiveDiameterApproximation, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_EffectiveDiameterApproximation, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_EffectiveDiameterApproximation, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_HopPlotApproximation(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_HopPlotApproximation *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_HopPlotApproximation *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_20HopPlotApproximation_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_HopPlotApproximation(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_HopPlotApproximation *p = (struct __pyx_obj_9networkit_10_NetworKit_HopPlotApproximation *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_HopPlotApproximation(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_HopPlotApproximation *p = (struct __pyx_obj_9networkit_10_NetworKit_HopPlotApproximation *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_HopPlotApproximation)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_HopPlotApproximation(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_HopPlotApproximation *p = (struct __pyx_obj_9networkit_10_NetworKit_HopPlotApproximation *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_HopPlotApproximation);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_HopPlotApproximation[] = {
  {"getHopPlot", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20HopPlotApproximation_3getHopPlot, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_20HopPlotApproximation_2getHopPlot},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20HopPlotApproximation_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20HopPlotApproximation_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_HopPlotApproximation = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.HopPlotApproximation", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_HopPlotApproximation), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_HopPlotApproximation, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tComputes an approxmation of the hop-plot of a given graph.\n\tThe hop-plot is the set of pairs (d, g(g)) for each natural number d\n\tand where g(d) is the fraction of connected node pairs whose shortest connecting path has length at most d.\n\n\tImplementation after the ANF algorithm presented in the paper \"A Fast and Scalable Tool for Data Mining in Massive Graphs\"[1]\n\n\t[1] by Palmer, Gibbons and Faloutsos which can be found here: http://www.cs.cmu.edu/~christos/PUBLICATIONS/kdd02-anf.pdf\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph.\n\tmaxDistance : double\n\t\tmaximum distance between considered nodes\n\t\tset to 0 or negative to get the hop-plot for the entire graph so that each node can reach each other node\n\tk : count\n\t\tnumber of parallel approximations, bigger k -> longer runtime, more precise result; default = 64\n\tr : count\n\t\tnumber of additional bits, important in tiny graphs; default = 7\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_HopPlotApproximation, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_HopPlotApproximation, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_HopPlotApproximation, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_HopPlotApproximation, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_NeighborhoodFunction(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunction *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunction *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_20NeighborhoodFunction_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_NeighborhoodFunction(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunction *p = (struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunction *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_NeighborhoodFunction(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunction *p = (struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunction *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_NeighborhoodFunction)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_NeighborhoodFunction(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunction *p = (struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunction *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_NeighborhoodFunction);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_NeighborhoodFunction[] = {
  {"getNeighborhoodFunction", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20NeighborhoodFunction_3getNeighborhoodFunction, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_20NeighborhoodFunction_2getNeighborhoodFunction},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20NeighborhoodFunction_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20NeighborhoodFunction_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_NeighborhoodFunction = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.NeighborhoodFunction", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunction), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_NeighborhoodFunction, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tComputes the neighborhood function exactly.\n\tThe neighborhood function N of a graph G for a given distance t is defined\n\tas the number of node pairs (u,v) that can be reached within distance t.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_NeighborhoodFunction, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_NeighborhoodFunction, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_NeighborhoodFunction, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_NeighborhoodFunction, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_NeighborhoodFunctionApproximation(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionApproximation *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionApproximation *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_33NeighborhoodFunctionApproximation_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_NeighborhoodFunctionApproximation(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionApproximation *p = (struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionApproximation *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_NeighborhoodFunctionApproximation(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionApproximation *p = (struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionApproximation *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_NeighborhoodFunctionApproximation)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_NeighborhoodFunctionApproximation(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionApproximation *p = (struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionApproximation *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_NeighborhoodFunctionApproximation);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_NeighborhoodFunctionApproximation[] = {
  {"getNeighborhoodFunction", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_33NeighborhoodFunctionApproximation_3getNeighborhoodFunction, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_33NeighborhoodFunctionApproximation_2getNeighborhoodFunction},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_33NeighborhoodFunctionApproximation_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_33NeighborhoodFunctionApproximation_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_NeighborhoodFunctionApproximation = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.NeighborhoodFunctionApproximation", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionApproximation), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_NeighborhoodFunctionApproximation, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tComputes an approximation of the neighborhood function.\n\tThe neighborhood function N of a graph G for a given distance t is defined\n\tas the number of node pairs (u,v) that can be reached within distance t.\n\n\tImplementation after the ANF algorithm presented in the paper \"A Fast and Scalable Tool for Data Mining in Massive Graphs\"[1]\n\n\t[1] by Palmer, Gibbons and Faloutsos which can be found here: http://www.cs.cmu.edu/~christos/PUBLICATIONS/kdd02-anf.pdf\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph.\n\tk : count\n\t\tnumber of approximations, bigger k -> longer runtime, more precise result; default = 64\n\tr : count\n\t\tnumber of additional bits, important in tiny graphs; default = 7\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_NeighborhoodFunctionApproximation, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_NeighborhoodFunctionApproximation, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_NeighborhoodFunctionApproximation, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_NeighborhoodFunctionApproximation, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_29NeighborhoodFunctionHeuristic_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic *p = (struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic *p = (struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic *p = (struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic[] = {
  {"getNeighborhoodFunction", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_29NeighborhoodFunctionHeuristic_3getNeighborhoodFunction, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_29NeighborhoodFunctionHeuristic_2getNeighborhoodFunction},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_29NeighborhoodFunctionHeuristic_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_29NeighborhoodFunctionHeuristic_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.NeighborhoodFunctionHeuristic", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tComputes a heuristic of the neighborhood function.\n\tThe algorithm runs nSamples breadth-first searches and scales the results up to the actual amount of nodes.\n\tAccepted strategies are \"split\" and \"random\".\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph.\n\tnSamples : count\n\t\tthe amount of samples, set to zero for heuristic of max(sqrt(m), 0.15*n)\n\tstrategy : enum\n\t\tthe strategy to select the samples, accepts \"random\" or \"split\"\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Assortativity(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_Assortativity *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_Assortativity *)o);
  new((void*)&(p->attribute)) std::vector<double> ();
  p->G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  p->partition = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_13Assortativity_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_Assortativity(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_Assortativity *p = (struct __pyx_obj_9networkit_10_NetworKit_Assortativity *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->attribute);
  Py_CLEAR(p->G);
  Py_CLEAR(p->partition);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_Assortativity(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_Assortativity *p = (struct __pyx_obj_9networkit_10_NetworKit_Assortativity *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_Assortativity)); if (e) return e;
  if (p->G) {
    e = (*v)(((PyObject *)p->G), a); if (e) return e;
  }
  if (p->partition) {
    e = (*v)(((PyObject *)p->partition), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_Assortativity(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_Assortativity *p = (struct __pyx_obj_9networkit_10_NetworKit_Assortativity *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_Assortativity);
  tmp = ((PyObject*)p->G);
  p->G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->partition);
  p->partition = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_Assortativity[] = {
  {"getCoefficient", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_13Assortativity_3getCoefficient, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_13Assortativity_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_13Assortativity_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_Assortativity = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.Assortativity", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_Assortativity), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Assortativity, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " ", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_Assortativity, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_Assortativity, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_Assortativity, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_Assortativity, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Centrality(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_Centrality *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_Centrality *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_Centrality(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_Centrality *p = (struct __pyx_obj_9networkit_10_NetworKit_Centrality *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_10Centrality_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_Centrality(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_Centrality *p = (struct __pyx_obj_9networkit_10_NetworKit_Centrality *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_Centrality)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_Centrality(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_Centrality *p = (struct __pyx_obj_9networkit_10_NetworKit_Centrality *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_Centrality);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_Centrality[] = {
  {"scores", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_10Centrality_5scores, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_10Centrality_4scores},
  {"score", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_10Centrality_7score, METH_O, __pyx_doc_9networkit_10_NetworKit_10Centrality_6score},
  {"ranking", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_10Centrality_9ranking, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_10Centrality_8ranking},
  {"maximum", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_10Centrality_11maximum, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_10Centrality_10maximum},
  {"centralization", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_10Centrality_13centralization, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_10Centrality_12centralization},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_10Centrality_15__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_10Centrality_17__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_Centrality = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.Centrality", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_Centrality), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Centrality, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Abstract base class for centrality measures", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_Centrality, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_Centrality, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_Centrality, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_9networkit_10_NetworKit_10Centrality_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_Centrality, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_TopCloseness(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_TopCloseness *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_TopCloseness *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_12TopCloseness_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_TopCloseness(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_TopCloseness *p = (struct __pyx_obj_9networkit_10_NetworKit_TopCloseness *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_TopCloseness(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_TopCloseness *p = (struct __pyx_obj_9networkit_10_NetworKit_TopCloseness *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_TopCloseness)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_TopCloseness(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_TopCloseness *p = (struct __pyx_obj_9networkit_10_NetworKit_TopCloseness *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_TopCloseness);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_TopCloseness[] = {
  {"topkNodesList", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_12TopCloseness_3topkNodesList, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_12TopCloseness_2topkNodesList},
  {"topkScoresList", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_12TopCloseness_5topkScoresList, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_12TopCloseness_4topkScoresList},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12TopCloseness_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12TopCloseness_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_TopCloseness = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.TopCloseness", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_TopCloseness), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_TopCloseness, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tFinds the top k nodes with highest closeness centrality faster than computing it for all nodes, based on \"Computing Top-k Closeness Centrality Faster in Unweighted Graphs\", Bergamini et al., ALENEX16.\n\tThe algorithms is based on two independent heuristics, described in the referenced paper. We recommend to use first_heu = true and second_heu = false for complex networks and first_heu = true and second_heu = true for street networks or networks with large diameters.\n\n\tTopCloseness(G, k=1, first_heu=True, sec_heu=True)\n\n\tParameters\n\t----------\n\tG: An unweighted graph.\n\tk: Number of nodes with highest closeness that have to be found. For example, if k = 10, the top 10 nodes with highest closeness will be computed.\n\tfirst_heu: If true, the neighborhood-based lower bound is computed and nodes are sorted according to it. If false, nodes are simply sorted by degree.\n\tsec_heu: If true, the BFSbound is re-computed at each iteration. If false, BFScut is used.\n\tThe worst case running time of the algorithm is O(nm), where n is the number of nodes and m is the number of edges.\n\tHowever, for most networks the empirical running time is O(m).\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_TopCloseness, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_TopCloseness, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_TopCloseness, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_TopCloseness, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_TopHarmonicCloseness(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_TopHarmonicCloseness *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_TopHarmonicCloseness *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_20TopHarmonicCloseness_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_TopHarmonicCloseness(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_TopHarmonicCloseness *p = (struct __pyx_obj_9networkit_10_NetworKit_TopHarmonicCloseness *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_TopHarmonicCloseness(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_TopHarmonicCloseness *p = (struct __pyx_obj_9networkit_10_NetworKit_TopHarmonicCloseness *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_TopHarmonicCloseness)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_TopHarmonicCloseness(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_TopHarmonicCloseness *p = (struct __pyx_obj_9networkit_10_NetworKit_TopHarmonicCloseness *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_TopHarmonicCloseness);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_TopHarmonicCloseness[] = {
  {"topkNodesList", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_20TopHarmonicCloseness_3topkNodesList, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_20TopHarmonicCloseness_2topkNodesList},
  {"topkScoresList", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_20TopHarmonicCloseness_5topkScoresList, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_20TopHarmonicCloseness_4topkScoresList},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20TopHarmonicCloseness_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20TopHarmonicCloseness_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_TopHarmonicCloseness = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.TopHarmonicCloseness", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_TopHarmonicCloseness), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_TopHarmonicCloseness, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Finds the top k nodes with highest harmonic closeness centrality faster\n            than computing it for all nodes. The implementation is based on \"Computing\n            Top-k Centrality Faster in Unweighted Graphs\", Bergamini et al., ALENEX16.\n            The algorithms are based on two heuristics. We reccommend to use\n            useBFSbound = false for complex networks (or networks with small diameter)\n            and useBFSbound = true for street networks (or networks with large\n            diameters). Notice that the worst case running time of the algorithm is\n            O(nm), where n is the number of nodes and m is the number of edges.\n            However, for most real-world networks the empirical running time is O(m).\n\n\n\tTopCloseness(G, k=1, useBFSbound=True)\n\n\tParameters\n\t----------\n\tG: An unweighted graph.\n\tk: Number of nodes with highest closeness that have to be found. For example, if k = 10, the top 10 nodes with highest closeness will be computed.\n\tuseBFSbound: If true, the BFSbound is re-computed at each iteration. If false, BFScut is used.\n\tThe worst case running time of the algorithm is O(nm), where n is the number of nodes and m is the number of edges.\n\tHowever, for most networks the empirical running time is O(m).\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_TopHarmonicCloseness, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_TopHarmonicCloseness, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_TopHarmonicCloseness, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_TopHarmonicCloseness, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynKatzCentrality(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Centrality(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_17DynKatzCentrality_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_DynKatzCentrality[] = {
  {"update", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17DynKatzCentrality_3update, METH_O, 0},
  {"updateBatch", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17DynKatzCentrality_5updateBatch, METH_O, 0},
  {"top", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_17DynKatzCentrality_7top, METH_VARARGS|METH_KEYWORDS, 0},
  {"bound", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17DynKatzCentrality_9bound, METH_O, 0},
  {"areDistinguished", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_17DynKatzCentrality_11areDistinguished, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17DynKatzCentrality_13__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17DynKatzCentrality_15__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_DynKatzCentrality = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.DynKatzCentrality", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_DynKatzCentrality), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Centrality, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Finds the top-k nodes with highest Katz centrality.\n\n\tDynKatzCentrality(G, k, groupOnly=False, tolerance=1e-9)\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_Centrality, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_Centrality, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_DynKatzCentrality, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_10Centrality_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_DynKatzCentrality, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynTopHarmonicCloseness(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_23DynTopHarmonicCloseness_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_DynTopHarmonicCloseness(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *p = (struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_DynTopHarmonicCloseness(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *p = (struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_DynTopHarmonicCloseness)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_DynTopHarmonicCloseness(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *p = (struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_DynTopHarmonicCloseness);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_DynTopHarmonicCloseness[] = {
  {"ranking", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_23DynTopHarmonicCloseness_3ranking, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_23DynTopHarmonicCloseness_2ranking},
  {"topkNodesList", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_23DynTopHarmonicCloseness_5topkNodesList, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_23DynTopHarmonicCloseness_4topkNodesList},
  {"topkScoresList", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_23DynTopHarmonicCloseness_7topkScoresList, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_23DynTopHarmonicCloseness_6topkScoresList},
  {"update", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_23DynTopHarmonicCloseness_9update, METH_O, 0},
  {"updateBatch", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_23DynTopHarmonicCloseness_11updateBatch, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_23DynTopHarmonicCloseness_13__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_23DynTopHarmonicCloseness_15__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_DynTopHarmonicCloseness = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.DynTopHarmonicCloseness", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_DynTopHarmonicCloseness), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_DynTopHarmonicCloseness, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Finds the top k nodes with highest harmonic closeness centrality faster\n        than computing it for all nodes and updates them after a single or multiple\n        edge update. The implementation is based on \"Computing Top-k Closeness\n\t    Centrality in Fully-dynamic Graphs\", Bisenius et al., ALENEX18.\n        The implementation is based on the static algorithms by Borassi et al.\n\t    (complex networks) and Bergamini et al. (large-diameter networks).\n\n\tDynTopHarmonicCloseness(G, k=1, useBFSbound=True)\n\n\tParameters\n\t----------\n\tG: An unweighted graph.\n\tk: Number of nodes with highest closeness that have to be found. For example, if k = 10, the top 10 nodes with highest closeness will be computed.\n\tuseBFSbound: If true, the BFSbound is re-computed at each iteration. If false, BFScut is used.\n\tThe worst case running time of the algorithm is O(nm), where n is the number of nodes and m is the number of edges.\n\tHowever, for most networks the empirical running time is O(m).\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_DynTopHarmonicCloseness, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_DynTopHarmonicCloseness, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_DynTopHarmonicCloseness, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_DynTopHarmonicCloseness, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GroupDegree(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_GroupDegree *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_GroupDegree *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_11GroupDegree_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_GroupDegree(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_GroupDegree *p = (struct __pyx_obj_9networkit_10_NetworKit_GroupDegree *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_GroupDegree(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_GroupDegree *p = (struct __pyx_obj_9networkit_10_NetworKit_GroupDegree *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_GroupDegree)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_GroupDegree(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_GroupDegree *p = (struct __pyx_obj_9networkit_10_NetworKit_GroupDegree *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_GroupDegree);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_GroupDegree[] = {
  {"groupMaxDegree", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11GroupDegree_3groupMaxDegree, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_11GroupDegree_2groupMaxDegree},
  {"getScore", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11GroupDegree_5getScore, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_11GroupDegree_4getScore},
  {"scoreOfGroup", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11GroupDegree_7scoreOfGroup, METH_O, __pyx_doc_9networkit_10_NetworKit_11GroupDegree_6scoreOfGroup},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11GroupDegree_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11GroupDegree_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_GroupDegree = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.GroupDegree", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_GroupDegree), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GroupDegree, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tFinds the group with the highest group degree centrality according to the\n\tdefinition proposed in 'The centrality of groups and classes' by Everett et\n\tal. (The Journal of mathematical sociology, 1999). This is a submodular but\n\tnon monotone function so the algorithm can find a solution that is at least\n\t1/2 of the optimum. Worst-case running time is quadratic, but usually\n\tfaster in real-world networks.\n\tThe 'countGroupNodes' option also count the nodes inside the group in the\n\tscore, this make the group degree monotone and submodular and the algorithm\n\tis guaranteed to return a (1 - 1/e)-approximation of the optimal solution.\n\n\tGroupDegree(G, k = 1, countGroupNodes = False)\n\n\tParameters\n\t----------\n\t\tG: A graph.\n\t\tk: Size of the group of nodes\n\t\tcountGroupNodes: if nodes inside the group should be counted in the\n\t\tcentrality score.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_GroupDegree, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_GroupDegree, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_GroupDegree, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_GroupDegree, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GroupCloseness(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_14GroupCloseness_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_GroupCloseness(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness *p = (struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_GroupCloseness(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness *p = (struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_GroupCloseness)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_GroupCloseness(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness *p = (struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_GroupCloseness);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_GroupCloseness[] = {
  {"groupMaxCloseness", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14GroupCloseness_3groupMaxCloseness, METH_NOARGS, 0},
  {"computeFarness", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_14GroupCloseness_5computeFarness, METH_VARARGS|METH_KEYWORDS, 0},
  {"scoreOfGroup", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14GroupCloseness_7scoreOfGroup, METH_O, __pyx_doc_9networkit_10_NetworKit_14GroupCloseness_6scoreOfGroup},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14GroupCloseness_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14GroupCloseness_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_GroupCloseness = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.GroupCloseness", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_GroupCloseness), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GroupCloseness, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tFinds the group of nodes with highest (group) closeness centrality. The algorithm is the one proposed in Bergamini et al., ALENEX 2018 and finds a solution that is a (1-1/e)-approximation of the optimum.\n\tThe worst-case running time of this approach is quadratic, but usually much faster in practice.\n\n\tGroupCloseness(G, k=1, H=0)\n\n\tParameters\n\t----------\n\tG: An unweighted graph.\n\tk: Size of the group.\n\tH: If equal 0, simply runs the algorithm proposed in Bergamini et al.. If > 0, interrupts all BFSs after H iterations (suggested for very large networks).\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_GroupCloseness, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_GroupCloseness, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_GroupCloseness, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_GroupCloseness, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DegreeCentrality(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Centrality(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_16DegreeCentrality_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_DegreeCentrality[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_16DegreeCentrality_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_16DegreeCentrality_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_DegreeCentrality = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.DegreeCentrality", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_DegreeCentrality), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Centrality, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Node centrality index which ranks nodes by their degree.\n \tOptional normalization by maximum degree. The run() method runs in O(m) time, where m is the number of\n\tedges in the graph.\n\n\tDegreeCentrality(G, normalized=False, outDeg=True, ignoreSelfLoops=True)\n\n \tConstructs the DegreeCentrality class for the given Graph `G`. If the scores should be normalized,\n \tthen set `normalized` to True.\n\n \tParameters\n \t----------\n \tG : networkit.Graph\n \t\tThe graph.\n \tnormalized : bool, optional\n \t\tNormalize centrality values in the interval [0,1].\n        outdeg : bool, optional\n\t\tIf set to true, computes the centrality based on out-degrees, otherwise based on the in-degrees.\n        ignoreSelfLoops : bool, optional\n\t\tIf set to true, self loops will not be taken into account.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_Centrality, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_Centrality, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_DegreeCentrality, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_10Centrality_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_DegreeCentrality, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Betweenness(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Centrality(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_11Betweenness_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_Betweenness[] = {
  {"edgeScores", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11Betweenness_3edgeScores, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_11Betweenness_2edgeScores},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11Betweenness_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_11Betweenness_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_Betweenness = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.Betweenness", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_Betweenness), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Centrality, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\t\tBetweenness(G, normalized=False, computeEdgeCentrality=False)\n\n\t\tConstructs the Betweenness class for the given Graph `G`. If the betweenness scores should be normalized,\n  \tthen set `normalized` to True. The run() method takes O(nm) time, where n is the number\n\t \tof nodes and m is the number of edges of the graph.\n\n\t \tParameters\n\t \t----------\n\t \tG : networkit.Graph\n\t \t\tThe graph.\n\t \tnormalized : bool, optional\n\t \t\tSet this parameter to True if scores should be normalized in the interval [0,1].\n\t\tcomputeEdgeCentrality: bool, optional\n\t\t\tSet this to true if edge betweenness scores should be computed as well.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_Centrality, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_Centrality, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_Betweenness, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_10Centrality_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_Betweenness, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ApproxGroupBetweenness(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_ApproxGroupBetweenness *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_ApproxGroupBetweenness *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_22ApproxGroupBetweenness_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_ApproxGroupBetweenness(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_ApproxGroupBetweenness *p = (struct __pyx_obj_9networkit_10_NetworKit_ApproxGroupBetweenness *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_ApproxGroupBetweenness(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_ApproxGroupBetweenness *p = (struct __pyx_obj_9networkit_10_NetworKit_ApproxGroupBetweenness *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_ApproxGroupBetweenness)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_ApproxGroupBetweenness(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_ApproxGroupBetweenness *p = (struct __pyx_obj_9networkit_10_NetworKit_ApproxGroupBetweenness *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_ApproxGroupBetweenness);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_ApproxGroupBetweenness[] = {
  {"groupMaxBetweenness", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22ApproxGroupBetweenness_3groupMaxBetweenness, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_22ApproxGroupBetweenness_2groupMaxBetweenness},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22ApproxGroupBetweenness_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22ApproxGroupBetweenness_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_ApproxGroupBetweenness = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.ApproxGroupBetweenness", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_ApproxGroupBetweenness), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_ApproxGroupBetweenness, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\t\tApproxGroupBetweenness(G, groupSize, epsilon)\n\n\t\tConstructs the ApproxGroupBetweenness class for a given undirected Graph\n\t\t`G`.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe graph.\n\t\tgroupSize : count\n\t\t\tThe desired size of the group.\n\t\tepsilon : double\n\t\t\tDetermines the accuracy of the approximation.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_ApproxGroupBetweenness, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_ApproxGroupBetweenness, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_ApproxGroupBetweenness, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_ApproxGroupBetweenness, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Closeness(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Centrality(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_9Closeness_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_Closeness[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Closeness_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Closeness_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_Closeness = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.Closeness", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_Closeness), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Centrality, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\t\tCloseness(G, normalized, bool checkConnectdedness)\n\t\tCloseness(G, normalized, networkit.centrality.ClosenessVariant variant)\n\n\t\tConstructs the Closeness class for the given Graph `G`. If the Closeness scores should not be normalized,\n\t\tset `normalized` to False. The run() method takes O(nm) time, where n is the number\n\t\tof nodes and m is the number of edges of the graph.\n\n\t\tParameters\n\t\t----------\n\t\tG : networkit.Graph\n\t\t\tThe graph.\n\t\tnormalized : bool\n\t\t\tSet this parameter to False if scores should not be normalized into an interval of [0,1].\n\t\t\tNormalization only works for unweighted graphs.\n\t\tcheckConnectdedness : bool\n\t\t\tSet this parameter to True to also check if the graph is connected before computing closeness.\n\t\t\tSet this parameter to False to not check if the graph is connected (note: the standard definition\n\t\t\tof closeness works for connected graphs, choose this if the input graph is known to be connected).\n\t\tClosenessVariant : networkit.centrality.ClosenessVariant\n\t\t\tSet this parameter to networkit.centrality.ClosenessVariant.Standard to use the standard\n\t\t\tdefinition of closeness, that is defined for connected graphs only; in this case, checkConnectdedness\n\t\t\tis automatically set to True.\n\t\t\tSet this parameter to networkit.centrality.ClosenessVariant.Generalized to use the generalized\n\t\t\tdefinition of closeness, that is defined for also non-connected graphs; in this case, checkConnectdedness\n\t\t\tis automatically set to False.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_Centrality, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_Centrality, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_Closeness, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_10Centrality_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_Closeness, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_HarmonicCloseness(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Centrality(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_17HarmonicCloseness_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_HarmonicCloseness[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17HarmonicCloseness_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17HarmonicCloseness_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_HarmonicCloseness = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.HarmonicCloseness", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_HarmonicCloseness), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Centrality, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\t        HarmonicCloseness(G, normalized=True)\n\n\t\tConstructs the HarmonicCloseness class for the given Graph `G`.\n        If the harmonic closeness scores should not be normalized, set\n        `normalized` to False.\n        The run() method takes O(nm) time, where n is the number\n\t \tof nodes and m is the number of edges of the graph.\n\n\t \tParameters\n\t \t----------\n\t \tG : networkit.Graph\n\t \t\tThe graph.\n\t \tnormalized : bool, optional\n\t \t\tSet this parameter to False if scores should not be\n                        normalized into an interval of [0,1].\n                        Normalization only for unweighted graphs.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_Centrality, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_Centrality, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_HarmonicCloseness, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_10Centrality_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_HarmonicCloseness, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_KPathCentrality(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Centrality(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_15KPathCentrality_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_KPathCentrality[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15KPathCentrality_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15KPathCentrality_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_KPathCentrality = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.KPathCentrality", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_KPathCentrality), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Centrality, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\t\tKPathCentrality(G, alpha=0.2, k=0)\n\n\t\tConstructs the K-Path Centrality class for the given Graph `G`.\n\n\t \tParameters\n\t \t----------\n\t \tG : networkit.Graph\n\t \t\tThe graph.\n\t \talpha : double, in interval [-0.5, 0.5]\n\t\t\ttradeoff between runtime and precision\n\t\t\t-0.5: maximum precision, maximum runtime\n\t \t\t 0.5: lowest precision, lowest runtime\n\t\tk: maximum length of paths\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_Centrality, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_Centrality, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_KPathCentrality, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_10Centrality_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_KPathCentrality, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_KatzCentrality(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Centrality(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_14KatzCentrality_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_KatzCentrality[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14KatzCentrality_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14KatzCentrality_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_KatzCentrality = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.KatzCentrality", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_KatzCentrality), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Centrality, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\t\tKatzCentrality(G, alpha=5e-4, beta=0.1, tol=1e-8)\n\n\t\tConstructs a KatzCentrality object for the given Graph `G`.\n\t\tEach iteration of the algorithm requires O(m) time.\n\t\tThe number of iterations depends on how long it takes to reach the convergence\n\t\t(and therefore on the desired tolerance `tol`).\n\n\t \tParameters\n\t \t----------\n\t \tG : networkit.Graph\n\t \t\tThe graph.\n\t \talpha : double\n\t\t\tDamping of the matrix vector product result\n\t\tbeta : double\n\t\t\tConstant value added to the centrality of each vertex\n\t\ttol : double\n\t\t\tThe tolerance for convergence.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_Centrality, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_Centrality, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_KatzCentrality, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_10Centrality_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_KatzCentrality, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GraphDifference(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *)o);
  p->_G1 = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  p->_G2 = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_15GraphDifference_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_GraphDifference(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *p = (struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G1);
  Py_CLEAR(p->_G2);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_GraphDifference(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *p = (struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_GraphDifference)); if (e) return e;
  if (p->_G1) {
    e = (*v)(((PyObject *)p->_G1), a); if (e) return e;
  }
  if (p->_G2) {
    e = (*v)(((PyObject *)p->_G2), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_GraphDifference(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *p = (struct __pyx_obj_9networkit_10_NetworKit_GraphDifference *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_GraphDifference);
  tmp = ((PyObject*)p->_G1);
  p->_G1 = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_G2);
  p->_G2 = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_GraphDifference[] = {
  {"getEdits", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15GraphDifference_3getEdits, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_15GraphDifference_2getEdits},
  {"getNumberOfEdits", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15GraphDifference_5getNumberOfEdits, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_15GraphDifference_4getNumberOfEdits},
  {"getNumberOfNodeAdditions", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15GraphDifference_7getNumberOfNodeAdditions, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_15GraphDifference_6getNumberOfNodeAdditions},
  {"getNumberOfNodeRemovals", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15GraphDifference_9getNumberOfNodeRemovals, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_15GraphDifference_8getNumberOfNodeRemovals},
  {"getNumberOfNodeRestorations", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15GraphDifference_11getNumberOfNodeRestorations, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_15GraphDifference_10getNumberOfNodeRestorations},
  {"getNumberOfEdgeAdditions", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15GraphDifference_13getNumberOfEdgeAdditions, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_15GraphDifference_12getNumberOfEdgeAdditions},
  {"getNumberOfEdgeRemovals", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15GraphDifference_15getNumberOfEdgeRemovals, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_15GraphDifference_14getNumberOfEdgeRemovals},
  {"getNumberOfEdgeWeightUpdates", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15GraphDifference_17getNumberOfEdgeWeightUpdates, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_15GraphDifference_16getNumberOfEdgeWeightUpdates},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15GraphDifference_19__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15GraphDifference_21__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_GraphDifference = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.GraphDifference", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_GraphDifference), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphDifference, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tCalculate the edge difference between two graphs.\n\n\tThis calculates which graph edge additions or edge removals are\n\tnecessary to transform one given graph into another given graph.\n\n\tBoth graphs need to have the same node set, directed graphs are not\n\tsupported currently.\n\n\tNote that edge weight differences are not detected but edge\n\taddition events set the correct edge weight.\n\n\tParameters\n\t----------\n\tG1 : networkit.Graph\n\t\tThe first graph to compare\n\tG2 : networkit.Graph\n\t\tThe second graph to compare\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_GraphDifference, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_GraphDifference, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_GraphDifference, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_GraphDifference, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ApproxBetweenness(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Centrality(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_17ApproxBetweenness_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_ApproxBetweenness[] = {
  {"numberOfSamples", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17ApproxBetweenness_3numberOfSamples, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17ApproxBetweenness_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17ApproxBetweenness_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_ApproxBetweenness = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.ApproxBetweenness", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Centrality, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Approximation of betweenness centrality according to algorithm described in\n \tMatteo Riondato and Evgenios M. Kornaropoulos: Fast Approximation of Betweenness Centrality through Sampling\n\n \tApproxBetweenness(G, epsilon=0.01, delta=0.1, universalConstant=1.0)\n\n \tThe algorithm approximates the betweenness of all vertices so that the scores are\n\twithin an additive error epsilon with probability at least (1- delta).\n\tThe values are normalized by default. The run() method takes O(m) time per sample, where  m is\n\tthe number of edges of the graph. The number of samples is proportional to universalConstant/epsilon^2.\n\tAlthough this algorithm has a theoretical guarantee, the algorithm implemented in Estimate Betweenness usually performs better in practice\n\tTherefore, we recommend to use EstimateBetweenness if no theoretical guarantee is needed.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tthe graph\n\tepsilon : double, optional\n\t\tmaximum additive error\n\tdelta : double, optional\n\t\tprobability that the values are within the error guarantee\n\tuniversalConstant: double, optional\n\t\tthe universal constant to be used in computing the sample size.\n\t\tIt is 1 by default. Some references suggest using 0.5, but there\n\t\tis no guarantee in this case.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_Centrality, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_Centrality, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_ApproxBetweenness, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_10Centrality_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_ApproxBetweenness, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_KadabraBetweenness(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_18KadabraBetweenness_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_KadabraBetweenness[] = {
  {"ranking", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18KadabraBetweenness_3ranking, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_18KadabraBetweenness_2ranking},
  {"topkNodesList", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18KadabraBetweenness_5topkNodesList, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_18KadabraBetweenness_4topkNodesList},
  {"topkScoresList", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18KadabraBetweenness_7topkScoresList, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_18KadabraBetweenness_6topkScoresList},
  {"scores", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18KadabraBetweenness_9scores, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_18KadabraBetweenness_8scores},
  {"getNumberOfIterations", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18KadabraBetweenness_11getNumberOfIterations, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_18KadabraBetweenness_10getNumberOfIterations},
  {"getOmega", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18KadabraBetweenness_13getOmega, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_18KadabraBetweenness_12getOmega},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18KadabraBetweenness_15__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18KadabraBetweenness_17__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_KadabraBetweenness = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.KadabraBetweenness", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_KadabraBetweenness), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tApproximation of the betweenness centrality and computation of the top-k\n\tnodes with highest betweenness centrality according to the algorithm\n\tdescribed in Borassi M. and Natale M. (2016): KADABRA is an ADaptive\n\tAlgorithm for Betweenness via Random Approximation.\n\n\tIf k = 0 the algorithm approximates the betweenness centrality of all\n\tvertices of the graph so that the scores are within an additive error @a\n\terr with probability at least (1 - @a delta). Otherwise, the algorithm\n\tcomputes the exact ranking of the top-k nodes with highest betweenness\n\tcentrality.\n\tThe algorithm relies on an adaptive random sampling technique of shortest\n\tpaths and the number of samples in the worst case is w = ((log(D - 2) +\n\tlog(2/delta))/err^2 samples, where D is the diameter of the graph.\n\tThus, the worst-case performance is O(w * (|E| + |V|)), but performs better\n\tin practice.\n\n\tNB: in order to work properly, the Kadabra algorithm requires a random seed\n\tto be previously set with 'useThreadId' set to True. To do this, call the\n\tsetSeed(<your_seed>, True) fuction within the Random module.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe input graph.\n  err : double\n\t\tMaximum additive error guaranteed when approximating the\n\t\tbetweenness centrality of all nodes.\n\tdelta : double\n\t\tProbability that the values of the betweenness centrality are\n\t\twithin the error guarantee.\n\tk : count\n\t\tThe number of top-k nodes to be computed. Set it to zero to\n\t\tapproximate the betweenness centrality of all the nodes.\n\tunionSample : count\n\t\tAlgorithm parameter # TODO: more details\n\tstartFactor : count\n\t\tAlgorithm parameter # TODO: more details\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_KadabraBetweenness, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_KadabraBetweenness, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EstimateBetweenness(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Centrality(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_19EstimateBetweenness_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_EstimateBetweenness[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19EstimateBetweenness_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19EstimateBetweenness_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_EstimateBetweenness = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.EstimateBetweenness", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_EstimateBetweenness), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Centrality, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Estimation of betweenness centrality according to algorithm described in\n\tSanders, Geisberger, Schultes: Better Approximation of Betweenness Centrality\n\n\tEstimateBetweenness(G, nSamples, normalized=False, parallel=False)\n\n\tThe algorithm estimates the betweenness of all nodes, using weighting\n\tof the contributions to avoid biased estimation. The run() method takes O(m)\n\ttime per sample, where  m is the number of edges of the graph. There is no proven\n\ttheoretical guarantee on the quality of the approximation. However, the algorithm\n        was shown to perform well in practice.\n        If a guarantee is required, use ApproxBetweenness.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tinput graph\n\tnSamples : count\n\t\tuser defined number of samples\n\tnormalized : bool, optional\n\t\tnormalize centrality values in interval [0,1]\n\tparallel : bool, optional\n\t\trun in parallel with additional memory cost z + 3z * t\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_Centrality, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_Centrality, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_EstimateBetweenness, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_10Centrality_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_EstimateBetweenness, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ApproxBetweenness2(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Centrality(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_18ApproxBetweenness2_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_ApproxBetweenness2[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18ApproxBetweenness2_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18ApproxBetweenness2_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_ApproxBetweenness2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.ApproxBetweenness2", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_ApproxBetweenness2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Centrality, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " DEPRECATED: Use EstimateBetweenness instead.\n\n\tEstimation of betweenness centrality according to algorithm described in\n\tSanders, Geisberger, Schultes: Better Approximation of Betweenness Centrality\n\n\tApproxBetweenness2(G, nSamples, normalized=False, parallel=False)\n\n\tThe algorithm estimates the betweenness of all nodes, using weighting\n\tof the contributions to avoid biased estimation. The run() method takes O(m)\n\ttime per sample, where  m is the number of edges of the graph. There is no proven\n\ttheoretical guarantee on the quality of the approximation. However, the algorithm\n        was shown to perform well in practice.\n        If a guarantee is required, use ApproxBetweenness.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tinput graph\n\tnSamples : count\n\t\tuser defined number of samples\n\tnormalized : bool, optional\n\t\tnormalize centrality values in interval [0,1]\n\tparallel : bool, optional\n\t\trun in parallel with additional memory cost z + 3z * t\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_Centrality, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_Centrality, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_ApproxBetweenness2, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_10Centrality_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_ApproxBetweenness2, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ApproxCloseness(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Centrality(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_15ApproxCloseness_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_ApproxCloseness[] = {
  {"getSquareErrorEstimates", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15ApproxCloseness_3getSquareErrorEstimates, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_15ApproxCloseness_2getSquareErrorEstimates},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15ApproxCloseness_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15ApproxCloseness_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_ApproxCloseness = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.ApproxCloseness", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_ApproxCloseness), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Centrality, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Approximation of closeness centrality according to algorithm described in\n  Cohen et al., Computing Classic Closeness Centrality, at Scale.\n\n\tApproxCloseness(G, nSamples, epsilon=0.1, normalized=False, type=OUTBOUND)\n\n\tThe algorithm approximates the closeness of all nodes in both directed and undirected graphs using a hybrid estimator.\n\tFirst, it takes nSamples samples. For these sampled nodes, the closeness is computed exactly. The pivot of each of the\n\tremaining nodes is the closest sampled node to it. If a node lies very close to its pivot, a sampling approach is used.\n\tOtherwise, a pivoting approach is used. Notice that the input graph has to be connected.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tinput graph (undirected)\n\tnSamples : count\n\t\tuser defined number of samples\n\tepsilon : double, optional\n\t\tparameter used for the error guarantee; it is also used to control when to use sampling and when to use pivoting\n\tnormalized : bool, optional\n\t\tnormalize centrality values in interval [0,1]\n\ttype : _ClosenessType, optional\n\t\tuse in- or outbound centrality or the sum of both (see paper) for computing closeness on directed graph. If G is undirected, this can be ignored.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_Centrality, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_Centrality, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_ApproxCloseness, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_10Centrality_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_ApproxCloseness, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PageRank(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Centrality(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_8PageRank_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_PageRank[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_8PageRank_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_8PageRank_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_PageRank = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.PageRank", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_PageRank), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Centrality, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\tCompute PageRank as node centrality measure.\n\n\tPageRank(G, damp=0.85, tol=1e-9)\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tGraph to be processed.\n\tdamp : double\n\t\tDamping factor of the PageRank algorithm.\n\ttol : double, optional\n\t\tError tolerance for PageRank iteration.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_Centrality, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_Centrality, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_PageRank, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_10Centrality_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_PageRank, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EigenvectorCentrality(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Centrality(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_21EigenvectorCentrality_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_EigenvectorCentrality[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21EigenvectorCentrality_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21EigenvectorCentrality_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_EigenvectorCentrality = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.EigenvectorCentrality", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_EigenvectorCentrality), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Centrality, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\tComputes the leading eigenvector of the graph's adjacency matrix (normalized in 2-norm).\n\tInterpreted as eigenvector centrality score.\n\n\tEigenvectorCentrality(G, tol=1e-9)\n\n\tConstructs the EigenvectorCentrality class for the given Graph `G`. `tol` defines the tolerance for convergence.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph.\n\ttol : double, optional\n\t\tThe tolerance for convergence.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_Centrality, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_Centrality, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_EigenvectorCentrality, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_10Centrality_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_EigenvectorCentrality, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_CoreDecomposition(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Centrality(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_17CoreDecomposition_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_CoreDecomposition[] = {
  {"maxCoreNumber", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17CoreDecomposition_3maxCoreNumber, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_17CoreDecomposition_2maxCoreNumber},
  {"getCover", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17CoreDecomposition_5getCover, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_17CoreDecomposition_4getCover},
  {"getPartition", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17CoreDecomposition_7getPartition, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_17CoreDecomposition_6getPartition},
  {"getNodeOrder", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17CoreDecomposition_9getNodeOrder, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_17CoreDecomposition_8getNodeOrder},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17CoreDecomposition_11__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17CoreDecomposition_13__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_CoreDecomposition = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.CoreDecomposition", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_CoreDecomposition), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Centrality, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Computes k-core decomposition of a graph.\n\n\tCoreDecomposition(G)\n\n\tCreate CoreDecomposition class for graph `G`. The graph may not contain self-loops.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph.\n\tnormalized : bool\n\t\tDivide each core number by the maximum degree.\n\tenforceBucketQueueAlgorithm : bool\n\t\tenforce switch to sequential algorithm\n\tstoreNodeOrder : bool\n\t\tIf set to True, the order of the nodes in ascending order of the cores is stored and can later be returned using getNodeOrder(). Enforces the sequential bucket priority queue algorithm.\n\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_Centrality, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_Centrality, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_CoreDecomposition, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_10Centrality_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_CoreDecomposition, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LocalClusteringCoefficient(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Centrality(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_26LocalClusteringCoefficient_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_LocalClusteringCoefficient[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_26LocalClusteringCoefficient_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_26LocalClusteringCoefficient_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_LocalClusteringCoefficient = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.LocalClusteringCoefficient", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_LocalClusteringCoefficient), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Centrality, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\t\tLocalClusteringCoefficient(G, turbo=False)\n\n\t\tConstructs the LocalClusteringCoefficient class for the given Graph `G`. If the local clustering coefficient values should be normalized,\n\t\tthen set `normalized` to True. The graph may not contain self-loops.\n\n\t\tThere are two algorithms available. The trivial (parallel) algorithm needs only a small amount of additional memory.\n\t\tThe turbo mode adds a (sequential, but fast) pre-processing step using ideas from [0]. This reduces the running time\n\t\tsignificantly for most graphs. However, the turbo mode needs O(m) additional memory. In practice this should be a bit\n\t\tless than half of the memory that is needed for the graph itself. The turbo mode is particularly effective for graphs\n\t\twith nodes of very high degree and a very skewed degree distribution.\n\n\t\t[0] Triangle Listing Algorithms: Back from the Diversion\n\t\tMark Ortmann and Ulrik Brandes\n\t\t2014 Proceedings of the Sixteenth Workshop on Algorithm Engineering and Experiments (ALENEX). 2014, 1-8\n\n\t \tParameters\n\t \t----------\n\t \tG : networkit.Graph\n\t \t\tThe graph.\n\t\tturbo : bool\n\t\t\tIf the turbo mode shall be activated.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_Centrality, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_Centrality, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_LocalClusteringCoefficient, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_10Centrality_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_LocalClusteringCoefficient, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Sfigality(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Centrality(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_9Sfigality_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_Sfigality[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Sfigality_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Sfigality_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_Sfigality = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.Sfigality", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_Sfigality), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Centrality, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tSfigality is a new type of node centrality measures that is high if neighboring nodes have a higher degree, e.g. in social networks, if your friends have more friends than you. Formally:\n\n\t\t$$\\sigma(u) = \014rac{| \\{ v: \\{u,v\\} \\in E, deg(u) < deg(v) \\} |}{ deg(u) }$$\n\n \tParameters\n \t----------\n \tG : networkit.Graph\n \t\tThe graph.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_Centrality, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_Centrality, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_Sfigality, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_10Centrality_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_Sfigality, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynApproxBetweenness(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_20DynApproxBetweenness_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_DynApproxBetweenness(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *p = (struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_DynApproxBetweenness(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *p = (struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_DynApproxBetweenness)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_DynApproxBetweenness(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *p = (struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_DynApproxBetweenness);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_DynApproxBetweenness[] = {
  {"update", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20DynApproxBetweenness_3update, METH_O, __pyx_doc_9networkit_10_NetworKit_20DynApproxBetweenness_2update},
  {"updateBatch", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20DynApproxBetweenness_5updateBatch, METH_O, __pyx_doc_9networkit_10_NetworKit_20DynApproxBetweenness_4updateBatch},
  {"scores", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20DynApproxBetweenness_7scores, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_20DynApproxBetweenness_6scores},
  {"score", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20DynApproxBetweenness_9score, METH_O, __pyx_doc_9networkit_10_NetworKit_20DynApproxBetweenness_8score},
  {"ranking", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20DynApproxBetweenness_11ranking, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_20DynApproxBetweenness_10ranking},
  {"getNumberOfSamples", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20DynApproxBetweenness_13getNumberOfSamples, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_20DynApproxBetweenness_12getNumberOfSamples},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20DynApproxBetweenness_15__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20DynApproxBetweenness_17__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_DynApproxBetweenness = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.DynApproxBetweenness", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_DynApproxBetweenness), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_DynApproxBetweenness, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " The algorithm approximates the betweenness of all vertices so that the scores are\n\t  within an additive error @a epsilon with probability at least (1- @a delta).\n\t  The values are normalized by default.\n\n\tDynApproxBetweenness(G, epsilon=0.01, delta=0.1, storePredecessors=True, universalConstant=1.0)\n\n\tThe algorithm approximates the betweenness of all vertices so that the scores are\n\twithin an additive error epsilon with probability at least (1- delta).\n\tThe values are normalized by default.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tthe graph\n\tepsilon : double, optional\n\t\tmaximum additive error\n\tdelta : double, optional\n\t\tprobability that the values are within the error guarantee\n\tstorePredecessors : bool, optional\n\t\tstore lists of predecessors?\n\tuniversalConstant: double, optional\n\t\tthe universal constant to be used in computing the sample size.\n\t\tIt is 1 by default. Some references suggest using 0.5, but there\n\t\tis no guarantee in this case.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_DynApproxBetweenness, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_DynApproxBetweenness, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_DynApproxBetweenness, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_DynApproxBetweenness, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynBetweenness(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_14DynBetweenness_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_DynBetweenness(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *p = (struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_DynBetweenness(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *p = (struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_DynBetweenness)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_DynBetweenness(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *p = (struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_DynBetweenness);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_DynBetweenness[] = {
  {"update", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14DynBetweenness_3update, METH_O, __pyx_doc_9networkit_10_NetworKit_14DynBetweenness_2update},
  {"updateBatch", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14DynBetweenness_5updateBatch, METH_O, __pyx_doc_9networkit_10_NetworKit_14DynBetweenness_4updateBatch},
  {"scores", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14DynBetweenness_7scores, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_14DynBetweenness_6scores},
  {"score", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14DynBetweenness_9score, METH_O, __pyx_doc_9networkit_10_NetworKit_14DynBetweenness_8score},
  {"ranking", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14DynBetweenness_11ranking, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_14DynBetweenness_10ranking},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14DynBetweenness_13__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14DynBetweenness_15__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_DynBetweenness = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.DynBetweenness", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_DynBetweenness), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_DynBetweenness, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " The algorithm computes the betweenness centrality of all nodes\n\t\t\tand updates them after an edge insertion.\n\n\tDynBetweenness(G)\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tthe graph\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_DynBetweenness, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_DynBetweenness, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_DynBetweenness, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_DynBetweenness, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynBetweennessOneNode(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_DynBetweennessOneNode(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *p = (struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_G);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_DynBetweennessOneNode(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *p = (struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *)o;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_DynBetweennessOneNode(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *p = (struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode *)o;
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_DynBetweennessOneNode[] = {
  {"run", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_5run, METH_NOARGS, 0},
  {"update", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_7update, METH_O, __pyx_doc_9networkit_10_NetworKit_21DynBetweennessOneNode_6update},
  {"updateBatch", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_9updateBatch, METH_O, __pyx_doc_9networkit_10_NetworKit_21DynBetweennessOneNode_8updateBatch},
  {"getDistance", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_11getDistance, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_21DynBetweennessOneNode_10getDistance},
  {"getSigma", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_13getSigma, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_21DynBetweennessOneNode_12getSigma},
  {"getSigmax", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_15getSigmax, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_21DynBetweennessOneNode_14getSigmax},
  {"getbcx", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_17getbcx, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_21DynBetweennessOneNode_16getbcx},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_19__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21DynBetweennessOneNode_21__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_DynBetweennessOneNode = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.DynBetweennessOneNode", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_DynBetweennessOneNode), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_DynBetweennessOneNode, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Dynamic exact algorithm for updating the betweenness of a specific node\n\n\tDynBetweennessOneNode(G, x)\n\n\tThe algorithm aupdates the betweenness of a node after an edge insertions\n\t(faster than updating it for all nodes), based on the algorithm\n\tproposed by Bergamini et al. \"Improving the betweenness centrality of a node by adding links\"\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tthe graph\n\tx : node\n\t\tthe node for which you want to update betweenness\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_DynBetweennessOneNode, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_DynBetweennessOneNode, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_DynBetweennessOneNode, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_DynBetweennessOneNode, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PermanenceCentrality(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_PermanenceCentrality *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_PermanenceCentrality *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  p->_P = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_20PermanenceCentrality_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_PermanenceCentrality(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_PermanenceCentrality *p = (struct __pyx_obj_9networkit_10_NetworKit_PermanenceCentrality *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  Py_CLEAR(p->_P);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_PermanenceCentrality(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_PermanenceCentrality *p = (struct __pyx_obj_9networkit_10_NetworKit_PermanenceCentrality *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_PermanenceCentrality)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  if (p->_P) {
    e = (*v)(((PyObject *)p->_P), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_PermanenceCentrality(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_PermanenceCentrality *p = (struct __pyx_obj_9networkit_10_NetworKit_PermanenceCentrality *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_PermanenceCentrality);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_P);
  p->_P = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_PermanenceCentrality[] = {
  {"getIntraClustering", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20PermanenceCentrality_3getIntraClustering, METH_O, 0},
  {"getPermanence", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20PermanenceCentrality_5getPermanence, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20PermanenceCentrality_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20PermanenceCentrality_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_PermanenceCentrality = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.PermanenceCentrality", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_PermanenceCentrality), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_PermanenceCentrality, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tPermanence centrality\n\n\tThis centrality measure measure how well a vertex belongs to its community. The values are calculated on the fly, the partion may be changed in between the requests.\n\tFor details see\n\n\tTanmoy Chakraborty, Sriram Srinivasan, Niloy Ganguly, Animesh Mukherjee, and Sanjukta Bhowmick. 2014.\n\tOn the permanence of vertices in network communities.\n\tIn Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining (KDD '14).\n\tACM, New York, NY, USA, 1396-1405. DOI: http://dx.doi.org/10.1145/2623330.2623707\n\n\tFIXME: does not use the common centrality interface yet.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_PermanenceCentrality, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_PermanenceCentrality, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_PermanenceCentrality, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_PermanenceCentrality, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LocalPartitionCoverage(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionCoverage *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Centrality(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionCoverage *)o);
  p->_P = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_22LocalPartitionCoverage_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_LocalPartitionCoverage(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionCoverage *p = (struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionCoverage *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_P);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Centrality(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_LocalPartitionCoverage(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionCoverage *p = (struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionCoverage *)o;
  e = __pyx_tp_traverse_9networkit_10_NetworKit_Centrality(o, v, a); if (e) return e;
  if (p->_P) {
    e = (*v)(((PyObject *)p->_P), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_LocalPartitionCoverage(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionCoverage *p = (struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionCoverage *)o;
  __pyx_tp_clear_9networkit_10_NetworKit_Centrality(o);
  tmp = ((PyObject*)p->_P);
  p->_P = ((struct __pyx_obj_9networkit_10_NetworKit_Partition *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_LocalPartitionCoverage[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22LocalPartitionCoverage_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22LocalPartitionCoverage_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_LocalPartitionCoverage = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.LocalPartitionCoverage", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_LocalPartitionCoverage), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LocalPartitionCoverage, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tThe local partition coverage is the amount of neighbors of a node u that are in the same partition as u.\n\tThe running time of the run() method is O(m), where m is the number of edges in the graph.\n\n\tLocalPartitionCoverage(G, P)\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph.\n\tP : networkit.Partition\n\t\tThe partition to use\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_LocalPartitionCoverage, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_LocalPartitionCoverage, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_LocalPartitionCoverage, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_10Centrality_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_LocalPartitionCoverage, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LaplacianCentrality(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Centrality(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_19LaplacianCentrality_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_LaplacianCentrality[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19LaplacianCentrality_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19LaplacianCentrality_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_LaplacianCentrality = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.LaplacianCentrality", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_LaplacianCentrality), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Centrality, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Computes the Laplacian centrality of the graph.\n\n\tLaplacianCentrality(G, normalized=False)\n\n\tThe implementation is a simplification of the original algorithm proposed by Qi et al. in\n\t\"Laplacian centrality: A new centrality measure for weighted networks\".\n\n\tSee https://dl.acm.org/citation.cfm?id=2181343.2181780 for details.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph.\n\tnormalized : bool, optional\n\t\tWhether scores should be normalized by the energy of the full graph.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_Centrality, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_Centrality, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_LaplacianCentrality, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_10Centrality_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_LaplacianCentrality, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GraphEvent(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *)o);
  new((void*)&(p->_this)) NetworKit::GraphEvent();
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_10GraphEvent_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_GraphEvent(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *p = (struct __pyx_obj_9networkit_10_NetworKit_GraphEvent *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  (*Py_TYPE(o)->tp_free)(o);
}

static PyObject *__pyx_tp_richcompare_9networkit_10_NetworKit_GraphEvent(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_9networkit_10_NetworKit_10GraphEvent_7__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_9networkit_10_NetworKit_10GraphEvent_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 PyObject *__pyx_getprop_9networkit_10_NetworKit_10GraphEvent_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9networkit_10_NetworKit_10GraphEvent_4type_1__get__(o);
}

static int __pyx_setprop_9networkit_10_NetworKit_10GraphEvent_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9networkit_10_NetworKit_10GraphEvent_4type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9networkit_10_NetworKit_10GraphEvent_u(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9networkit_10_NetworKit_10GraphEvent_1u_1__get__(o);
}

static int __pyx_setprop_9networkit_10_NetworKit_10GraphEvent_u(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9networkit_10_NetworKit_10GraphEvent_1u_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9networkit_10_NetworKit_10GraphEvent_v(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9networkit_10_NetworKit_10GraphEvent_1v_1__get__(o);
}

static int __pyx_setprop_9networkit_10_NetworKit_10GraphEvent_v(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9networkit_10_NetworKit_10GraphEvent_1v_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9networkit_10_NetworKit_10GraphEvent_w(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9networkit_10_NetworKit_10GraphEvent_1w_1__get__(o);
}

static int __pyx_setprop_9networkit_10_NetworKit_10GraphEvent_w(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9networkit_10_NetworKit_10GraphEvent_1w_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_GraphEvent[] = {
  {"toString", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_10GraphEvent_3toString, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_10GraphEvent_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_10GraphEvent_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9networkit_10_NetworKit_GraphEvent[] = {
  {(char *)"type", __pyx_getprop_9networkit_10_NetworKit_10GraphEvent_type, __pyx_setprop_9networkit_10_NetworKit_10GraphEvent_type, (char *)0, 0},
  {(char *)"u", __pyx_getprop_9networkit_10_NetworKit_10GraphEvent_u, __pyx_setprop_9networkit_10_NetworKit_10GraphEvent_u, (char *)0, 0},
  {(char *)"v", __pyx_getprop_9networkit_10_NetworKit_10GraphEvent_v, __pyx_setprop_9networkit_10_NetworKit_10GraphEvent_v, (char *)0, 0},
  {(char *)"w", __pyx_getprop_9networkit_10_NetworKit_10GraphEvent_w, __pyx_setprop_9networkit_10_NetworKit_10GraphEvent_w, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_GraphEvent = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.GraphEvent", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_GraphEvent), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphEvent, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_9networkit_10_NetworKit_10GraphEvent_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*/
  __pyx_tp_richcompare_9networkit_10_NetworKit_GraphEvent, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_GraphEvent, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9networkit_10_NetworKit_GraphEvent, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_GraphEvent, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DGSStreamParser(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_15DGSStreamParser_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_DGSStreamParser(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_15DGSStreamParser_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_DGSStreamParser[] = {
  {"getStream", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15DGSStreamParser_5getStream, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15DGSStreamParser_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15DGSStreamParser_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_DGSStreamParser = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.DGSStreamParser", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_DGSStreamParser), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_DGSStreamParser, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit_DGSStreamParser, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_DGSStreamParser, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DGSWriter(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_9DGSWriter_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_DGSWriter(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_9DGSWriter_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_DGSWriter[] = {
  {"write", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_9DGSWriter_5write, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9DGSWriter_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9DGSWriter_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_DGSWriter = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.DGSWriter", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_DGSWriter), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_DGSWriter, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit_DGSWriter, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_DGSWriter, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynamicPathGenerator(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_20DynamicPathGenerator_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_DynamicPathGenerator(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_20DynamicPathGenerator_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_DynamicPathGenerator[] = {
  {"generate", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20DynamicPathGenerator_5generate, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20DynamicPathGenerator_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20DynamicPathGenerator_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_DynamicPathGenerator = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.DynamicPathGenerator", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_DynamicPathGenerator), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_DynamicPathGenerator, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Example dynamic graph generator: Generates a dynamically growing path. ", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_DynamicPathGenerator, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_DynamicPathGenerator, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator[] = {
  {"generate", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_5generate, METH_O, __pyx_doc_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_4generate},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_33DynamicDorogovtsevMendesGenerator_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.DynamicDorogovtsevMendesGenerator", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Generates a graph according to the Dorogovtsev-Mendes model.\n\n \tDynamicDorogovtsevMendesGenerator()\n\n \tConstructs the generator class.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynamicPubWebGenerator(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_22DynamicPubWebGenerator_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_DynamicPubWebGenerator(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_22DynamicPubWebGenerator_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_DynamicPubWebGenerator[] = {
  {"generate", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22DynamicPubWebGenerator_5generate, METH_O, __pyx_doc_9networkit_10_NetworKit_22DynamicPubWebGenerator_4generate},
  {"getGraph", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22DynamicPubWebGenerator_7getGraph, METH_NOARGS, 0},
  {"getCoordinates", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22DynamicPubWebGenerator_9getCoordinates, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_22DynamicPubWebGenerator_8getCoordinates},
  {"getNewCoordinates", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22DynamicPubWebGenerator_11getNewCoordinates, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_22DynamicPubWebGenerator_10getNewCoordinates},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22DynamicPubWebGenerator_13__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22DynamicPubWebGenerator_15__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_DynamicPubWebGenerator = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.DynamicPubWebGenerator", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_DynamicPubWebGenerator), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_DynamicPubWebGenerator, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit_DynamicPubWebGenerator, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_DynamicPubWebGenerator, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynamicHyperbolicGenerator(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_DynamicHyperbolicGenerator(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_DynamicHyperbolicGenerator[] = {
  {"generate", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_5generate, METH_O, __pyx_doc_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_4generate},
  {"getGraph", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_7getGraph, METH_NOARGS, 0},
  {"getCoordinates", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_9getCoordinates, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_8getCoordinates},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_11__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_26DynamicHyperbolicGenerator_13__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_DynamicHyperbolicGenerator = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.DynamicHyperbolicGenerator", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_DynamicHyperbolicGenerator), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_DynamicHyperbolicGenerator, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit_DynamicHyperbolicGenerator, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_DynamicHyperbolicGenerator, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DynamicForestFireGenerator(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_26DynamicForestFireGenerator_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_DynamicForestFireGenerator(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_26DynamicForestFireGenerator_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_DynamicForestFireGenerator[] = {
  {"generate", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_26DynamicForestFireGenerator_5generate, METH_O, __pyx_doc_9networkit_10_NetworKit_26DynamicForestFireGenerator_4generate},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_26DynamicForestFireGenerator_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_26DynamicForestFireGenerator_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_DynamicForestFireGenerator = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.DynamicForestFireGenerator", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_DynamicForestFireGenerator), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_DynamicForestFireGenerator, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Generates a graph according to the forest fire model.\n\t The forest fire generative model produces dynamic graphs with the following properties:\n     heavy tailed degree distribution\n     communities\n     densification power law\n     shrinking diameter\n\n    see Leskovec, Kleinberg, Faloutsos: Graphs over Tim: Densification Laws,\n    Shringking Diameters and Possible Explanations\n\n \tDynamicForestFireGenerator(double p, bool directed, double r = 1.0)\n\n \tConstructs the generator class.\n\n \tParameters\n \t----------\n \tp : forward burning probability.\n \tdirected : decides whether the resulting graph should be directed\n \tr : optional, backward burning probability\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_DynamicForestFireGenerator, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_DynamicForestFireGenerator, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GraphUpdater(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_GraphUpdater *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_GraphUpdater *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_12GraphUpdater_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_GraphUpdater(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_GraphUpdater *p = (struct __pyx_obj_9networkit_10_NetworKit_GraphUpdater *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_12GraphUpdater_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_G);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_GraphUpdater(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_GraphUpdater *p = (struct __pyx_obj_9networkit_10_NetworKit_GraphUpdater *)o;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_GraphUpdater(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_GraphUpdater *p = (struct __pyx_obj_9networkit_10_NetworKit_GraphUpdater *)o;
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_GraphUpdater[] = {
  {"update", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12GraphUpdater_5update, METH_O, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12GraphUpdater_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12GraphUpdater_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_GraphUpdater = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.GraphUpdater", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_GraphUpdater), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphUpdater, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Updates a graph according to a stream of graph events.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t \tinitial graph\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_GraphUpdater, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_GraphUpdater, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_GraphUpdater, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_GraphUpdater, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GraphCoarsening(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_GraphCoarsening(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening *p = (struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_GraphCoarsening(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening *p = (struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_GraphCoarsening)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_GraphCoarsening(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening *p = (struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_GraphCoarsening);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_GraphCoarsening[] = {
  {"getCoarseGraph", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15GraphCoarsening_3getCoarseGraph, METH_NOARGS, 0},
  {"getFineToCoarseNodeMapping", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15GraphCoarsening_5getFineToCoarseNodeMapping, METH_NOARGS, 0},
  {"getCoarseToFineNodeMapping", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15GraphCoarsening_7getCoarseToFineNodeMapping, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15GraphCoarsening_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15GraphCoarsening_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_GraphCoarsening = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.GraphCoarsening", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_GraphCoarsening), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphCoarsening, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit_GraphCoarsening, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_GraphCoarsening, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_GraphCoarsening, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_9networkit_10_NetworKit_15GraphCoarsening_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_GraphCoarsening, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ParallelPartitionCoarsening(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_GraphCoarsening(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_27ParallelPartitionCoarsening_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_ParallelPartitionCoarsening[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_27ParallelPartitionCoarsening_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_27ParallelPartitionCoarsening_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_ParallelPartitionCoarsening = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.ParallelPartitionCoarsening", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_ParallelPartitionCoarsening), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphCoarsening, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit_GraphCoarsening, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_GraphCoarsening, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_ParallelPartitionCoarsening, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_15GraphCoarsening_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_ParallelPartitionCoarsening, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_MatchingCoarsening(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_GraphCoarsening(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_18MatchingCoarsening_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_MatchingCoarsening[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18MatchingCoarsening_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18MatchingCoarsening_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_MatchingCoarsening = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.MatchingCoarsening", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_MatchingCoarsening), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphCoarsening, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "Coarsens graph according to a matching.\n \tParameters\n \t----------\n \tG : networkit.Graph\n\tM : Matching\n \tnoSelfLoops : bool, optional\n\t\tif true, self-loops are not produced\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_GraphCoarsening, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_GraphCoarsening, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_MatchingCoarsening, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_15GraphCoarsening_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_MatchingCoarsening, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PageRankNibble(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_PageRankNibble *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_PageRankNibble *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_14PageRankNibble_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_PageRankNibble(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_PageRankNibble *p = (struct __pyx_obj_9networkit_10_NetworKit_PageRankNibble *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_PageRankNibble(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_PageRankNibble *p = (struct __pyx_obj_9networkit_10_NetworKit_PageRankNibble *)o;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_PageRankNibble(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_PageRankNibble *p = (struct __pyx_obj_9networkit_10_NetworKit_PageRankNibble *)o;
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_PageRankNibble[] = {
  {"run", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14PageRankNibble_3run, METH_O, __pyx_doc_9networkit_10_NetworKit_14PageRankNibble_2run},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14PageRankNibble_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14PageRankNibble_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_PageRankNibble = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.PageRankNibble", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_PageRankNibble), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_PageRankNibble, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tProduces a cut around a given seed node using the PageRank-Nibble algorithm.\n\tsee Andersen, Chung, Lang: Local Graph Partitioning using PageRank Vectors\n\n\tParameters:\n\t-----------\n\tG : networkit.Graph in which the cut is to be produced, must be unweighted.\n\talpha : Loop probability of random walk; smaller values tend to produce larger communities.\n\tepsilon: Tolerance threshold for approximation of PageRank vectors\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_PageRankNibble, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_PageRankNibble, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_PageRankNibble, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_PageRankNibble, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GCE(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_GCE *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_GCE *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_3GCE_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_GCE(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_GCE *p = (struct __pyx_obj_9networkit_10_NetworKit_GCE *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_GCE(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_GCE *p = (struct __pyx_obj_9networkit_10_NetworKit_GCE *)o;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_GCE(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_GCE *p = (struct __pyx_obj_9networkit_10_NetworKit_GCE *)o;
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_GCE[] = {
  {"run", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_3GCE_3run, METH_O, __pyx_doc_9networkit_10_NetworKit_3GCE_2run},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_3GCE_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_3GCE_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_GCE = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.GCE", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_GCE), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GCE, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tProduces a cut around a given seed node using the GCE algorithm.\n\n\tParameters:\n\t-----------\n\tG : networkit.Graph in which the cut is to be produced, must be unweighted.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_GCE, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_GCE, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_GCE, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_GCE, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_MaximalCliques(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_MaximalCliques *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_MaximalCliques *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  p->_py_callback = Py_None; Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_14MaximalCliques_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_MaximalCliques(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_MaximalCliques *p = (struct __pyx_obj_9networkit_10_NetworKit_MaximalCliques *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_14MaximalCliques_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_G);
  Py_CLEAR(p->_py_callback);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_MaximalCliques(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_MaximalCliques *p = (struct __pyx_obj_9networkit_10_NetworKit_MaximalCliques *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_MaximalCliques)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  if (p->_py_callback) {
    e = (*v)(p->_py_callback, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_MaximalCliques(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_MaximalCliques *p = (struct __pyx_obj_9networkit_10_NetworKit_MaximalCliques *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_MaximalCliques);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_py_callback);
  p->_py_callback = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_MaximalCliques[] = {
  {"getCliques", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14MaximalCliques_5getCliques, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_14MaximalCliques_4getCliques},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14MaximalCliques_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_14MaximalCliques_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_MaximalCliques = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.MaximalCliques", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_MaximalCliques), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_MaximalCliques, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tAlgorithm for listing all maximal cliques.\n\n\tThe implementation is based on the \"hybrid\" algorithm described in\n\n\tEppstein, D., & Strash, D. (2011).\n\tListing All Maximal Cliques in Large Sparse Real-World Graphs.\n\tIn P. M. Pardalos & S. Rebennack (Eds.),\n\tExperimental Algorithms (pp. 364375). Springer Berlin Heidelberg.\n\tRetrieved from http://link.springer.com/chapter/10.1007/978-3-642-20662-7_31\n\n\tThe running time of this algorithm should be in O(d^2 * n * 3^{d/3})\n\twhere f is the degeneracy of the graph, i.e., the maximum core number.\n\tThe running time in practive depends on the structure of the graph. In\n\tparticular for complex networks it is usually quite fast, even graphs with\n\tmillions of edges can usually be processed in less than a minute.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph to list the cliques for\n\tmaximumOnly : bool\n\t\tA value of True denotes that only one maximum clique is desired. This enables\n\t\tfurther optimizations of the algorithm to skip smaller cliques more\n\t\tefficiently. This parameter is only considered when no callback is given.\n\tcallback : callable\n\t\tIf a callable Python object is given, it will be called once for each\n\t\tmaximal clique. Then no cliques will be stored. The callback must accept\n\t\tone parameter which is a list of nodes.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_MaximalCliques, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_MaximalCliques, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_MaximalCliques, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_MaximalCliques, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LinkPredictor(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_13LinkPredictor_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_LinkPredictor(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_13LinkPredictor_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_LinkPredictor[] = {
  {"setGraph", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_13LinkPredictor_5setGraph, METH_O, __pyx_doc_9networkit_10_NetworKit_13LinkPredictor_4setGraph},
  {"run", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_13LinkPredictor_7run, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_13LinkPredictor_6run},
  {"runAll", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_13LinkPredictor_9runAll, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_13LinkPredictor_8runAll},
  {"runOn", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_13LinkPredictor_11runOn, METH_O, __pyx_doc_9networkit_10_NetworKit_13LinkPredictor_10runOn},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_13LinkPredictor_13__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_13LinkPredictor_15__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_LinkPredictor = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.LinkPredictor", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_LinkPredictor), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LinkPredictor, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Abstract base class for link predictors.\n\n\tParameters\n\t----------\n\tG : networkit.Graph, optional\n\t\tThe graph to work on. Defaults to None.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_LinkPredictor, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_LinkPredictor, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_KatzIndex(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_LinkPredictor(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_9KatzIndex_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_KatzIndex[] = {
  {"run", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_9KatzIndex_3run, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_9KatzIndex_2run},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9KatzIndex_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9KatzIndex_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_KatzIndex = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.KatzIndex", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_KatzIndex), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LinkPredictor, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Implementation of the Katz index.\n\n\tKatz index assigns a pair of nodes a similarity score\n\tthat is based on the sum of the weighted number of paths of length l\n\twhere l is smaller than a given limit.\n\n\tParameters\n\t----------\n\tG : networkit.Graph, optional\n\t\tThe graph to operate on. Defaults to None.\n\tmaxPathLength : count, optional\n\t\tMaximal length of the paths to consider. Defaults to 5.\n\tdampingValue : double, optional\n\t\tUsed to exponentially damp every addend of the sum. Should be in (0, 1]. Defaults to 0.005.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_KatzIndex, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_KatzIndex, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_CommonNeighborsIndex(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_LinkPredictor(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_20CommonNeighborsIndex_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_CommonNeighborsIndex[] = {
  {"run", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_20CommonNeighborsIndex_3run, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_20CommonNeighborsIndex_2run},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20CommonNeighborsIndex_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20CommonNeighborsIndex_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_CommonNeighborsIndex = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.CommonNeighborsIndex", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_CommonNeighborsIndex), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LinkPredictor, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " The CommonNeighborsIndex calculates the number of common neighbors of a node-pair in a given graph.\n\n\tParameters\n\t----------\n\tG : networkit.Graph, optional\n\t\tThe graph to work on. Defaults to None.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_CommonNeighborsIndex, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_CommonNeighborsIndex, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PreferentialAttachmentIndex(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_LinkPredictor(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_27PreferentialAttachmentIndex_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_PreferentialAttachmentIndex[] = {
  {"run", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_27PreferentialAttachmentIndex_3run, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_27PreferentialAttachmentIndex_2run},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_27PreferentialAttachmentIndex_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_27PreferentialAttachmentIndex_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_PreferentialAttachmentIndex = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.PreferentialAttachmentIndex", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_PreferentialAttachmentIndex), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LinkPredictor, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Implementation of the Preferential Attachment Index.\n\n\tThe run-method simply calculates the product of the number of nodes in the neighborhoods\n\tregarding the given nodes.\n\n\tParameters\n\t----------\n\tG : networkit.Graph, optional\n\t\tThe graph to work on. Defaults to None.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_PreferentialAttachmentIndex, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_PreferentialAttachmentIndex, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Volume(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_Volume(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_Volume[] = {
  {"volume", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_6Volume_1volume, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_6Volume_volume},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_6Volume_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_6Volume_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_Volume = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.Volume", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_Volume), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Volume, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit_Volume, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_Volume, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_JaccardIndex(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_LinkPredictor(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_12JaccardIndex_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_JaccardIndex[] = {
  {"run", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_12JaccardIndex_3run, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_12JaccardIndex_2run},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12JaccardIndex_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12JaccardIndex_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_JaccardIndex = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.JaccardIndex", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_JaccardIndex), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LinkPredictor, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Implementation of the Jaccard index which normalizes the Common Neighbors Index.\n\n\tThis is done through dividing the number of common neighbors by the number of nodes\n\tin the neighboorhood-union.\n\n\tParameters\n\t----------\n\tG : networkit.Graph, optional\n\t\tThe graph to work on. Defaults to None.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_JaccardIndex, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_JaccardIndex, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_AdamicAdarIndex(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_LinkPredictor(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_15AdamicAdarIndex_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_AdamicAdarIndex[] = {
  {"run", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_15AdamicAdarIndex_3run, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_15AdamicAdarIndex_2run},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15AdamicAdarIndex_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15AdamicAdarIndex_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_AdamicAdarIndex = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.AdamicAdarIndex", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarIndex), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LinkPredictor, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Implementation of the Adamic/Adar Index.\n\n\tThe index sums up the reciprocals of the logarithm of the degree of all\n\tcommon neighbors of u and v.\n\n\tParameters\n\t----------\n\tG : networkit.Graph, optional\n\t\tThe graph to work on. Defaults to None.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_AdamicAdarIndex, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_AdamicAdarIndex, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_UDegreeIndex(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_LinkPredictor(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_12UDegreeIndex_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_UDegreeIndex[] = {
  {"run", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_12UDegreeIndex_3run, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_12UDegreeIndex_2run},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12UDegreeIndex_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12UDegreeIndex_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_UDegreeIndex = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.UDegreeIndex", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_UDegreeIndex), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LinkPredictor, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Index that simply returns the degree of the first given node.\n\n\tParameters\n\t----------\n\tG : networkit.Graph, optional\n\t\tThe graph to work on. Defaults to None.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_UDegreeIndex, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_UDegreeIndex, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_VDegreeIndex(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_LinkPredictor(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_12VDegreeIndex_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_VDegreeIndex[] = {
  {"run", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_12VDegreeIndex_3run, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_12VDegreeIndex_2run},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12VDegreeIndex_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12VDegreeIndex_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_VDegreeIndex = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.VDegreeIndex", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_VDegreeIndex), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LinkPredictor, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Index that simply returns the degree of the second given node.\n\n\tParameters\n\t----------\n\tG : networkit.Graph, optional\n\t\tThe graph to work on. Defaults to None.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_VDegreeIndex, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_VDegreeIndex, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_AlgebraicDistanceIndex(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_LinkPredictor(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_22AlgebraicDistanceIndex_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_AlgebraicDistanceIndex[] = {
  {"preprocess", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22AlgebraicDistanceIndex_3preprocess, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_22AlgebraicDistanceIndex_2preprocess},
  {"run", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_22AlgebraicDistanceIndex_5run, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_22AlgebraicDistanceIndex_4run},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22AlgebraicDistanceIndex_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22AlgebraicDistanceIndex_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_AlgebraicDistanceIndex = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.AlgebraicDistanceIndex", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistanceIndex), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LinkPredictor, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Algebraic distance assigns a distance value to pairs of nodes according to their structural closeness in the graph.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph to work on. Can be set to None and default is None.\n\tnumberSystems : count\n\t\tNumber of vectors/systems used for algebraic iteration.\n\tnumberIterations : count\n\t\tNumber of iterations in each system.\n\tomega : double, optional\n\t\tOverrelaxation parameter, default: 0.5.\n\tnorm : index, optional\n\t\tThe norm factor of the extended algebraic distance. Maximum norm is realized by setting the norm to 0. Default: 2.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_AlgebraicDistanceIndex, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_AlgebraicDistanceIndex, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_NeighborhoodDistanceIndex(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_LinkPredictor(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_25NeighborhoodDistanceIndex_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_NeighborhoodDistanceIndex[] = {
  {"run", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_25NeighborhoodDistanceIndex_3run, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_25NeighborhoodDistanceIndex_2run},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_25NeighborhoodDistanceIndex_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_25NeighborhoodDistanceIndex_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_NeighborhoodDistanceIndex = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.NeighborhoodDistanceIndex", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodDistanceIndex), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LinkPredictor, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Assigns a distance value to pairs of nodes according to the overlap of their neighborhoods.\n\n\tParameters\n\t----------\n\tG : networkit.Graph, optional\n\t\tThe graph to work on. Defaults to None.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_NeighborhoodDistanceIndex, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_NeighborhoodDistanceIndex, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_TotalNeighborsIndex(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_LinkPredictor(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_19TotalNeighborsIndex_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_TotalNeighborsIndex[] = {
  {"run", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_19TotalNeighborsIndex_3run, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_19TotalNeighborsIndex_2run},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19TotalNeighborsIndex_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19TotalNeighborsIndex_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_TotalNeighborsIndex = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.TotalNeighborsIndex", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_TotalNeighborsIndex), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LinkPredictor, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Implementation of the Total Neighbors Index.\n\n\tThis index is also known as Total Friends Index and returns\n\tthe number of nodes in the neighborhood-union of u and v.\n\n\tParameters\n\t----------\n\tG : networkit.Graph, optional\n\t\tThe graph to work on. Defaults to None.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_TotalNeighborsIndex, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_TotalNeighborsIndex, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_NeighborsMeasureIndex(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_LinkPredictor(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_21NeighborsMeasureIndex_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_NeighborsMeasureIndex[] = {
  {"run", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_21NeighborsMeasureIndex_3run, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_21NeighborsMeasureIndex_2run},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21NeighborsMeasureIndex_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21NeighborsMeasureIndex_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_NeighborsMeasureIndex = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.NeighborsMeasureIndex", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_NeighborsMeasureIndex), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LinkPredictor, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Implementation of the Neighbors Measure Index.\n\n\tThis index is also known as Friends Measure and simply returns\n\tthe number of connections between neighbors of the given nodes u and v.\n\n\tParameters\n\t----------\n\tG : networkit.Graph, optional\n\t\tThe graph to work on. Defaults to None.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_NeighborsMeasureIndex, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_NeighborsMeasureIndex, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_SameCommunityIndex(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_LinkPredictor(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_18SameCommunityIndex_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_SameCommunityIndex[] = {
  {"run", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_18SameCommunityIndex_3run, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_18SameCommunityIndex_2run},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18SameCommunityIndex_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18SameCommunityIndex_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_SameCommunityIndex = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.SameCommunityIndex", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_SameCommunityIndex), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LinkPredictor, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Index to determine whether two nodes are in the same community.\n\n\tParameters\n\t----------\n\tG : networkit.Graph, optional\n\t\tThe graph to work on. Defaults to None.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_SameCommunityIndex, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_SameCommunityIndex, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_AdjustedRandIndex(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_LinkPredictor(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_17AdjustedRandIndex_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_AdjustedRandIndex[] = {
  {"run", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_17AdjustedRandIndex_3run, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_17AdjustedRandIndex_2run},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17AdjustedRandIndex_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17AdjustedRandIndex_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_AdjustedRandIndex = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.AdjustedRandIndex", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_AdjustedRandIndex), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LinkPredictor, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " AdjustedRandIndex proposed by Hoffman et al. with natural threshold of 0.\n\n\tParameters\n\t----------\n\tG : networkit.Graph, optional\n\t\tThe graph to work on. Defaults to None.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_AdjustedRandIndex, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_AdjustedRandIndex, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ResourceAllocationIndex(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_LinkPredictor(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_23ResourceAllocationIndex_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_ResourceAllocationIndex[] = {
  {"run", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_23ResourceAllocationIndex_3run, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_23ResourceAllocationIndex_2run},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_23ResourceAllocationIndex_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_23ResourceAllocationIndex_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_ResourceAllocationIndex = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.ResourceAllocationIndex", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_ResourceAllocationIndex), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LinkPredictor, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Implementation of the ResourceAllocationIndex.\n\n\tThe index is similar to Adamic/Adar and sums up the reciprocals of\n\tthe degree of all common neighbors of u and v.\n\n\tParameters\n\t----------\n\tG : networkit.Graph, optional\n\t\tThe graph to work on. Defaults to None.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_ResourceAllocationIndex, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_ResourceAllocationIndex, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_RandomLinkSampler(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_RandomLinkSampler(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_RandomLinkSampler[] = {
  {"byPercentage", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_17RandomLinkSampler_1byPercentage, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_17RandomLinkSampler_byPercentage},
  {"byCount", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_17RandomLinkSampler_3byCount, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_17RandomLinkSampler_2byCount},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17RandomLinkSampler_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17RandomLinkSampler_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_RandomLinkSampler = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.RandomLinkSampler", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_RandomLinkSampler), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_RandomLinkSampler, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Provides methods to randomly sample a number of edges from a given graph. ", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_RandomLinkSampler, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_RandomLinkSampler, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EvaluationMetric(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_16EvaluationMetric_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_EvaluationMetric(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_16EvaluationMetric_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_EvaluationMetric[] = {
  {"setTestGraph", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_16EvaluationMetric_5setTestGraph, METH_O, __pyx_doc_9networkit_10_NetworKit_16EvaluationMetric_4setTestGraph},
  {"getCurve", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_16EvaluationMetric_7getCurve, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_16EvaluationMetric_6getCurve},
  {"getAreaUnderCurve", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_16EvaluationMetric_9getAreaUnderCurve, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_16EvaluationMetric_8getAreaUnderCurve},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_16EvaluationMetric_11__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_16EvaluationMetric_13__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_EvaluationMetric = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.EvaluationMetric", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_EvaluationMetric), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_EvaluationMetric, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Abstract base class for evaluation curves.\n\n\tThe evualation curves are generated based on the predictions calculated\n\tby the link predictor and a testGraph to compare against.\n\n\tParameters\n\t----------\n\ttestGraph : networkit.Graph\n\t\tGraph containing the links to use for evaluation. Can be set to None and default is None.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_EvaluationMetric, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_EvaluationMetric, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ROCMetric(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_EvaluationMetric(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_9ROCMetric_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_ROCMetric[] = {
  {"getCurve", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_9ROCMetric_3getCurve, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_9ROCMetric_2getCurve},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9ROCMetric_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9ROCMetric_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_ROCMetric = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.ROCMetric", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_ROCMetric), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_EvaluationMetric, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Provides points that define the Receiver Operating Characteristic curve for a given set of predictions.\n\n\tBased on the generated points the area under the curve can be calculated with the trapzoidal rule.\n\n\tParameters\n\t----------\n\ttestGraph : networkit.Graph, optional\n\t\tGraph containing the links to use for evaluation. Defaults to None.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_ROCMetric, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_ROCMetric, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PrecisionRecallMetric(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_EvaluationMetric(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_21PrecisionRecallMetric_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_PrecisionRecallMetric[] = {
  {"getCurve", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_21PrecisionRecallMetric_3getCurve, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_21PrecisionRecallMetric_2getCurve},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21PrecisionRecallMetric_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21PrecisionRecallMetric_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_PrecisionRecallMetric = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.PrecisionRecallMetric", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_PrecisionRecallMetric), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_EvaluationMetric, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Provides points that define the Precision-Recall curve for a given set of predictions.\n\n\tBased on the generated points the area under the curve can be calculated with the trapzoidal rule.\n\n\tParameters\n\t----------\n\ttestGraph : networkit.Graph, optional\n\t\tGraph containing the links to use for evaluation. Defaults to None.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_PrecisionRecallMetric, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_PrecisionRecallMetric, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_MissingLinksFinder(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_18MissingLinksFinder_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_MissingLinksFinder(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_18MissingLinksFinder_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_MissingLinksFinder[] = {
  {"findAtDistance", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18MissingLinksFinder_5findAtDistance, METH_O, __pyx_doc_9networkit_10_NetworKit_18MissingLinksFinder_4findAtDistance},
  {"findFromNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_18MissingLinksFinder_7findFromNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_18MissingLinksFinder_6findFromNode},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18MissingLinksFinder_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18MissingLinksFinder_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_MissingLinksFinder = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.MissingLinksFinder", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_MissingLinksFinder), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_MissingLinksFinder, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Allows the user to find missing links in the given graph.\n\n\tThe absent links to find are narrowed down by providing a distance\n\tthat the nodes of the missing links should have.\n\tFor example in case of distance 2 only node-pairs that would close\n\ta triangle in the given graph get returned.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph to find missing links in.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_MissingLinksFinder, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_MissingLinksFinder, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_NeighborhoodUtility(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_NeighborhoodUtility(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_NeighborhoodUtility[] = {
  {"getNeighborsUnion", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_19NeighborhoodUtility_1getNeighborsUnion, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_19NeighborhoodUtility_getNeighborsUnion},
  {"getCommonNeighbors", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_19NeighborhoodUtility_3getCommonNeighbors, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_19NeighborhoodUtility_2getCommonNeighbors},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19NeighborhoodUtility_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19NeighborhoodUtility_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_NeighborhoodUtility = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.NeighborhoodUtility", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_NeighborhoodUtility), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_NeighborhoodUtility, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Provides basic operations on neighborhoods in a given graph. ", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_NeighborhoodUtility, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_NeighborhoodUtility, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LinkThresholder(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_LinkThresholder(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_LinkThresholder[] = {
  {"byScore", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_15LinkThresholder_1byScore, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_15LinkThresholder_byScore},
  {"byCount", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_15LinkThresholder_3byCount, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_15LinkThresholder_2byCount},
  {"byPercentage", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_15LinkThresholder_5byPercentage, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_15LinkThresholder_4byPercentage},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15LinkThresholder_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15LinkThresholder_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_LinkThresholder = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.LinkThresholder", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_LinkThresholder), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LinkThresholder, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Filters given predictions based on some criterion and returns a vector of node-pairs that fulfill the given criterion.\n\n\tThis can be used to determine which node-pairs should actually be interpreted\n\tas future links and which shouldn't.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_LinkThresholder, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_LinkThresholder, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PredictionsSorter(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_PredictionsSorter(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_PredictionsSorter[] = {
  {"sortByScore", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_17PredictionsSorter_1sortByScore, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_17PredictionsSorter_sortByScore},
  {"sortByNodePair", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_17PredictionsSorter_3sortByNodePair, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_17PredictionsSorter_2sortByNodePair},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17PredictionsSorter_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17PredictionsSorter_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_PredictionsSorter = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.PredictionsSorter", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_PredictionsSorter), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_PredictionsSorter, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Allows the sorting of predictions by score or node-pair. ", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_PredictionsSorter, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_PredictionsSorter, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore __pyx_vtable_9networkit_10_NetworKit_EdgeScore;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EdgeScore(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *)o);
  p->__pyx_vtab = __pyx_vtabptr_9networkit_10_NetworKit_EdgeScore;
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScore(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *p = (struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_9EdgeScore_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_EdgeScore(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *p = (struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_EdgeScore)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_EdgeScore(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *p = (struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_EdgeScore);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_EdgeScore[] = {
  {"score", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_9EdgeScore_5score, METH_VARARGS|METH_KEYWORDS, 0},
  {"scores", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9EdgeScore_7scores, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9EdgeScore_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9EdgeScore_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_EdgeScore = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.EdgeScore", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScore, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tTODO DOCSTIRNG\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_EdgeScore, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_EdgeScore, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_EdgeScore, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_9networkit_10_NetworKit_9EdgeScore_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_EdgeScore, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore __pyx_vtable_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_EdgeScore(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore*)__pyx_vtabptr_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_31ChibaNishizekiTriangleEdgeScore_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_31ChibaNishizekiTriangleEdgeScore_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_31ChibaNishizekiTriangleEdgeScore_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.ChibaNishizekiTriangleEdgeScore", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScore, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tCalculates for each edge the number of triangles it is embedded in.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph to count triangles on.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_EdgeScore, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_EdgeScore, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9EdgeScore_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore __pyx_vtable_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_EdgeScore(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore*)__pyx_vtabptr_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_33ChibaNishizekiQuadrangleEdgeScore_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_33ChibaNishizekiQuadrangleEdgeScore_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_33ChibaNishizekiQuadrangleEdgeScore_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.ChibaNishizekiQuadrangleEdgeScore", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScore, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tCalculates for each edge the number of quadrangles (circles of length 4) it is embedded in.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph to count quadrangles on.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_EdgeScore, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_EdgeScore, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9EdgeScore_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_TriangleEdgeScore __pyx_vtable_9networkit_10_NetworKit_TriangleEdgeScore;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_TriangleEdgeScore(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_TriangleEdgeScore *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_EdgeScore(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_TriangleEdgeScore *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore*)__pyx_vtabptr_9networkit_10_NetworKit_TriangleEdgeScore;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_17TriangleEdgeScore_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_TriangleEdgeScore[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17TriangleEdgeScore_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17TriangleEdgeScore_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_TriangleEdgeScore = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.TriangleEdgeScore", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_TriangleEdgeScore), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScore, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tTriangle counting.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph to count triangles on.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_EdgeScore, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_EdgeScore, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_TriangleEdgeScore, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9EdgeScore_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_TriangleEdgeScore, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScoreLinearizer __pyx_vtable_9networkit_10_NetworKit_EdgeScoreLinearizer;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EdgeScoreLinearizer(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreLinearizer *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_EdgeScore(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreLinearizer *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore*)__pyx_vtabptr_9networkit_10_NetworKit_EdgeScoreLinearizer;
  new((void*)&(p->_score)) std::vector<double> ();
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_19EdgeScoreLinearizer_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScoreLinearizer(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreLinearizer *p = (struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreLinearizer *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_score);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScore(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_EdgeScoreLinearizer[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19EdgeScoreLinearizer_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19EdgeScoreLinearizer_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_EdgeScoreLinearizer = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.EdgeScoreLinearizer", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreLinearizer), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScoreLinearizer, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tLinearizes a score such that values are evenly distributed between 0 and 1.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe input graph.\n\ta : vector[double]\n\t\tEdge score that shall be linearized.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_EdgeScore, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_EdgeScore, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_EdgeScoreLinearizer, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9EdgeScore_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_EdgeScoreLinearizer, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScoreNormalizer __pyx_vtable_9networkit_10_NetworKit_EdgeScoreNormalizer;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EdgeScoreNormalizer(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreNormalizer *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_EdgeScore(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreNormalizer *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore*)__pyx_vtabptr_9networkit_10_NetworKit_EdgeScoreNormalizer;
  new((void*)&(p->_inScoreDouble)) std::vector<double> ();
  new((void*)&(p->_inScoreCount)) std::vector<__pyx_t_9networkit_10_NetworKit_count> ();
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_19EdgeScoreNormalizer_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScoreNormalizer(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreNormalizer *p = (struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreNormalizer *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_inScoreDouble);
  __Pyx_call_destructor(p->_inScoreCount);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScore(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_EdgeScoreNormalizer[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19EdgeScoreNormalizer_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19EdgeScoreNormalizer_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_EdgeScoreNormalizer = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.EdgeScoreNormalizer", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreNormalizer), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScoreNormalizer, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tNormalize an edge score such that it is in a certain range.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph the edge score is defined on.\n\tscore : vector[double]\n\t\tThe edge score to normalize.\n\tinverse\n\t\tSet to True in order to inverse the resulting score.\n\tlower\n\t\tLower bound of the target range.\n\tupper\n\t\tUpper bound of the target range.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_EdgeScore, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_EdgeScore, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_EdgeScoreNormalizer, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9EdgeScore_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_EdgeScoreNormalizer, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScoreBlender __pyx_vtable_9networkit_10_NetworKit_EdgeScoreBlender;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EdgeScoreBlender(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreBlender *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_EdgeScore(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreBlender *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore*)__pyx_vtabptr_9networkit_10_NetworKit_EdgeScoreBlender;
  new((void*)&(p->_attribute0)) std::vector<double> ();
  new((void*)&(p->_attribute1)) std::vector<double> ();
  new((void*)&(p->_selection)) std::vector<bool> ();
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_16EdgeScoreBlender_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScoreBlender(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreBlender *p = (struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreBlender *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_attribute0);
  __Pyx_call_destructor(p->_attribute1);
  __Pyx_call_destructor(p->_selection);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScore(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_EdgeScoreBlender[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_16EdgeScoreBlender_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_16EdgeScoreBlender_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_EdgeScoreBlender = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.EdgeScoreBlender", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreBlender), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScoreBlender, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tBlends two attribute vectors, the value is chosen depending on the supplied bool vector\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph for which the attribute shall be blended\n\tattribute0 : vector[double]\n\t\tThe first attribute (chosen for selection[eid] == false)\n\tattribute1 : vector[double]\n\t\tThe second attribute (chosen for selection[eid] == true)\n\tselection : vector[bool]\n\t\tThe selection vector\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_EdgeScore, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_EdgeScore, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_EdgeScoreBlender, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9EdgeScore_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_EdgeScoreBlender, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_GeometricMeanScore __pyx_vtable_9networkit_10_NetworKit_GeometricMeanScore;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GeometricMeanScore(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_GeometricMeanScore *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_EdgeScore(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_GeometricMeanScore *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore*)__pyx_vtabptr_9networkit_10_NetworKit_GeometricMeanScore;
  new((void*)&(p->_attribute)) std::vector<double> ();
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_18GeometricMeanScore_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_GeometricMeanScore(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_GeometricMeanScore *p = (struct __pyx_obj_9networkit_10_NetworKit_GeometricMeanScore *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_attribute);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScore(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_GeometricMeanScore[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18GeometricMeanScore_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18GeometricMeanScore_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_GeometricMeanScore = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.GeometricMeanScore", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_GeometricMeanScore), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GeometricMeanScore, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tNormalizes the given edge attribute by the geometric average of the sum of the attributes of the incident edges of the incident nodes.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe input graph.\n\ta : vector[double]\n\t\tEdge attribute that shall be normalized.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_EdgeScore, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_EdgeScore, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_GeometricMeanScore, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9EdgeScore_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_GeometricMeanScore, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EdgeScoreAsWeight(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreAsWeight *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreAsWeight *)o);
  new((void*)&(p->_score)) std::vector<double> ();
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_17EdgeScoreAsWeight_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScoreAsWeight(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreAsWeight *p = (struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreAsWeight *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_17EdgeScoreAsWeight_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_score);
  Py_CLEAR(p->_G);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_EdgeScoreAsWeight(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreAsWeight *p = (struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreAsWeight *)o;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_EdgeScoreAsWeight(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreAsWeight *p = (struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreAsWeight *)o;
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_EdgeScoreAsWeight[] = {
  {"getWeightedGraph", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17EdgeScoreAsWeight_5getWeightedGraph, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_17EdgeScoreAsWeight_4getWeightedGraph},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17EdgeScoreAsWeight_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17EdgeScoreAsWeight_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_EdgeScoreAsWeight = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.EdgeScoreAsWeight", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_EdgeScoreAsWeight), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScoreAsWeight, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tAssigns an edge score as edge weight of a graph.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph to assign edge weights to.\n\tscore : vector[double]\n\t\tThe input edge score.\n\tsquared : bool\n\t\tEdge weights will be squared if set to True.\n\toffset : edgeweight\n\t\tThis offset will be added to each edge weight.\n\tfactor : edgeweight\n\t\tEach edge weight will be multiplied by this factor.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_EdgeScoreAsWeight, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_EdgeScoreAsWeight, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_EdgeScoreAsWeight, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_EdgeScoreAsWeight, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_AdamicAdarDistance(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_18AdamicAdarDistance_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_AdamicAdarDistance(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *p = (struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_18AdamicAdarDistance_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_G);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_AdamicAdarDistance(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *p = (struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *)o;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_AdamicAdarDistance(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *p = (struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance *)o;
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_AdamicAdarDistance[] = {
  {"preprocess", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18AdamicAdarDistance_5preprocess, METH_NOARGS, 0},
  {"getAttribute", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18AdamicAdarDistance_7getAttribute, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_18AdamicAdarDistance_6getAttribute},
  {"distance", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_18AdamicAdarDistance_9distance, METH_VARARGS|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18AdamicAdarDistance_11__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18AdamicAdarDistance_13__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_AdamicAdarDistance = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.AdamicAdarDistance", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_AdamicAdarDistance), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_AdamicAdarDistance, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tCalculate the adamic adar similarity.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe input graph.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_AdamicAdarDistance, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_AdamicAdarDistance, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_AdamicAdarDistance, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_AdamicAdarDistance, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_SimmelianOverlapScore __pyx_vtable_9networkit_10_NetworKit_SimmelianOverlapScore;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_SimmelianOverlapScore(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_SimmelianOverlapScore *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_EdgeScore(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_SimmelianOverlapScore *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore*)__pyx_vtabptr_9networkit_10_NetworKit_SimmelianOverlapScore;
  new((void*)&(p->_triangles)) std::vector<__pyx_t_9networkit_10_NetworKit_count> ();
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_21SimmelianOverlapScore_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_SimmelianOverlapScore(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_SimmelianOverlapScore *p = (struct __pyx_obj_9networkit_10_NetworKit_SimmelianOverlapScore *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_triangles);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScore(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_SimmelianOverlapScore[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21SimmelianOverlapScore_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21SimmelianOverlapScore_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_SimmelianOverlapScore = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.SimmelianOverlapScore", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_SimmelianOverlapScore), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_SimmelianOverlapScore, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit_EdgeScore, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_EdgeScore, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_SimmelianOverlapScore, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9EdgeScore_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_SimmelianOverlapScore, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_PrefixJaccardScore __pyx_vtable_9networkit_10_NetworKit_PrefixJaccardScore;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PrefixJaccardScore(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_PrefixJaccardScore *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_EdgeScore(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_PrefixJaccardScore *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore*)__pyx_vtabptr_9networkit_10_NetworKit_PrefixJaccardScore;
  new((void*)&(p->_attribute)) std::vector<double> ();
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_18PrefixJaccardScore_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_PrefixJaccardScore(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_PrefixJaccardScore *p = (struct __pyx_obj_9networkit_10_NetworKit_PrefixJaccardScore *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_attribute);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScore(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_PrefixJaccardScore[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18PrefixJaccardScore_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18PrefixJaccardScore_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_PrefixJaccardScore = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.PrefixJaccardScore", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_PrefixJaccardScore), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_PrefixJaccardScore, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit_EdgeScore, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_EdgeScore, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_PrefixJaccardScore, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9EdgeScore_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_PrefixJaccardScore, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_MultiscaleScore __pyx_vtable_9networkit_10_NetworKit_MultiscaleScore;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_MultiscaleScore(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_MultiscaleScore *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_EdgeScore(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_MultiscaleScore *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore*)__pyx_vtabptr_9networkit_10_NetworKit_MultiscaleScore;
  new((void*)&(p->_attribute)) std::vector<double> ();
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_15MultiscaleScore_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_MultiscaleScore(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_MultiscaleScore *p = (struct __pyx_obj_9networkit_10_NetworKit_MultiscaleScore *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_attribute);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScore(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_MultiscaleScore[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15MultiscaleScore_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15MultiscaleScore_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_MultiscaleScore = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.MultiscaleScore", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_MultiscaleScore), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_MultiscaleScore, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tAn implementation of the Multiscale Backbone. Calculates for each edge the minimum\n\tparameter value such that the edge is still contained in the sparsified graph.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph to apply the Multiscale algorithm to.\n\tattribute : vector[double]\n\t\tThe edge attribute the Multiscale algorithm is to be applied to.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_EdgeScore, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_EdgeScore, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_MultiscaleScore, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9EdgeScore_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_MultiscaleScore, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_RandomEdgeScore __pyx_vtable_9networkit_10_NetworKit_RandomEdgeScore;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_RandomEdgeScore(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_RandomEdgeScore *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_EdgeScore(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_RandomEdgeScore *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore*)__pyx_vtabptr_9networkit_10_NetworKit_RandomEdgeScore;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_15RandomEdgeScore_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_RandomEdgeScore[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15RandomEdgeScore_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15RandomEdgeScore_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_RandomEdgeScore = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.RandomEdgeScore", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_RandomEdgeScore), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScore, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\t[todo]\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph to calculate the Random Edge attribute for.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_EdgeScore, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_EdgeScore, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_RandomEdgeScore, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9EdgeScore_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_RandomEdgeScore, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_LocalSimilarityScore __pyx_vtable_9networkit_10_NetworKit_LocalSimilarityScore;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LocalSimilarityScore(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_LocalSimilarityScore *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_EdgeScore(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_LocalSimilarityScore *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore*)__pyx_vtabptr_9networkit_10_NetworKit_LocalSimilarityScore;
  new((void*)&(p->_triangles)) std::vector<__pyx_t_9networkit_10_NetworKit_count> ();
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_20LocalSimilarityScore_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_LocalSimilarityScore(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_LocalSimilarityScore *p = (struct __pyx_obj_9networkit_10_NetworKit_LocalSimilarityScore *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_triangles);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScore(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_LocalSimilarityScore[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20LocalSimilarityScore_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20LocalSimilarityScore_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_LocalSimilarityScore = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.LocalSimilarityScore", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_LocalSimilarityScore), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LocalSimilarityScore, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tAn implementation of the Local Simlarity sparsification approach.\n\tThis attributizer calculates for each edge the maximum parameter value\n\tsuch that the edge is still contained in the sparsified graph.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph to apply the Local Similarity algorithm to.\n\ttriangles : vector[count]\n\t\tPreviously calculated edge triangle counts.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_EdgeScore, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_EdgeScore, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_LocalSimilarityScore, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9EdgeScore_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_LocalSimilarityScore, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_ForestFireScore __pyx_vtable_9networkit_10_NetworKit_ForestFireScore;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ForestFireScore(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_ForestFireScore *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_EdgeScore(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_ForestFireScore *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore*)__pyx_vtabptr_9networkit_10_NetworKit_ForestFireScore;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_15ForestFireScore_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_ForestFireScore[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15ForestFireScore_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15ForestFireScore_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_ForestFireScore = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.ForestFireScore", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_ForestFireScore), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScore, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tA variant of the Forest Fire sparsification approach that is based on random walks.\n\tThis attributizer calculates for each edge the minimum parameter value\n\tsuch that the edge is still contained in the sparsified graph.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph to apply the Forest Fire algorithm to.\n\tpf : double\n\t\tThe probability for neighbor nodes to get burned aswell.\n\ttebr : double\n\t\tThe Forest Fire will burn until tebr * numberOfEdges edges have been burnt.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_EdgeScore, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_EdgeScore, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_ForestFireScore, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9EdgeScore_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_ForestFireScore, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_LocalDegreeScore __pyx_vtable_9networkit_10_NetworKit_LocalDegreeScore;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LocalDegreeScore(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_LocalDegreeScore *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_EdgeScore(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_LocalDegreeScore *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore*)__pyx_vtabptr_9networkit_10_NetworKit_LocalDegreeScore;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_16LocalDegreeScore_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_LocalDegreeScore[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_16LocalDegreeScore_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_16LocalDegreeScore_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_LocalDegreeScore = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.LocalDegreeScore", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_LocalDegreeScore), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScore, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tThe LocalDegree sparsification approach is based on the idea of hub nodes.\n\tThis attributizer calculates for each edge the maximum parameter value\n\tsuch that the edge is still contained in the sparsified graph.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph to apply the Local Degree  algorithm to.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_EdgeScore, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_EdgeScore, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_LocalDegreeScore, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9EdgeScore_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_LocalDegreeScore, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_JaccardDistance(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_JaccardDistance *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_JaccardDistance *)o);
  new((void*)&(p->triangles)) std::vector<__pyx_t_9networkit_10_NetworKit_count> ();
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_15JaccardDistance_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_JaccardDistance(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_JaccardDistance *p = (struct __pyx_obj_9networkit_10_NetworKit_JaccardDistance *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_15JaccardDistance_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->triangles);
  Py_CLEAR(p->_G);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_JaccardDistance(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_JaccardDistance *p = (struct __pyx_obj_9networkit_10_NetworKit_JaccardDistance *)o;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_JaccardDistance(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_JaccardDistance *p = (struct __pyx_obj_9networkit_10_NetworKit_JaccardDistance *)o;
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_JaccardDistance[] = {
  {"getAttribute", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15JaccardDistance_5getAttribute, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15JaccardDistance_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15JaccardDistance_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_JaccardDistance = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.JaccardDistance", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_JaccardDistance), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_JaccardDistance, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tThe Jaccard distance measure assigns to each edge the jaccard coefficient\n\tof the neighborhoods of the two adjacent nodes.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph to calculate Jaccard distances for.\n\ttriangles : vector[count]\n\t\tPreviously calculated edge triangle counts.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_JaccardDistance, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_JaccardDistance, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_JaccardDistance, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_JaccardDistance, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_AlgebraicDistance(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_17AlgebraicDistance_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_AlgebraicDistance(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *p = (struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_17AlgebraicDistance_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_G);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_AlgebraicDistance(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *p = (struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *)o;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_AlgebraicDistance(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *p = (struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance *)o;
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_AlgebraicDistance[] = {
  {"preprocess", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17AlgebraicDistance_5preprocess, METH_NOARGS, 0},
  {"distance", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_17AlgebraicDistance_7distance, METH_VARARGS|METH_KEYWORDS, 0},
  {"getEdgeScores", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17AlgebraicDistance_9getEdgeScores, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17AlgebraicDistance_11__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_17AlgebraicDistance_13__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_AlgebraicDistance = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.AlgebraicDistance", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_AlgebraicDistance), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_AlgebraicDistance, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tAlgebraic distance assigns a distance value to pairs of nodes\n    according to their structural closeness in the graph.\n    Algebraic distances will become small within dense subgraphs.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph to calculate Jaccard distances for.\n\tnumberSystems : count\n\t \tNumber of vectors/systems used for algebraic iteration.\n\tnumberIterations : count\n\t \tNumber of iterations in each system.\n\tomega : double\n\t \tattenuation factor in [0,1] influencing convergence speed.\n\tnorm : index\n\t\tThe norm factor of the extended algebraic distance.\n\twithEdgeScores : bool\n\t\tcalculate array of scores for edges {u,v} that equal ad(u,v)\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_AlgebraicDistance, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_AlgebraicDistance, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_AlgebraicDistance, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_AlgebraicDistance, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_JaccardSimilarityAttributizer(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_JaccardSimilarityAttributizer *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_JaccardSimilarityAttributizer *)o);
  new((void*)&(p->_triangles)) std::vector<__pyx_t_9networkit_10_NetworKit_count> ();
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_JaccardSimilarityAttributizer(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_JaccardSimilarityAttributizer *p = (struct __pyx_obj_9networkit_10_NetworKit_JaccardSimilarityAttributizer *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_triangles);
  Py_CLEAR(p->_G);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_JaccardSimilarityAttributizer(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_JaccardSimilarityAttributizer *p = (struct __pyx_obj_9networkit_10_NetworKit_JaccardSimilarityAttributizer *)o;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_JaccardSimilarityAttributizer(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_JaccardSimilarityAttributizer *p = (struct __pyx_obj_9networkit_10_NetworKit_JaccardSimilarityAttributizer *)o;
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_JaccardSimilarityAttributizer[] = {
  {"getAttribute", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_5getAttribute, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_29JaccardSimilarityAttributizer_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_JaccardSimilarityAttributizer = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.JaccardSimilarityAttributizer", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_JaccardSimilarityAttributizer), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_JaccardSimilarityAttributizer, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tThe Jaccard similarity measure assigns to each edge (1 - the jaccard coefficient\n\tof the neighborhoods of the two adjacent nodes).\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph to calculate Jaccard similarities for.\n\ttriangles : vector[count]\n\t\tPreviously calculated edge triangle counts.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_JaccardSimilarityAttributizer, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_JaccardSimilarityAttributizer, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_JaccardSimilarityAttributizer, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_JaccardSimilarityAttributizer, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_RandomNodeEdgeScore __pyx_vtable_9networkit_10_NetworKit_RandomNodeEdgeScore;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_RandomNodeEdgeScore(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_RandomNodeEdgeScore *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_EdgeScore(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_RandomNodeEdgeScore *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore*)__pyx_vtabptr_9networkit_10_NetworKit_RandomNodeEdgeScore;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_19RandomNodeEdgeScore_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_RandomNodeEdgeScore[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19RandomNodeEdgeScore_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19RandomNodeEdgeScore_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_RandomNodeEdgeScore = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.RandomNodeEdgeScore", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_RandomNodeEdgeScore), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScore, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tRandom Edge sampling. This attributizer returns edge attributes where\n\teach value is selected uniformly at random from [0,1].\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph to calculate the Random Edge attribute for.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_EdgeScore, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_EdgeScore, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_RandomNodeEdgeScore, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9EdgeScore_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_RandomNodeEdgeScore, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_LocalFilterScore __pyx_vtable_9networkit_10_NetworKit_LocalFilterScore;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_LocalFilterScore(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_LocalFilterScore *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_EdgeScore(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_LocalFilterScore *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore*)__pyx_vtabptr_9networkit_10_NetworKit_LocalFilterScore;
  new((void*)&(p->_a)) std::vector<double> ();
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_16LocalFilterScore_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_LocalFilterScore(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_LocalFilterScore *p = (struct __pyx_obj_9networkit_10_NetworKit_LocalFilterScore *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_a);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScore(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_LocalFilterScore[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_16LocalFilterScore_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_16LocalFilterScore_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_LocalFilterScore = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.LocalFilterScore", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_LocalFilterScore), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_LocalFilterScore, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tLocal filtering edge scoring. Edges with high score are more important.\n\n\tEdges are ranked locally, the top d^e (logarithmic, default) or 1+e*(d-1) edges (non-logarithmic) are kept.\n\tFor equal attribute values, neighbors of low degree are preferred.\n\tIf bothRequired is set (default: false), both neighbors need to indicate that they want to keep the edge.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe input graph\n\ta : list\n\t\tThe input attribute according to which the edges shall be fitlered locally.\n\tlogarithmic : bool\n\t\tIf the score shall be logarithmic in the rank (then d^e edges are kept). Linear otherwise.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_EdgeScore, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_EdgeScore, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_LocalFilterScore, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9EdgeScore_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_LocalFilterScore, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_ChanceCorrectedTriangleScore __pyx_vtable_9networkit_10_NetworKit_ChanceCorrectedTriangleScore;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_ChanceCorrectedTriangleScore(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_ChanceCorrectedTriangleScore *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_EdgeScore(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_ChanceCorrectedTriangleScore *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore*)__pyx_vtabptr_9networkit_10_NetworKit_ChanceCorrectedTriangleScore;
  new((void*)&(p->_triangles)) std::vector<__pyx_t_9networkit_10_NetworKit_count> ();
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_28ChanceCorrectedTriangleScore_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_ChanceCorrectedTriangleScore(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_ChanceCorrectedTriangleScore *p = (struct __pyx_obj_9networkit_10_NetworKit_ChanceCorrectedTriangleScore *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_triangles);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScore(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_ChanceCorrectedTriangleScore[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_28ChanceCorrectedTriangleScore_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_28ChanceCorrectedTriangleScore_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_ChanceCorrectedTriangleScore = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.ChanceCorrectedTriangleScore", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_ChanceCorrectedTriangleScore), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_ChanceCorrectedTriangleScore, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tDivide the number of triangles per edge by the expected number of triangles given a random edge distribution.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe input graph.\n\ttriangles : vector[count]\n\t\tTriangle count.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_EdgeScore, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_EdgeScore, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_ChanceCorrectedTriangleScore, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9EdgeScore_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_ChanceCorrectedTriangleScore, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_SCANStructuralSimilarityScore __pyx_vtable_9networkit_10_NetworKit_SCANStructuralSimilarityScore;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_SCANStructuralSimilarityScore(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_SCANStructuralSimilarityScore *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_EdgeScore(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_SCANStructuralSimilarityScore *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9networkit_10_NetworKit_EdgeScore*)__pyx_vtabptr_9networkit_10_NetworKit_SCANStructuralSimilarityScore;
  new((void*)&(p->_triangles)) std::vector<__pyx_t_9networkit_10_NetworKit_count> ();
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_29SCANStructuralSimilarityScore_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_SCANStructuralSimilarityScore(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_SCANStructuralSimilarityScore *p = (struct __pyx_obj_9networkit_10_NetworKit_SCANStructuralSimilarityScore *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->_triangles);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_EdgeScore(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_SCANStructuralSimilarityScore[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_29SCANStructuralSimilarityScore_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_29SCANStructuralSimilarityScore_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_SCANStructuralSimilarityScore = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.SCANStructuralSimilarityScore", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_SCANStructuralSimilarityScore), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_SCANStructuralSimilarityScore, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit_EdgeScore, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_EdgeScore, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_SCANStructuralSimilarityScore, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9EdgeScore_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_SCANStructuralSimilarityScore, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GlobalThresholdFilter(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_GlobalThresholdFilter *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_GlobalThresholdFilter *)o);
  new((void*)&(p->_attribute)) std::vector<double> ();
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_21GlobalThresholdFilter_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_GlobalThresholdFilter(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_GlobalThresholdFilter *p = (struct __pyx_obj_9networkit_10_NetworKit_GlobalThresholdFilter *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_21GlobalThresholdFilter_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_attribute);
  Py_CLEAR(p->_G);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_GlobalThresholdFilter(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_GlobalThresholdFilter *p = (struct __pyx_obj_9networkit_10_NetworKit_GlobalThresholdFilter *)o;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_GlobalThresholdFilter(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_GlobalThresholdFilter *p = (struct __pyx_obj_9networkit_10_NetworKit_GlobalThresholdFilter *)o;
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_GlobalThresholdFilter[] = {
  {"calculate", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21GlobalThresholdFilter_5calculate, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21GlobalThresholdFilter_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_21GlobalThresholdFilter_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_GlobalThresholdFilter = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.GlobalThresholdFilter", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_GlobalThresholdFilter), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GlobalThresholdFilter, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tCalculates a sparsified graph by filtering globally using a constant threshold value\n\tand a given edge attribute.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph to sparsify.\n\tattribute : vector[double]\n\t\tThe edge attribute to consider for filtering.\n\te : double\n\t\tThreshold value.\n\tabove : bool\n\t\tIf set to True (False), all edges with an attribute value equal to or above (below)\n\t\twill be kept in the sparsified graph.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_GlobalThresholdFilter, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_GlobalThresholdFilter, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_GlobalThresholdFilter, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_GlobalThresholdFilter, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};
static struct __pyx_vtabstruct_9networkit_10_NetworKit_Matching __pyx_vtable_9networkit_10_NetworKit_Matching;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Matching(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_Matching *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_Matching *)o);
  p->__pyx_vtab = __pyx_vtabptr_9networkit_10_NetworKit_Matching;
  new((void*)&(p->_this)) NetworKit::Matching();
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_8Matching_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_Matching(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_Matching *p = (struct __pyx_obj_9networkit_10_NetworKit_Matching *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  __Pyx_call_destructor(p->_this);
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_Matching[] = {
  {"match", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_8Matching_3match, METH_VARARGS|METH_KEYWORDS, 0},
  {"unmatch", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_8Matching_5unmatch, METH_VARARGS|METH_KEYWORDS, 0},
  {"isMatched", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_8Matching_7isMatched, METH_O, 0},
  {"areMatched", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_8Matching_9areMatched, METH_VARARGS|METH_KEYWORDS, 0},
  {"isProper", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_8Matching_11isProper, METH_O, 0},
  {"size", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_8Matching_13size, METH_O, 0},
  {"mate", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_8Matching_15mate, METH_O, 0},
  {"weight", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_8Matching_17weight, METH_O, 0},
  {"toPartition", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_8Matching_19toPartition, METH_O, 0},
  {"getVector", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_8Matching_21getVector, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_8Matching_20getVector},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_8Matching_23__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_8Matching_25__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_Matching = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.Matching", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_Matching), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Matching, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Implements a graph matching.\n\n \t\tMatching(z=0)\n\n \t\tCreate a new matching data structure for `z` elements.\n\n\t\tParameters\n\t\t----------\n\t\tz : index, optional\n\t\t\tMaximum number of nodes.\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_Matching, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_Matching, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Matcher(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_Matcher *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_Matcher *)o);
  p->G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_Matcher(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_Matcher *p = (struct __pyx_obj_9networkit_10_NetworKit_Matcher *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_Matcher(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_Matcher *p = (struct __pyx_obj_9networkit_10_NetworKit_Matcher *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_Matcher)); if (e) return e;
  if (p->G) {
    e = (*v)(((PyObject *)p->G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_Matcher(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_Matcher *p = (struct __pyx_obj_9networkit_10_NetworKit_Matcher *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_Matcher);
  tmp = ((PyObject*)p->G);
  p->G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_Matcher[] = {
  {"getMatching", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_7Matcher_3getMatching, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_7Matcher_2getMatching},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_7Matcher_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_7Matcher_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_Matcher = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.Matcher", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_Matcher), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Matcher, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Abstract base class for matching algorithms ", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_Matcher, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_Matcher, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_Matcher, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_9networkit_10_NetworKit_7Matcher_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_Matcher, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PathGrowingMatcher(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Matcher(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_18PathGrowingMatcher_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_PathGrowingMatcher[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18PathGrowingMatcher_3__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_18PathGrowingMatcher_5__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_PathGrowingMatcher = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.PathGrowingMatcher", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_PathGrowingMatcher), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Matcher, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tPath growing matching algorithm as described by  Hougardy and Drake.\n\tComputes an approximate maximum weight matching with guarantee 1/2.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_Matcher, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_Matcher, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_PathGrowingMatcher, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_7Matcher_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_PathGrowingMatcher, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_CommuteTimeDistance(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_19CommuteTimeDistance_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_CommuteTimeDistance(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *p = (struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_CommuteTimeDistance(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *p = (struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_CommuteTimeDistance)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_CommuteTimeDistance(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *p = (struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_CommuteTimeDistance);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_CommuteTimeDistance[] = {
  {"runApproximation", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19CommuteTimeDistance_3runApproximation, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_19CommuteTimeDistance_2runApproximation},
  {"runParallelApproximation", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19CommuteTimeDistance_5runParallelApproximation, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_19CommuteTimeDistance_4runParallelApproximation},
  {"distance", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_19CommuteTimeDistance_7distance, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_19CommuteTimeDistance_6distance},
  {"runSinglePair", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9networkit_10_NetworKit_19CommuteTimeDistance_9runSinglePair, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9networkit_10_NetworKit_19CommuteTimeDistance_8runSinglePair},
  {"runSingleSource", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19CommuteTimeDistance_11runSingleSource, METH_O, __pyx_doc_9networkit_10_NetworKit_19CommuteTimeDistance_10runSingleSource},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19CommuteTimeDistance_13__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_19CommuteTimeDistance_15__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_CommuteTimeDistance = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.CommuteTimeDistance", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_CommuteTimeDistance), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_CommuteTimeDistance, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Computes the Euclidean Commute Time Distance between each pair of nodes for an undirected unweighted graph.\n\n\tCommuteTimeDistance(G)\n\n\tCreate CommuteTimeDistance for Graph `G`.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph.\n\ttol: double\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_CommuteTimeDistance, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_CommuteTimeDistance, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_CommuteTimeDistance, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_CommuteTimeDistance, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_EpidemicSimulationSEIR(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_EpidemicSimulationSEIR *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_EpidemicSimulationSEIR *)o);
  p->G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_22EpidemicSimulationSEIR_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_EpidemicSimulationSEIR(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_EpidemicSimulationSEIR *p = (struct __pyx_obj_9networkit_10_NetworKit_EpidemicSimulationSEIR *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_EpidemicSimulationSEIR(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_EpidemicSimulationSEIR *p = (struct __pyx_obj_9networkit_10_NetworKit_EpidemicSimulationSEIR *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_EpidemicSimulationSEIR)); if (e) return e;
  if (p->G) {
    e = (*v)(((PyObject *)p->G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_EpidemicSimulationSEIR(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_EpidemicSimulationSEIR *p = (struct __pyx_obj_9networkit_10_NetworKit_EpidemicSimulationSEIR *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_EpidemicSimulationSEIR);
  tmp = ((PyObject*)p->G);
  p->G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_EpidemicSimulationSEIR[] = {
  {"getData", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22EpidemicSimulationSEIR_3getData, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22EpidemicSimulationSEIR_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22EpidemicSimulationSEIR_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_EpidemicSimulationSEIR = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.EpidemicSimulationSEIR", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_EpidemicSimulationSEIR), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_EpidemicSimulationSEIR, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n \tParameters\n \t----------\n \tG : networkit.Graph\n \t\tThe graph.\n \ttMax : count\n \t\tmax. number of timesteps\n\ttransP : double\n\t\ttransmission probability\n\teTime : count\n\t\texposed time\n\tiTime : count\n\t\tinfectious time\n\tzero : node\n\t\tstarting node\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_EpidemicSimulationSEIR, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_EpidemicSimulationSEIR, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_EpidemicSimulationSEIR, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_EpidemicSimulationSEIR, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_SpanningEdgeCentrality(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality *p;
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_22SpanningEdgeCentrality_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_SpanningEdgeCentrality(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality *p = (struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_G);
  #if CYTHON_USE_TYPE_SLOTS
  if (PyType_IS_GC(Py_TYPE(o)->tp_base))
  #endif
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_SpanningEdgeCentrality(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality *p = (struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality *)o;
  e = ((likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) ? ((__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse) ? __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_9networkit_10_NetworKit_SpanningEdgeCentrality)); if (e) return e;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_SpanningEdgeCentrality(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality *p = (struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality *)o;
  if (likely(__pyx_ptype_9networkit_10_NetworKit_Algorithm)) { if (__pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear) __pyx_ptype_9networkit_10_NetworKit_Algorithm->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_9networkit_10_NetworKit_SpanningEdgeCentrality);
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_SpanningEdgeCentrality[] = {
  {"runApproximation", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22SpanningEdgeCentrality_3runApproximation, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_22SpanningEdgeCentrality_2runApproximation},
  {"runParallelApproximation", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22SpanningEdgeCentrality_5runParallelApproximation, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_22SpanningEdgeCentrality_4runParallelApproximation},
  {"scores", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22SpanningEdgeCentrality_7scores, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_22SpanningEdgeCentrality_6scores},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22SpanningEdgeCentrality_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_22SpanningEdgeCentrality_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_SpanningEdgeCentrality = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.SpanningEdgeCentrality", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_SpanningEdgeCentrality), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_SpanningEdgeCentrality, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  " Computes the Spanning Edge centrality for the edges of the graph.\n\n\tSpanningEdgeCentrality(G, tol = 0.1)\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph.\n\ttol: double\n\t\tTolerance used for the approximation: with probability at least 1-1/n, the approximated scores are within a factor 1+tol from the exact scores.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_SpanningEdgeCentrality, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_SpanningEdgeCentrality, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_SpanningEdgeCentrality, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_SpanningEdgeCentrality, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GraphLayoutAlgorithm(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *p;
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *)o);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_GraphLayoutAlgorithm(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *p = (struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_20GraphLayoutAlgorithm_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_G);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_9networkit_10_NetworKit_GraphLayoutAlgorithm(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *p = (struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *)o;
  if (p->_G) {
    e = (*v)(((PyObject *)p->_G), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit_GraphLayoutAlgorithm(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *p = (struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm *)o;
  tmp = ((PyObject*)p->_G);
  p->_G = ((struct __pyx_obj_9networkit_10_NetworKit_Graph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_GraphLayoutAlgorithm[] = {
  {"numEdgeCrossings", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20GraphLayoutAlgorithm_5numEdgeCrossings, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_20GraphLayoutAlgorithm_4numEdgeCrossings},
  {"getCoordinates", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20GraphLayoutAlgorithm_7getCoordinates, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_20GraphLayoutAlgorithm_6getCoordinates},
  {"writeGraphToGML", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20GraphLayoutAlgorithm_9writeGraphToGML, METH_O, __pyx_doc_9networkit_10_NetworKit_20GraphLayoutAlgorithm_8writeGraphToGML},
  {"writeKinemage", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20GraphLayoutAlgorithm_11writeKinemage, METH_O, __pyx_doc_9networkit_10_NetworKit_20GraphLayoutAlgorithm_10writeKinemage},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20GraphLayoutAlgorithm_13__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_20GraphLayoutAlgorithm_15__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_GraphLayoutAlgorithm = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.GraphLayoutAlgorithm", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_GraphLayoutAlgorithm), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphLayoutAlgorithm, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "Abstract base class for graph drawing algorithms", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_GraphLayoutAlgorithm, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_GraphLayoutAlgorithm, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_GraphLayoutAlgorithm, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_9networkit_10_NetworKit_20GraphLayoutAlgorithm_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_GraphLayoutAlgorithm, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_MaxentStress(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_GraphLayoutAlgorithm(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_12MaxentStress_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_MaxentStress(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_12MaxentStress_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphLayoutAlgorithm(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_MaxentStress[] = {
  {"run", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12MaxentStress_5run, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_12MaxentStress_4run},
  {"scaleLayout", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12MaxentStress_7scaleLayout, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_12MaxentStress_6scaleLayout},
  {"computeScalingFactor", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12MaxentStress_9computeScalingFactor, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_12MaxentStress_8computeScalingFactor},
  {"fullStressMeasure", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12MaxentStress_11fullStressMeasure, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_12MaxentStress_10fullStressMeasure},
  {"maxentMeasure", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12MaxentStress_13maxentMeasure, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_12MaxentStress_12maxentMeasure},
  {"meanDistanceError", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12MaxentStress_15meanDistanceError, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_12MaxentStress_14meanDistanceError},
  {"ldme", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12MaxentStress_17ldme, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_12MaxentStress_16ldme},
  {"setQ", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12MaxentStress_19setQ, METH_O, 0},
  {"setAlpha", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12MaxentStress_21setAlpha, METH_O, 0},
  {"setAlphaReduction", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12MaxentStress_23setAlphaReduction, METH_O, 0},
  {"setFinalAlpha", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12MaxentStress_25setFinalAlpha, METH_O, 0},
  {"setConvergenceThreshold", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12MaxentStress_27setConvergenceThreshold, METH_O, 0},
  {"getRhs", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12MaxentStress_29getRhs, METH_NOARGS, 0},
  {"getApproxEntropyTerm", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12MaxentStress_31getApproxEntropyTerm, METH_NOARGS, 0},
  {"getSolveTime", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12MaxentStress_33getSolveTime, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12MaxentStress_35__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_12MaxentStress_37__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_MaxentStress = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.MaxentStress", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_MaxentStress), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_MaxentStress, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tImplementation of MaxentStress by Gansner et al. using a Laplacian system solver.\n  \t@see Gansner, Emden R., Yifan Hu, and Steve North. \"A maxent-stress model for graph layout.\"\n\tVisualization and Computer Graphics, IEEE Transactions on 19, no. 6 (2013): 927-940.\n\n\tParameters\n\t----------\n\tG : networkit.Graph\n\t\tThe graph to be handled. Should be connected, otherwise the run() and runAlgo() methods will fail.\n\tdim: count\n\t\tNumber of dimensions.\n\tcount: k\n\tcoordinates: vector[pair[double, double]]\n\t\tThe coordinates we want to draw in.\n\ttolerance: double\n\t\tThe tolerance we want our solver to have.\n\tlinearSolverType: _LinearSolverType\n\t\tThe type of linear solver we wish to use.\n\tfastComputation: bool\n\t\tDecides whether or not slightly faster computation should be employed, leading to slightly worse results.\n\tgraphDistance: _GraphDistance\n\t\tDecides what type of graph distance should be utilised.\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_GraphLayoutAlgorithm, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_GraphLayoutAlgorithm, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_MaxentStress, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_20GraphLayoutAlgorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_MaxentStress, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_PivotMDS(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_GraphLayoutAlgorithm(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_8PivotMDS_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_PivotMDS(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_8PivotMDS_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9networkit_10_NetworKit_GraphLayoutAlgorithm(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_PivotMDS[] = {
  {"run", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_8PivotMDS_5run, METH_NOARGS, __pyx_doc_9networkit_10_NetworKit_8PivotMDS_4run},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_8PivotMDS_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_8PivotMDS_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_PivotMDS = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.PivotMDS", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_PivotMDS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_PivotMDS, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tImplementation of PivotMDS proposed by Brandes and Pich.\n\n\tParameters\n\t----------\n\n\tG: networkit.Graph\n\t\tThe graph to be handled by the algorithm.\n\n\tdim: count\n\t\tNumber of dimensions.\n\n\tnumberOfPivots: count\n\t\tNumber of pivots for the algorithm.\n\n\t", /*tp_doc*/
  __pyx_tp_traverse_9networkit_10_NetworKit_GraphLayoutAlgorithm, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit_GraphLayoutAlgorithm, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_PivotMDS, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_20GraphLayoutAlgorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_PivotMDS, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_GlobalCurveball(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_15GlobalCurveball_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_GlobalCurveball[] = {
  {"getGraph", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15GlobalCurveball_3getGraph, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15GlobalCurveball_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_15GlobalCurveball_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_GlobalCurveball = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.GlobalCurveball", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_GlobalCurveball), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tImplementation of EM-GCB proposed in \"Parallel and I/O-efficient\n\tRandomisation of Massive Networks using Global Curveball Trades\",\n\tCarstens et al., ESA 2018.\n\n\tThe algorithm perturbs an unweighted input graph, by iteratively\n\trandomizing the neighbourhoods of node pairs. For a large number\n\tof global trades this process is shown to produce an uniform sample\n\tfrom the set of all graphs with the same degree sequence as the input\n\tgraph.\n\n\tIf you do not want to explicitly control the trade sequence,\n\twe recommend using GlobalCurveball rather than Curveball since\n\tGlobalCurveball is typically faster and exhibits a smaller memory\n\tfootprint.\n\n\tParameters\n\t----------\n\n\tG : networkit.Graph\n\t\tThe graph to be randomized. For a given degree sequence, e.g.\n\t\tgenerators.HavelHakimi can be used to obtain this graph.\n\n\tnumber_of_global_rounds:\n\t\tNumber of global rounds to carry out. The runtime scales\n\t\tasymptotically linearly in this parameter. Default: 20,\n\t\twhich yields good results experimentally (see Paper).\n\n\tallowSelfLoops:\n\t\tHas to be False for undirected graphs. For directed graphs\n\t\tthe randomization Markov chain is only irreducible if self loops\n\t\tare allows. If they are forbidden, the degreePreservingShuffle\n\t\tproprocessing has to be enabled. Otherwhise, not all topologies\n\t\tcan be produced.\n\n\tdegreePreservingShufflePreprocessing:\n\t\tExecute the DegreePreservingShuffle algorithm before executing\n\t\tGlobal Curveball. It's more efficient than manually invoking\n\t\tthe algorithm.\n\n\tWarning\n\t-------\n\tFor directed graphs at least one of allowSelfLoops or\n\tdegreePreservingShufflePreprocessing should be set; for more details\n\trefer to \"Switching edges to randomize networks: what goes wrong\n\tand how to fix it\" by C. J. Carstens K. J. Horadam\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_GlobalCurveball, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_GlobalCurveball, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_CurveballUniformTradeGenerator(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_CurveballUniformTradeGenerator(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_CurveballUniformTradeGenerator[] = {
  {"generate", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_5generate, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_30CurveballUniformTradeGenerator_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_CurveballUniformTradeGenerator = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.CurveballUniformTradeGenerator", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_CurveballUniformTradeGenerator), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_CurveballUniformTradeGenerator, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tGenerates a trade sequence consisting of num_trades many single trades.\n\tEach trade contains two different node indices drawn uniformly at random\n\tfrom the interval [0, num_nodes).\n\n\tParameters\n\t----------\n\n\tnum_trades:\n\t   Number of trades to generate.\n\n\tnum_nodes:\n\t   Number of node indices to draw from\n\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_CurveballUniformTradeGenerator, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_CurveballUniformTradeGenerator, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_CurveballGlobalTradeGenerator(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit_CurveballGlobalTradeGenerator(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    ++Py_REFCNT(o);
    __pyx_pw_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_3__dealloc__(o);
    --Py_REFCNT(o);
    PyErr_Restore(etype, eval, etb);
  }
  (*Py_TYPE(o)->tp_free)(o);
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_CurveballGlobalTradeGenerator[] = {
  {"generate", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_5generate, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_29CurveballGlobalTradeGenerator_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_CurveballGlobalTradeGenerator = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.CurveballGlobalTradeGenerator", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_CurveballGlobalTradeGenerator), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_CurveballGlobalTradeGenerator, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tGenerates a trade sequence consisting of num_global_trades global trades\n\ttargeting node ids from the range [0, num_nods).\n\n\tIf you are only using this generator, consider using the GlobalCurveball\n\talgorithm directly as it has a better performance / memory footprint.\n\n\tParameters\n\t----------\n\n\tnum_global_trades:\n\t   Number of global trades to generate (i.e. the resulting sequence contains\n\t   num_global_trades * floor(num_nodes / 2) trades)\n\n\tnum_nodes:\n\t   Number of node indices to draw from\n\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_CurveballGlobalTradeGenerator, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_CurveballGlobalTradeGenerator, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_Curveball(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_9Curveball_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_Curveball[] = {
  {"run", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Curveball_3run, METH_O, 0},
  {"getGraph", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Curveball_5getGraph, METH_NOARGS, 0},
  {"getNumberOfAffectedEdges", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Curveball_7getNumberOfAffectedEdges, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Curveball_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_9Curveball_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_Curveball = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.Curveball", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_Curveball), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tImplementation of IM-CB proposed in \"Parallel and I/O-efficient\n\tRandomisation of Massive Networks using Global Curveball Trades\",\n\tCarstens et al., ESA 2018.\n\n\tThe algorithm perturbs an undirected and unweighted input graph,\n\tby iteratively randomizing the neighbourhoods of node pairs. For\n\ta large number of trades this process is shown to produce an\n\tuniform sample from the set of all graphs with the same degree\n\tsequence as the input graph.\n\n\tIf you do not want to explicitly control the trade sequence,\n\twe recommend using GlobalCurveball rather than Curveball since\n\tGlobalCurveball is typically faster and exhibits a smaller memory\n\tfootprint.\n\n   Observe that this algorithm does not support the run() method,\n   since it requires the trade sequence to be passed. It is possible\n   to invoke run(trades) several times, e.g. to reduce the memory\n   footprint which increases linearly with the number of trades\n   performed in a run.\n\n\tParameters\n\t----------\n\n\tG : networkit.Graph\n\t\tThe graph to be randomized. For a given degree sequence, e.g.\n\t\tgenerators.HavelHakimi can be used to obtain this graph.\n\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_Curveball, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_Curveball, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyObject *__pyx_tp_new_9networkit_10_NetworKit_DegreePreservingShuffle(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_9networkit_10_NetworKit_Algorithm(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9networkit_10_NetworKit_23DegreePreservingShuffle_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static PyMethodDef __pyx_methods_9networkit_10_NetworKit_DegreePreservingShuffle[] = {
  {"getGraph", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_23DegreePreservingShuffle_3getGraph, METH_NOARGS, 0},
  {"getPermutation", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_23DegreePreservingShuffle_5getPermutation, METH_NOARGS, 0},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_23DegreePreservingShuffle_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_9networkit_10_NetworKit_23DegreePreservingShuffle_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_9networkit_10_NetworKit_DegreePreservingShuffle = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.DegreePreservingShuffle", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit_DegreePreservingShuffle), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit_Algorithm, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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*/
  "\n\tImplementation of the preprocessing step proposed in\n\t\"Smaller Universes for Uniform Sampling of 0,1-matrices with fixed row and column sums\"\n\tby Annabell Berger, Corrie Jacobien Carstens [https://arxiv.org/abs/1803.02624]\n\n\tThe algorithms randomizes a graph without changing its topology simply\n\tby renaming nodes. For any degree d (in case of an directed graph it's a degree pair)\n\tconsider the set X_d of node ids which have this degree. Then shuffle the ids in X_d.\n\n\tHence the algorithm satisfies: For all x in Ginput:\n\t i)  Ginput.degreeIn(x) = Goutput.degreeIn(x)\n\t ii) Ginput.degreeOut(x) = Goutput.degreeOut(x)\n\n\tThe authors argue that applying this preprocessing step before executing (Global)Curveball\n\tleads to a faster mixing time. If you want to use it as a preprocessing step to GlobalCurveball,\n\tit's more efficient to set degreePreservingShufflePreprocessing in GlobalCurveball's constructor.\n\n\tParameters\n\t----------\n\n\tG : networkit.Graph\n\t\tThe graph to be randomized. For a given degree sequence, e.g.\n\t\tgenerators.HavelHakimi can be used to obtain this graph.\n\n\t", /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9networkit_10_NetworKit_DegreePreservingShuffle, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  #if CYTHON_COMPILING_IN_PYPY
  __pyx_pw_9networkit_10_NetworKit_9Algorithm_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit_DegreePreservingShuffle, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct__neighbors *__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct__neighbors[8];
static int __pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct__neighbors = 0;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct__neighbors(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct__neighbors > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct__neighbors)))) {
    o = (PyObject*)__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct__neighbors[--__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct__neighbors];
    memset(o, 0, sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct__neighbors));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct__neighbors(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct__neighbors *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct__neighbors *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_neighborList);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct__neighbors < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct__neighbors)))) {
    __pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct__neighbors[__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct__neighbors++] = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct__neighbors *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_9networkit_10_NetworKit___pyx_scope_struct__neighbors(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct__neighbors *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct__neighbors *)o;
  if (p->__pyx_v_neighborList) {
    e = (*v)(p->__pyx_v_neighborList, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit___pyx_scope_struct__neighbors(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct__neighbors *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct__neighbors *)o;
  tmp = ((PyObject*)p->__pyx_v_neighborList);
  p->__pyx_v_neighborList = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_9networkit_10_NetworKit___pyx_scope_struct__neighbors = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.__pyx_scope_struct__neighbors", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct__neighbors), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct__neighbors, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit___pyx_scope_struct__neighbors, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit___pyx_scope_struct__neighbors, /*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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct__neighbors, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors *__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors[8];
static int __pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors = 0;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors)))) {
    o = (PyObject*)__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors[--__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors];
    memset(o, 0, sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_neighborList);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors)))) {
    __pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors[__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors++] = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors *)o;
  if (p->__pyx_v_neighborList) {
    e = (*v)(p->__pyx_v_neighborList, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors *)o;
  tmp = ((PyObject*)p->__pyx_v_neighborList);
  p->__pyx_v_neighborList = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.__pyx_scope_struct_1_inNeighbors", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors, /*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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes *__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes[8];
static int __pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes = 0;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes *p;
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes)))) {
    o = (PyObject*)__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes[--__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes];
    memset(o, 0, sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  p = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes *)o);
  new((void*)&(p->__pyx_v_it)) NetworKit::Graph::NodeIterator();
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes *)o;
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->__pyx_v_it);
  Py_CLEAR(p->__pyx_v_self);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes)))) {
    __pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes[__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes++] = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes *)o;
  if (p->__pyx_v_self) {
    e = (*v)(((PyObject *)p->__pyx_v_self), a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.__pyx_scope_struct_2_iterNodes", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes, /*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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges *__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges[8];
static int __pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges = 0;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges *p;
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges)))) {
    o = (PyObject*)__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges[--__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges];
    memset(o, 0, sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  p = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges *)o);
  new((void*)&(p->__pyx_v_it)) NetworKit::Graph::EdgeIterator();
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges *)o;
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->__pyx_v_it);
  Py_CLEAR(p->__pyx_v_self);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges)))) {
    __pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges[__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges++] = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges *)o;
  if (p->__pyx_v_self) {
    e = (*v)(((PyObject *)p->__pyx_v_self), a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.__pyx_scope_struct_3_iterEdges", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges, /*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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights *__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights[8];
static int __pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights = 0;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights *p;
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights)))) {
    o = (PyObject*)__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights[--__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights];
    memset(o, 0, sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  p = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights *)o);
  new((void*)&(p->__pyx_v_it)) NetworKit::Graph::EdgeWeightIterator();
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights *)o;
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->__pyx_v_it);
  Py_CLEAR(p->__pyx_v_self);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights)))) {
    __pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights[__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights++] = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights *)o;
  if (p->__pyx_v_self) {
    e = (*v)(((PyObject *)p->__pyx_v_self), a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.__pyx_scope_struct_4_iterEdgesWeights", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights, /*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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors *__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors[8];
static int __pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors = 0;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors *p;
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors)))) {
    o = (PyObject*)__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors[--__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors];
    memset(o, 0, sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  p = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors *)o);
  new((void*)&(p->__pyx_v_it)) NetworKit::Graph::NeighborIterator();
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors *)o;
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->__pyx_v_it);
  Py_CLEAR(p->__pyx_v_self);
  Py_CLEAR(p->__pyx_v_u);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors)))) {
    __pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors[__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors++] = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors *)o;
  if (p->__pyx_v_self) {
    e = (*v)(((PyObject *)p->__pyx_v_self), a); if (e) return e;
  }
  if (p->__pyx_v_u) {
    e = (*v)(p->__pyx_v_u, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.__pyx_scope_struct_5_iterNeighbors", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors, /*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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors *__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors[8];
static int __pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors = 0;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors *p;
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors)))) {
    o = (PyObject*)__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors[--__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors];
    memset(o, 0, sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  p = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors *)o);
  new((void*)&(p->__pyx_v_it)) NetworKit::Graph::NeighborIterator();
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors *)o;
  PyObject_GC_UnTrack(o);
  __Pyx_call_destructor(p->__pyx_v_it);
  Py_CLEAR(p->__pyx_v_self);
  Py_CLEAR(p->__pyx_v_u);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors)))) {
    __pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors[__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors++] = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors *)o;
  if (p->__pyx_v_self) {
    e = (*v)(((PyObject *)p->__pyx_v_self), a); if (e) return e;
  }
  if (p->__pyx_v_u) {
    e = (*v)(p->__pyx_v_u, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.__pyx_scope_struct_6_iterInNeighbors", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors, /*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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__[8];
static int __pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ = 0;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__)))) {
    o = (PyObject*)__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__[--__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__];
    memset(o, 0, sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_k);
  Py_CLEAR(p->__pyx_v_n);
  Py_CLEAR(p->__pyx_v_weighted);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__)))) {
    __pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__[__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__++] = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *)o;
  if (p->__pyx_v_k) {
    e = (*v)(p->__pyx_v_k, a); if (e) return e;
  }
  if (p->__pyx_v_n) {
    e = (*v)(p->__pyx_v_n, a); if (e) return e;
  }
  if (p->__pyx_v_weighted) {
    e = (*v)(p->__pyx_v_weighted, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ *)o;
  tmp = ((PyObject*)p->__pyx_v_k);
  p->__pyx_v_k = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->__pyx_v_n);
  p->__pyx_v_n = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->__pyx_v_weighted);
  p->__pyx_v_weighted = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.__pyx_scope_struct_7___cinit__", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__, /*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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr *__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr[8];
static int __pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr = 0;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr)))) {
    o = (PyObject*)__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr[--__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v_item);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr)))) {
    __pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr[__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr++] = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v_item) {
    e = (*v)(p->__pyx_v_item, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.__pyx_scope_struct_8_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit___pyx_scope_struct_8_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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_8_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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr *__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr[8];
static int __pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr = 0;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr)))) {
    o = (PyObject*)__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr[--__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v_item);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr)))) {
    __pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr[__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr++] = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v_item) {
    e = (*v)(p->__pyx_v_item, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.__pyx_scope_struct_9_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit___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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr *__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr[8];
static int __pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr = 0;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr)))) {
    o = (PyObject*)__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr[--__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v_item);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr)))) {
    __pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr[__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr++] = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v_item) {
    e = (*v)(p->__pyx_v_item, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.__pyx_scope_struct_10_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit___pyx_scope_struct_10_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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_10_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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr *__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr[8];
static int __pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr = 0;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr)))) {
    o = (PyObject*)__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr[--__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v_item);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr)))) {
    __pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr[__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr++] = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v_item) {
    e = (*v)(p->__pyx_v_item, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.__pyx_scope_struct_11_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit___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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr *__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr[8];
static int __pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr = 0;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr)))) {
    o = (PyObject*)__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr[--__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v_item);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr)))) {
    __pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr[__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr++] = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v_item) {
    e = (*v)(p->__pyx_v_item, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.__pyx_scope_struct_12_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit___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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr *__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr[8];
static int __pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr = 0;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr)))) {
    o = (PyObject*)__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr[--__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v_item);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr)))) {
    __pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr[__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr++] = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v_item) {
    e = (*v)(p->__pyx_v_item, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.__pyx_scope_struct_13_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit___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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr *__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr[8];
static int __pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr = 0;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr)))) {
    o = (PyObject*)__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr[--__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v_item);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr)))) {
    __pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr[__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr++] = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v_item) {
    e = (*v)(p->__pyx_v_item, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.__pyx_scope_struct_14_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit___pyx_scope_struct_14_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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_14_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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr *__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr[8];
static int __pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr = 0;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr)))) {
    o = (PyObject*)__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr[--__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v_item);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr)))) {
    __pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr[__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr++] = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v_item) {
    e = (*v)(p->__pyx_v_item, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.__pyx_scope_struct_15_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit___pyx_scope_struct_15_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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_15_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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr *__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr[8];
static int __pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr = 0;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr)))) {
    o = (PyObject*)__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr[--__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v_item);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr)))) {
    __pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr[__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr++] = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v_item) {
    e = (*v)(p->__pyx_v_item, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.__pyx_scope_struct_16_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit___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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit___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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_17_volume *__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_17_volume[8];
static int __pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_17_volume = 0;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_17_volume(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_17_volume > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_17_volume)))) {
    o = (PyObject*)__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_17_volume[--__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_17_volume];
    memset(o, 0, sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_17_volume));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_17_volume(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_17_volume *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_17_volume *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_is_number);
  Py_CLEAR(p->__pyx_v_r);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_17_volume < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_17_volume)))) {
    __pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_17_volume[__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_17_volume++] = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_17_volume *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_9networkit_10_NetworKit___pyx_scope_struct_17_volume(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_17_volume *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_17_volume *)o;
  if (p->__pyx_v_is_number) {
    e = (*v)(p->__pyx_v_is_number, a); if (e) return e;
  }
  if (p->__pyx_v_r) {
    e = (*v)(p->__pyx_v_r, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9networkit_10_NetworKit___pyx_scope_struct_17_volume(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_17_volume *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_17_volume *)o;
  tmp = ((PyObject*)p->__pyx_v_is_number);
  p->__pyx_v_is_number = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->__pyx_v_r);
  p->__pyx_v_r = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyTypeObject __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_17_volume = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.__pyx_scope_struct_17_volume", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_17_volume), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_17_volume, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit___pyx_scope_struct_17_volume, /*tp_traverse*/
  __pyx_tp_clear_9networkit_10_NetworKit___pyx_scope_struct_17_volume, /*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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_17_volume, /*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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr *__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr[8];
static int __pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr = 0;

static PyObject *__pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr)))) {
    o = (PyObject*)__pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr[--__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr(PyObject *o) {
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr *)o;
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_v_item);
  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr)))) {
    __pyx_freelist_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr[__pyx_freecount_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr++] = ((struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr *)o);
  } else {
    (*Py_TYPE(o)->tp_free)(o);
  }
}

static int __pyx_tp_traverse_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr *p = (struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr *)o;
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_v_item) {
    e = (*v)(p->__pyx_v_item, a); if (e) return e;
  }
  return 0;
}

static PyTypeObject __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "networkit._NetworKit.__pyx_scope_struct_18_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr, /*tp_dealloc*/
  0, /*tp_print*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  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_9networkit_10_NetworKit___pyx_scope_struct_18_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*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9networkit_10_NetworKit___pyx_scope_struct_18_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 PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
};

static PyMethodDef __pyx_methods[] = {
  {0, 0, 0, 0}
};

#if PY_MAJOR_VERSION >= 3
#if CYTHON_PEP489_MULTI_PHASE_INIT
static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/
static int __pyx_pymod_exec__NetworKit(PyObject* module); /*proto*/
static PyModuleDef_Slot __pyx_moduledef_slots[] = {
  {Py_mod_create, (void*)__pyx_pymod_create},
  {Py_mod_exec, (void*)__pyx_pymod_exec__NetworKit},
  {0, NULL}
};
#endif

static struct PyModuleDef __pyx_moduledef = {
    PyModuleDef_HEAD_INIT,
    "_NetworKit",
    0, /* m_doc */
  #if CYTHON_PEP489_MULTI_PHASE_INIT
    0, /* m_size */
  #else
    -1, /* m_size */
  #endif
    __pyx_methods /* m_methods */,
  #if CYTHON_PEP489_MULTI_PHASE_INIT
    __pyx_moduledef_slots, /* m_slots */
  #else
    NULL, /* m_reload */
  #endif
    NULL, /* m_traverse */
    NULL, /* m_clear */
    NULL /* m_free */
};
#endif
#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

static __Pyx_StringTabEntry __pyx_string_tab[] = {
  {&__pyx_kp_u_0_benchmark_1, __pyx_k_0_benchmark_1, sizeof(__pyx_k_0_benchmark_1), 0, 1, 0, 0},
  {&__pyx_kp_u_0_edgelist, __pyx_k_0_edgelist, sizeof(__pyx_k_0_edgelist), 0, 1, 0, 0},
  {&__pyx_kp_u_0_kronfit, __pyx_k_0_kronfit, sizeof(__pyx_k_0_kronfit), 0, 1, 0, 0},
  {&__pyx_n_s_ALGEBRAIC_DISTANCE, __pyx_k_ALGEBRAIC_DISTANCE, sizeof(__pyx_k_ALGEBRAIC_DISTANCE), 0, 0, 1, 1},
  {&__pyx_n_s_APSP, __pyx_k_APSP, sizeof(__pyx_k_APSP), 0, 0, 1, 1},
  {&__pyx_n_s_AStar, __pyx_k_AStar, sizeof(__pyx_k_AStar), 0, 0, 1, 1},
  {&__pyx_n_s_AdamicAdarDistance, __pyx_k_AdamicAdarDistance, sizeof(__pyx_k_AdamicAdarDistance), 0, 0, 1, 1},
  {&__pyx_n_s_AdamicAdarIndex, __pyx_k_AdamicAdarIndex, sizeof(__pyx_k_AdamicAdarIndex), 0, 0, 1, 1},
  {&__pyx_n_s_AdjustedRandIndex, __pyx_k_AdjustedRandIndex, sizeof(__pyx_k_AdjustedRandIndex), 0, 0, 1, 1},
  {&__pyx_n_s_AdjustedRandMeasure, __pyx_k_AdjustedRandMeasure, sizeof(__pyx_k_AdjustedRandMeasure), 0, 0, 1, 1},
  {&__pyx_n_s_AlgebraicDistance, __pyx_k_AlgebraicDistance, sizeof(__pyx_k_AlgebraicDistance), 0, 0, 1, 1},
  {&__pyx_n_s_AlgebraicDistanceIndex, __pyx_k_AlgebraicDistanceIndex, sizeof(__pyx_k_AlgebraicDistanceIndex), 0, 0, 1, 1},
  {&__pyx_n_s_Algorithm, __pyx_k_Algorithm, sizeof(__pyx_k_Algorithm), 0, 0, 1, 1},
  {&__pyx_n_s_AllSimplePaths, __pyx_k_AllSimplePaths, sizeof(__pyx_k_AllSimplePaths), 0, 0, 1, 1},
  {&__pyx_kp_u_An_Exception_occurred_aborting_e, __pyx_k_An_Exception_occurred_aborting_e, sizeof(__pyx_k_An_Exception_occurred_aborting_e), 0, 1, 0, 0},
  {&__pyx_n_s_ApproxBetweenness, __pyx_k_ApproxBetweenness, sizeof(__pyx_k_ApproxBetweenness), 0, 0, 1, 1},
  {&__pyx_n_s_ApproxBetweenness2, __pyx_k_ApproxBetweenness2, sizeof(__pyx_k_ApproxBetweenness2), 0, 0, 1, 1},
  {&__pyx_kp_u_ApproxBetweenness2_is_deprecated, __pyx_k_ApproxBetweenness2_is_deprecated, sizeof(__pyx_k_ApproxBetweenness2_is_deprecated), 0, 1, 0, 0},
  {&__pyx_n_s_ApproxCloseness, __pyx_k_ApproxCloseness, sizeof(__pyx_k_ApproxCloseness), 0, 0, 1, 1},
  {&__pyx_n_s_ApproxGroupBetweenness, __pyx_k_ApproxGroupBetweenness, sizeof(__pyx_k_ApproxGroupBetweenness), 0, 0, 1, 1},
  {&__pyx_n_s_Assortativity, __pyx_k_Assortativity, sizeof(__pyx_k_Assortativity), 0, 0, 1, 1},
  {&__pyx_n_s_Automatic, __pyx_k_Automatic, sizeof(__pyx_k_Automatic), 0, 0, 1, 1},
  {&__pyx_n_s_BFS, __pyx_k_BFS, sizeof(__pyx_k_BFS), 0, 0, 1, 1},
  {&__pyx_n_s_BFSEdgesFrom, __pyx_k_BFSEdgesFrom, sizeof(__pyx_k_BFSEdgesFrom), 0, 0, 1, 1},
  {&__pyx_n_s_BFSfrom, __pyx_k_BFSfrom, sizeof(__pyx_k_BFSfrom), 0, 0, 1, 1},
  {&__pyx_n_s_BarabasiAlbertGenerator, __pyx_k_BarabasiAlbertGenerator, sizeof(__pyx_k_BarabasiAlbertGenerator), 0, 0, 1, 1},
  {&__pyx_n_s_BaseException, __pyx_k_BaseException, sizeof(__pyx_k_BaseException), 0, 0, 1, 1},
  {&__pyx_n_s_Betweenness, __pyx_k_Betweenness, sizeof(__pyx_k_Betweenness), 0, 0, 1, 1},
  {&__pyx_n_s_BiconnectedComponents, __pyx_k_BiconnectedComponents, sizeof(__pyx_k_BiconnectedComponents), 0, 0, 1, 1},
  {&__pyx_n_s_BidirectionalBFS, __pyx_k_BidirectionalBFS, sizeof(__pyx_k_BidirectionalBFS), 0, 0, 1, 1},
  {&__pyx_n_s_BidirectionalDijkstra, __pyx_k_BidirectionalDijkstra, sizeof(__pyx_k_BidirectionalDijkstra), 0, 0, 1, 1},
  {&__pyx_n_s_BinaryEdgeListPartitionReader, __pyx_k_BinaryEdgeListPartitionReader, sizeof(__pyx_k_BinaryEdgeListPartitionReader), 0, 0, 1, 1},
  {&__pyx_n_s_BinaryEdgeListPartitionWriter, __pyx_k_BinaryEdgeListPartitionWriter, sizeof(__pyx_k_BinaryEdgeListPartitionWriter), 0, 0, 1, 1},
  {&__pyx_n_s_BinaryPartitionReader, __pyx_k_BinaryPartitionReader, sizeof(__pyx_k_BinaryPartitionReader), 0, 0, 1, 1},
  {&__pyx_n_s_BinaryPartitionWriter, __pyx_k_BinaryPartitionWriter, sizeof(__pyx_k_BinaryPartitionWriter), 0, 0, 1, 1},
  {&__pyx_n_s_C, __pyx_k_C, sizeof(__pyx_k_C), 0, 0, 1, 1},
  {&__pyx_n_s_CONJUGATE_GRADIENT_DIAGONAL_PREC, __pyx_k_CONJUGATE_GRADIENT_DIAGONAL_PREC, sizeof(__pyx_k_CONJUGATE_GRADIENT_DIAGONAL_PREC), 0, 0, 1, 1},
  {&__pyx_n_s_CONJUGATE_GRADIENT_IDENTITY_PREC, __pyx_k_CONJUGATE_GRADIENT_IDENTITY_PREC, sizeof(__pyx_k_CONJUGATE_GRADIENT_IDENTITY_PREC), 0, 0, 1, 1},
  {&__pyx_kp_u_Cannot_create_edge_0_1_as_at_lea, __pyx_k_Cannot_create_edge_0_1_as_at_lea, sizeof(__pyx_k_Cannot_create_edge_0_1_as_at_lea), 0, 1, 0, 0},
  {&__pyx_n_s_Centrality, __pyx_k_Centrality, sizeof(__pyx_k_Centrality), 0, 0, 1, 1},
  {&__pyx_n_s_ChanceCorrectedTriangleScore, __pyx_k_ChanceCorrectedTriangleScore, sizeof(__pyx_k_ChanceCorrectedTriangleScore), 0, 0, 1, 1},
  {&__pyx_n_s_ChibaNishizekiQuadrangleEdgeScor, __pyx_k_ChibaNishizekiQuadrangleEdgeScor, sizeof(__pyx_k_ChibaNishizekiQuadrangleEdgeScor), 0, 0, 1, 1},
  {&__pyx_n_s_ChibaNishizekiTriangleEdgeScore, __pyx_k_ChibaNishizekiTriangleEdgeScore, sizeof(__pyx_k_ChibaNishizekiTriangleEdgeScore), 0, 0, 1, 1},
  {&__pyx_n_s_ChungLuGenerator, __pyx_k_ChungLuGenerator, sizeof(__pyx_k_ChungLuGenerator), 0, 0, 1, 1},
  {&__pyx_n_s_Closeness, __pyx_k_Closeness, sizeof(__pyx_k_Closeness), 0, 0, 1, 1},
  {&__pyx_n_s_ClosenessVariant, __pyx_k_ClosenessVariant, sizeof(__pyx_k_ClosenessVariant), 0, 0, 1, 1},
  {&__pyx_n_s_ClusteredRandomGraphGenerator, __pyx_k_ClusteredRandomGraphGenerator, sizeof(__pyx_k_ClusteredRandomGraphGenerator), 0, 0, 1, 1},
  {&__pyx_n_s_ClusteringCoefficient, __pyx_k_ClusteringCoefficient, sizeof(__pyx_k_ClusteringCoefficient), 0, 0, 1, 1},
  {&__pyx_n_s_ClusteringGenerator, __pyx_k_ClusteringGenerator, sizeof(__pyx_k_ClusteringGenerator), 0, 0, 1, 1},
  {&__pyx_n_s_CommonNeighborsIndex, __pyx_k_CommonNeighborsIndex, sizeof(__pyx_k_CommonNeighborsIndex), 0, 0, 1, 1},
  {&__pyx_n_s_CommunityDetector, __pyx_k_CommunityDetector, sizeof(__pyx_k_CommunityDetector), 0, 0, 1, 1},
  {&__pyx_n_s_CommuteTimeDistance, __pyx_k_CommuteTimeDistance, sizeof(__pyx_k_CommuteTimeDistance), 0, 0, 1, 1},
  {&__pyx_n_s_ConnectedComponents, __pyx_k_ConnectedComponents, sizeof(__pyx_k_ConnectedComponents), 0, 0, 1, 1},
  {&__pyx_n_s_CoreDecomposition, __pyx_k_CoreDecomposition, sizeof(__pyx_k_CoreDecomposition), 0, 0, 1, 1},
  {&__pyx_kp_u_Could_not_set_desired_average_co, __pyx_k_Could_not_set_desired_average_co, sizeof(__pyx_k_Could_not_set_desired_average_co), 0, 1, 0, 0},
  {&__pyx_n_s_Cover, __pyx_k_Cover, sizeof(__pyx_k_Cover), 0, 0, 1, 1},
  {&__pyx_n_s_CoverF1Similarity, __pyx_k_CoverF1Similarity, sizeof(__pyx_k_CoverF1Similarity), 0, 0, 1, 1},
  {&__pyx_n_s_CoverHubDominance, __pyx_k_CoverHubDominance, sizeof(__pyx_k_CoverHubDominance), 0, 0, 1, 1},
  {&__pyx_n_s_CoverReader, __pyx_k_CoverReader, sizeof(__pyx_k_CoverReader), 0, 0, 1, 1},
  {&__pyx_n_s_CoverWriter, __pyx_k_CoverWriter, sizeof(__pyx_k_CoverWriter), 0, 0, 1, 1},
  {&__pyx_n_s_Coverage, __pyx_k_Coverage, sizeof(__pyx_k_Coverage), 0, 0, 1, 1},
  {&__pyx_n_s_Curveball, __pyx_k_Curveball, sizeof(__pyx_k_Curveball), 0, 0, 1, 1},
  {&__pyx_n_s_CurveballGlobalTradeGenerator, __pyx_k_CurveballGlobalTradeGenerator, sizeof(__pyx_k_CurveballGlobalTradeGenerator), 0, 0, 1, 1},
  {&__pyx_n_s_CurveballUniformTradeGenerator, __pyx_k_CurveballUniformTradeGenerator, sizeof(__pyx_k_CurveballUniformTradeGenerator), 0, 0, 1, 1},
  {&__pyx_n_s_CutClustering, __pyx_k_CutClustering, sizeof(__pyx_k_CutClustering), 0, 0, 1, 1},
  {&__pyx_n_s_DFSEdgesFrom, __pyx_k_DFSEdgesFrom, sizeof(__pyx_k_DFSEdgesFrom), 0, 0, 1, 1},
  {&__pyx_n_s_DFSfrom, __pyx_k_DFSfrom, sizeof(__pyx_k_DFSfrom), 0, 0, 1, 1},
  {&__pyx_n_s_DGSStreamParser, __pyx_k_DGSStreamParser, sizeof(__pyx_k_DGSStreamParser), 0, 0, 1, 1},
  {&__pyx_n_s_DGSWriter, __pyx_k_DGSWriter, sizeof(__pyx_k_DGSWriter), 0, 0, 1, 1},
  {&__pyx_n_s_DataFrame, __pyx_k_DataFrame, sizeof(__pyx_k_DataFrame), 0, 0, 1, 1},
  {&__pyx_n_s_DegreeCentrality, __pyx_k_DegreeCentrality, sizeof(__pyx_k_DegreeCentrality), 0, 0, 1, 1},
  {&__pyx_n_s_DegreePreservingShuffle, __pyx_k_DegreePreservingShuffle, sizeof(__pyx_k_DegreePreservingShuffle), 0, 0, 1, 1},
  {&__pyx_n_s_DeprecationWarning, __pyx_k_DeprecationWarning, sizeof(__pyx_k_DeprecationWarning), 0, 0, 1, 1},
  {&__pyx_n_s_Diameter, __pyx_k_Diameter, sizeof(__pyx_k_Diameter), 0, 0, 1, 1},
  {&__pyx_n_s_DiameterAlgo, __pyx_k_DiameterAlgo, sizeof(__pyx_k_DiameterAlgo), 0, 0, 1, 1},
  {&__pyx_n_s_Dijkstra, __pyx_k_Dijkstra, sizeof(__pyx_k_Dijkstra), 0, 0, 1, 1},
  {&__pyx_kp_u_Dimension_must_be_0, __pyx_k_Dimension_must_be_0, sizeof(__pyx_k_Dimension_must_be_0), 0, 1, 0, 0},
  {&__pyx_n_s_DiscardEdges, __pyx_k_DiscardEdges, sizeof(__pyx_k_DiscardEdges), 0, 0, 1, 1},
  {&__pyx_n_s_DissimilarityMeasure, __pyx_k_DissimilarityMeasure, sizeof(__pyx_k_DissimilarityMeasure), 0, 0, 1, 1},
  {&__pyx_n_s_DorogovtsevMendesGenerator, __pyx_k_DorogovtsevMendesGenerator, sizeof(__pyx_k_DorogovtsevMendesGenerator), 0, 0, 1, 1},
  {&__pyx_n_s_DotGraphWriter, __pyx_k_DotGraphWriter, sizeof(__pyx_k_DotGraphWriter), 0, 0, 1, 1},
  {&__pyx_n_s_DynAPSP, __pyx_k_DynAPSP, sizeof(__pyx_k_DynAPSP), 0, 0, 1, 1},
  {&__pyx_n_s_DynApproxBetweenness, __pyx_k_DynApproxBetweenness, sizeof(__pyx_k_DynApproxBetweenness), 0, 0, 1, 1},
  {&__pyx_n_s_DynBFS, __pyx_k_DynBFS, sizeof(__pyx_k_DynBFS), 0, 0, 1, 1},
  {&__pyx_n_s_DynBetweenness, __pyx_k_DynBetweenness, sizeof(__pyx_k_DynBetweenness), 0, 0, 1, 1},
  {&__pyx_n_s_DynBetweennessOneNode, __pyx_k_DynBetweennessOneNode, sizeof(__pyx_k_DynBetweennessOneNode), 0, 0, 1, 1},
  {&__pyx_n_s_DynConnectedComponents, __pyx_k_DynConnectedComponents, sizeof(__pyx_k_DynConnectedComponents), 0, 0, 1, 1},
  {&__pyx_n_s_DynDijkstra, __pyx_k_DynDijkstra, sizeof(__pyx_k_DynDijkstra), 0, 0, 1, 1},
  {&__pyx_n_s_DynKatzCentrality, __pyx_k_DynKatzCentrality, sizeof(__pyx_k_DynKatzCentrality), 0, 0, 1, 1},
  {&__pyx_n_s_DynSSSP, __pyx_k_DynSSSP, sizeof(__pyx_k_DynSSSP), 0, 0, 1, 1},
  {&__pyx_n_s_DynTopHarmonicCloseness, __pyx_k_DynTopHarmonicCloseness, sizeof(__pyx_k_DynTopHarmonicCloseness), 0, 0, 1, 1},
  {&__pyx_n_s_DynWeaklyConnectedComponents, __pyx_k_DynWeaklyConnectedComponents, sizeof(__pyx_k_DynWeaklyConnectedComponents), 0, 0, 1, 1},
  {&__pyx_n_s_DynamicDorogovtsevMendesGenerato, __pyx_k_DynamicDorogovtsevMendesGenerato, sizeof(__pyx_k_DynamicDorogovtsevMendesGenerato), 0, 0, 1, 1},
  {&__pyx_n_s_DynamicForestFireGenerator, __pyx_k_DynamicForestFireGenerator, sizeof(__pyx_k_DynamicForestFireGenerator), 0, 0, 1, 1},
  {&__pyx_n_s_DynamicHyperbolicGenerator, __pyx_k_DynamicHyperbolicGenerator, sizeof(__pyx_k_DynamicHyperbolicGenerator), 0, 0, 1, 1},
  {&__pyx_n_s_DynamicPathGenerator, __pyx_k_DynamicPathGenerator, sizeof(__pyx_k_DynamicPathGenerator), 0, 0, 1, 1},
  {&__pyx_n_s_DynamicPubWebGenerator, __pyx_k_DynamicPubWebGenerator, sizeof(__pyx_k_DynamicPubWebGenerator), 0, 0, 1, 1},
  {&__pyx_n_s_EDGE_ADDITION, __pyx_k_EDGE_ADDITION, sizeof(__pyx_k_EDGE_ADDITION), 0, 0, 1, 1},
  {&__pyx_n_s_EDGE_REMOVAL, __pyx_k_EDGE_REMOVAL, sizeof(__pyx_k_EDGE_REMOVAL), 0, 0, 1, 1},
  {&__pyx_n_s_EDGE_WEIGHT, __pyx_k_EDGE_WEIGHT, sizeof(__pyx_k_EDGE_WEIGHT), 0, 0, 1, 1},
  {&__pyx_n_s_EDGE_WEIGHT_INCREMENT, __pyx_k_EDGE_WEIGHT_INCREMENT, sizeof(__pyx_k_EDGE_WEIGHT_INCREMENT), 0, 0, 1, 1},
  {&__pyx_n_s_EDGE_WEIGHT_UPDATE, __pyx_k_EDGE_WEIGHT_UPDATE, sizeof(__pyx_k_EDGE_WEIGHT_UPDATE), 0, 0, 1, 1},
  {&__pyx_n_s_Eccentricity, __pyx_k_Eccentricity, sizeof(__pyx_k_Eccentricity), 0, 0, 1, 1},
  {&__pyx_n_s_EdgeCut, __pyx_k_EdgeCut, sizeof(__pyx_k_EdgeCut), 0, 0, 1, 1},
  {&__pyx_n_s_EdgeList, __pyx_k_EdgeList, sizeof(__pyx_k_EdgeList), 0, 0, 1, 1},
  {&__pyx_n_s_EdgeListCoverReader, __pyx_k_EdgeListCoverReader, sizeof(__pyx_k_EdgeListCoverReader), 0, 0, 1, 1},
  {&__pyx_n_s_EdgeListPartitionReader, __pyx_k_EdgeListPartitionReader, sizeof(__pyx_k_EdgeListPartitionReader), 0, 0, 1, 1},
  {&__pyx_n_s_EdgeListReader, __pyx_k_EdgeListReader, sizeof(__pyx_k_EdgeListReader), 0, 0, 1, 1},
  {&__pyx_n_s_EdgeListTabOne, __pyx_k_EdgeListTabOne, sizeof(__pyx_k_EdgeListTabOne), 0, 0, 1, 1},
  {&__pyx_n_s_EdgeListWriter, __pyx_k_EdgeListWriter, sizeof(__pyx_k_EdgeListWriter), 0, 0, 1, 1},
  {&__pyx_n_s_EdgeScore, __pyx_k_EdgeScore, sizeof(__pyx_k_EdgeScore), 0, 0, 1, 1},
  {&__pyx_n_s_EdgeScoreAsWeight, __pyx_k_EdgeScoreAsWeight, sizeof(__pyx_k_EdgeScoreAsWeight), 0, 0, 1, 1},
  {&__pyx_n_s_EdgeScoreBlender, __pyx_k_EdgeScoreBlender, sizeof(__pyx_k_EdgeScoreBlender), 0, 0, 1, 1},
  {&__pyx_n_s_EdgeScoreLinearizer, __pyx_k_EdgeScoreLinearizer, sizeof(__pyx_k_EdgeScoreLinearizer), 0, 0, 1, 1},
  {&__pyx_n_s_EdgeScoreNormalizer, __pyx_k_EdgeScoreNormalizer, sizeof(__pyx_k_EdgeScoreNormalizer), 0, 0, 1, 1},
  {&__pyx_n_s_EdgeSwitchingMarkovChainGenerato, __pyx_k_EdgeSwitchingMarkovChainGenerato, sizeof(__pyx_k_EdgeSwitchingMarkovChainGenerato), 0, 0, 1, 1},
  {&__pyx_n_s_EdmondsKarp, __pyx_k_EdmondsKarp, sizeof(__pyx_k_EdmondsKarp), 0, 0, 1, 1},
  {&__pyx_n_s_EffectiveDiameter, __pyx_k_EffectiveDiameter, sizeof(__pyx_k_EffectiveDiameter), 0, 0, 1, 1},
  {&__pyx_n_s_EffectiveDiameterApproximation, __pyx_k_EffectiveDiameterApproximation, sizeof(__pyx_k_EffectiveDiameterApproximation), 0, 0, 1, 1},
  {&__pyx_n_s_EigenvectorCentrality, __pyx_k_EigenvectorCentrality, sizeof(__pyx_k_EigenvectorCentrality), 0, 0, 1, 1},
  {&__pyx_n_s_EpidemicSimulationSEIR, __pyx_k_EpidemicSimulationSEIR, sizeof(__pyx_k_EpidemicSimulationSEIR), 0, 0, 1, 1},
  {&__pyx_n_s_ErdosRenyiGenerator, __pyx_k_ErdosRenyiGenerator, sizeof(__pyx_k_ErdosRenyiGenerator), 0, 0, 1, 1},
  {&__pyx_kp_u_Error_nodes_must_be_a_list_of_no, __pyx_k_Error_nodes_must_be_a_list_of_no, sizeof(__pyx_k_Error_nodes_must_be_a_list_of_no), 0, 1, 0, 0},
  {&__pyx_kp_u_Error_object_not_properly_initia, __pyx_k_Error_object_not_properly_initia, sizeof(__pyx_k_Error_object_not_properly_initia), 0, 1, 0, 0},
  {&__pyx_kp_u_Error_the_third_parameter_must_b, __pyx_k_Error_the_third_parameter_must_b, sizeof(__pyx_k_Error_the_third_parameter_must_b), 0, 1, 0, 0},
  {&__pyx_kp_u_Error_you_may_not_use_Algorithm, __pyx_k_Error_you_may_not_use_Algorithm, sizeof(__pyx_k_Error_you_may_not_use_Algorithm), 0, 1, 0, 0},
  {&__pyx_kp_u_Error_you_may_not_use_Centrality, __pyx_k_Error_you_may_not_use_Centrality, sizeof(__pyx_k_Error_you_may_not_use_Centrality), 0, 1, 0, 0},
  {&__pyx_kp_u_Error_you_may_not_use_CommunityD, __pyx_k_Error_you_may_not_use_CommunityD, sizeof(__pyx_k_Error_you_may_not_use_CommunityD), 0, 1, 0, 0},
  {&__pyx_kp_u_Error_you_may_not_use_DynSSSP_di, __pyx_k_Error_you_may_not_use_DynSSSP_di, sizeof(__pyx_k_Error_you_may_not_use_DynSSSP_di), 0, 1, 0, 0},
  {&__pyx_kp_u_Error_you_may_not_use_EdgeScore, __pyx_k_Error_you_may_not_use_EdgeScore, sizeof(__pyx_k_Error_you_may_not_use_EdgeScore), 0, 1, 0, 0},
  {&__pyx_kp_u_Error_you_may_not_use_GraphCoars, __pyx_k_Error_you_may_not_use_GraphCoars, sizeof(__pyx_k_Error_you_may_not_use_GraphCoars), 0, 1, 0, 0},
  {&__pyx_kp_u_Error_you_may_not_use_GraphLayou, __pyx_k_Error_you_may_not_use_GraphLayou, sizeof(__pyx_k_Error_you_may_not_use_GraphLayou), 0, 1, 0, 0},
  {&__pyx_kp_u_Error_you_may_not_use_GraphReade, __pyx_k_Error_you_may_not_use_GraphReade, sizeof(__pyx_k_Error_you_may_not_use_GraphReade), 0, 1, 0, 0},
  {&__pyx_kp_u_Error_you_may_not_use_LocalCommu, __pyx_k_Error_you_may_not_use_LocalCommu, sizeof(__pyx_k_Error_you_may_not_use_LocalCommu), 0, 1, 0, 0},
  {&__pyx_kp_u_Error_you_may_not_use_LocalCover, __pyx_k_Error_you_may_not_use_LocalCover, sizeof(__pyx_k_Error_you_may_not_use_LocalCover), 0, 1, 0, 0},
  {&__pyx_kp_u_Error_you_may_not_use_LocalParti, __pyx_k_Error_you_may_not_use_LocalParti, sizeof(__pyx_k_Error_you_may_not_use_LocalParti), 0, 1, 0, 0},
  {&__pyx_kp_u_Error_you_may_not_use_SSSP_direc, __pyx_k_Error_you_may_not_use_SSSP_direc, sizeof(__pyx_k_Error_you_may_not_use_SSSP_direc), 0, 1, 0, 0},
  {&__pyx_kp_u_Error_you_may_not_use_STSP_direc, __pyx_k_Error_you_may_not_use_STSP_direc, sizeof(__pyx_k_Error_you_may_not_use_STSP_direc), 0, 1, 0, 0},
  {&__pyx_kp_u_Error_you_may_not_use_StaticGrap, __pyx_k_Error_you_may_not_use_StaticGrap, sizeof(__pyx_k_Error_you_may_not_use_StaticGrap), 0, 1, 0, 0},
  {&__pyx_n_s_EstimateBetweenness, __pyx_k_EstimateBetweenness, sizeof(__pyx_k_EstimateBetweenness), 0, 0, 1, 1},
  {&__pyx_n_s_EstimatedPedantic, __pyx_k_EstimatedPedantic, sizeof(__pyx_k_EstimatedPedantic), 0, 0, 1, 1},
  {&__pyx_n_s_EstimatedRange, __pyx_k_EstimatedRange, sizeof(__pyx_k_EstimatedRange), 0, 0, 1, 1},
  {&__pyx_n_s_EstimatedSamples, __pyx_k_EstimatedSamples, sizeof(__pyx_k_EstimatedSamples), 0, 0, 1, 1},
  {&__pyx_n_s_EvaluationMetric, __pyx_k_EvaluationMetric, sizeof(__pyx_k_EvaluationMetric), 0, 0, 1, 1},
  {&__pyx_n_s_Exact, __pyx_k_Exact, sizeof(__pyx_k_Exact), 0, 0, 1, 1},
  {&__pyx_kp_s_Expected_at_least_d_argument_s_g, __pyx_k_Expected_at_least_d_argument_s_g, sizeof(__pyx_k_Expected_at_least_d_argument_s_g), 0, 0, 1, 0},
  {&__pyx_kp_u_Exponent_of_power_law_degree_dis, __pyx_k_Exponent_of_power_law_degree_dis, sizeof(__pyx_k_Exponent_of_power_law_degree_dis), 0, 1, 0, 0},
  {&__pyx_n_s_ForestFireScore, __pyx_k_ForestFireScore, sizeof(__pyx_k_ForestFireScore), 0, 0, 1, 1},
  {&__pyx_n_s_Format, __pyx_k_Format, sizeof(__pyx_k_Format), 0, 0, 1, 1},
  {&__pyx_kp_s_Function_call_with_ambiguous_arg, __pyx_k_Function_call_with_ambiguous_arg, sizeof(__pyx_k_Function_call_with_ambiguous_arg), 0, 0, 1, 0},
  {&__pyx_n_s_G, __pyx_k_G, sizeof(__pyx_k_G), 0, 0, 1, 1},
  {&__pyx_n_s_G1, __pyx_k_G1, sizeof(__pyx_k_G1), 0, 0, 1, 1},
  {&__pyx_n_s_G2, __pyx_k_G2, sizeof(__pyx_k_G2), 0, 0, 1, 1},
  {&__pyx_n_s_GCE, __pyx_k_GCE, sizeof(__pyx_k_GCE), 0, 0, 1, 1},
  {&__pyx_n_s_GMLGraphReader, __pyx_k_GMLGraphReader, sizeof(__pyx_k_GMLGraphReader), 0, 0, 1, 1},
  {&__pyx_n_s_GMLGraphWriter, __pyx_k_GMLGraphWriter, sizeof(__pyx_k_GMLGraphWriter), 0, 0, 1, 1},
  {&__pyx_n_s_Gcoarse, __pyx_k_Gcoarse, sizeof(__pyx_k_Gcoarse), 0, 0, 1, 1},
  {&__pyx_n_s_Generalized, __pyx_k_Generalized, sizeof(__pyx_k_Generalized), 0, 0, 1, 1},
  {&__pyx_n_s_GeometricMeanScore, __pyx_k_GeometricMeanScore, sizeof(__pyx_k_GeometricMeanScore), 0, 0, 1, 1},
  {&__pyx_n_s_Gfine, __pyx_k_Gfine, sizeof(__pyx_k_Gfine), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalCurveball, __pyx_k_GlobalCurveball, sizeof(__pyx_k_GlobalCurveball), 0, 0, 1, 1},
  {&__pyx_n_s_GlobalThresholdFilter, __pyx_k_GlobalThresholdFilter, sizeof(__pyx_k_GlobalThresholdFilter), 0, 0, 1, 1},
  {&__pyx_n_s_Graph, __pyx_k_Graph, sizeof(__pyx_k_Graph), 0, 0, 1, 1},
  {&__pyx_n_s_GraphClusteringTools, __pyx_k_GraphClusteringTools, sizeof(__pyx_k_GraphClusteringTools), 0, 0, 1, 1},
  {&__pyx_n_s_GraphCoarsening, __pyx_k_GraphCoarsening, sizeof(__pyx_k_GraphCoarsening), 0, 0, 1, 1},
  {&__pyx_n_s_GraphDifference, __pyx_k_GraphDifference, sizeof(__pyx_k_GraphDifference), 0, 0, 1, 1},
  {&__pyx_n_s_GraphEvent, __pyx_k_GraphEvent, sizeof(__pyx_k_GraphEvent), 0, 0, 1, 1},
  {&__pyx_n_s_GraphLayoutAlgorithm, __pyx_k_GraphLayoutAlgorithm, sizeof(__pyx_k_GraphLayoutAlgorithm), 0, 0, 1, 1},
  {&__pyx_n_s_GraphReader, __pyx_k_GraphReader, sizeof(__pyx_k_GraphReader), 0, 0, 1, 1},
  {&__pyx_n_s_GraphStructuralRandMeasure, __pyx_k_GraphStructuralRandMeasure, sizeof(__pyx_k_GraphStructuralRandMeasure), 0, 0, 1, 1},
  {&__pyx_n_s_GraphToolBinaryReader, __pyx_k_GraphToolBinaryReader, sizeof(__pyx_k_GraphToolBinaryReader), 0, 0, 1, 1},
  {&__pyx_n_s_GraphToolBinaryWriter, __pyx_k_GraphToolBinaryWriter, sizeof(__pyx_k_GraphToolBinaryWriter), 0, 0, 1, 1},
  {&__pyx_n_s_GraphTools, __pyx_k_GraphTools, sizeof(__pyx_k_GraphTools), 0, 0, 1, 1},
  {&__pyx_n_s_GraphUpdater, __pyx_k_GraphUpdater, sizeof(__pyx_k_GraphUpdater), 0, 0, 1, 1},
  {&__pyx_n_s_GraphWriter, __pyx_k_GraphWriter, sizeof(__pyx_k_GraphWriter), 0, 0, 1, 1},
  {&__pyx_kp_u_Graph_BFSEdgesFrom_is_deprecated, __pyx_k_Graph_BFSEdgesFrom_is_deprecated, sizeof(__pyx_k_Graph_BFSEdgesFrom_is_deprecated), 0, 1, 0, 0},
  {&__pyx_kp_u_Graph_BFSfrom_is_deprecated_use, __pyx_k_Graph_BFSfrom_is_deprecated_use, sizeof(__pyx_k_Graph_BFSfrom_is_deprecated_use), 0, 1, 0, 0},
  {&__pyx_kp_u_Graph_DFSEdgesFrom_is_deprecated, __pyx_k_Graph_DFSEdgesFrom_is_deprecated, sizeof(__pyx_k_Graph_DFSEdgesFrom_is_deprecated), 0, 1, 0, 0},
  {&__pyx_kp_u_Graph_DFSfrom_is_deprecated_use, __pyx_k_Graph_DFSfrom_is_deprecated_use, sizeof(__pyx_k_Graph_DFSfrom_is_deprecated_use), 0, 1, 0, 0},
  {&__pyx_kp_u_Graph_append_is_deprecated_use_g, __pyx_k_Graph_append_is_deprecated_use_g, sizeof(__pyx_k_Graph_append_is_deprecated_use_g), 0, 1, 0, 0},
  {&__pyx_kp_u_Graph_copyNodes_is_deprecated_us, __pyx_k_Graph_copyNodes_is_deprecated_us, sizeof(__pyx_k_Graph_copyNodes_is_deprecated_us), 0, 1, 0, 0},
  {&__pyx_kp_u_Graph_density_is_deprecated_use, __pyx_k_Graph_density_is_deprecated_use, sizeof(__pyx_k_Graph_density_is_deprecated_use), 0, 1, 0, 0},
  {&__pyx_kp_u_Graph_edges_is_deprecated, __pyx_k_Graph_edges_is_deprecated, sizeof(__pyx_k_Graph_edges_is_deprecated), 0, 1, 0, 0},
  {&__pyx_kp_u_Graph_getName_is_deprecated, __pyx_k_Graph_getName_is_deprecated, sizeof(__pyx_k_Graph_getName_is_deprecated), 0, 1, 0, 0},
  {&__pyx_n_s_Graph_iterEdges, __pyx_k_Graph_iterEdges, sizeof(__pyx_k_Graph_iterEdges), 0, 0, 1, 1},
  {&__pyx_n_s_Graph_iterEdgesWeights, __pyx_k_Graph_iterEdgesWeights, sizeof(__pyx_k_Graph_iterEdgesWeights), 0, 0, 1, 1},
  {&__pyx_n_s_Graph_iterInNeighbors, __pyx_k_Graph_iterInNeighbors, sizeof(__pyx_k_Graph_iterInNeighbors), 0, 0, 1, 1},
  {&__pyx_n_s_Graph_iterNeighbors, __pyx_k_Graph_iterNeighbors, sizeof(__pyx_k_Graph_iterNeighbors), 0, 0, 1, 1},
  {&__pyx_n_s_Graph_iterNodes, __pyx_k_Graph_iterNodes, sizeof(__pyx_k_Graph_iterNodes), 0, 0, 1, 1},
  {&__pyx_kp_u_Graph_maxDegreeIn_is_deprecated, __pyx_k_Graph_maxDegreeIn_is_deprecated, sizeof(__pyx_k_Graph_maxDegreeIn_is_deprecated), 0, 1, 0, 0},
  {&__pyx_kp_u_Graph_maxDegree_is_deprecated_us, __pyx_k_Graph_maxDegree_is_deprecated_us, sizeof(__pyx_k_Graph_maxDegree_is_deprecated_us), 0, 1, 0, 0},
  {&__pyx_kp_u_Graph_maxWeightedDegreeIn_is_dep, __pyx_k_Graph_maxWeightedDegreeIn_is_dep, sizeof(__pyx_k_Graph_maxWeightedDegreeIn_is_dep), 0, 1, 0, 0},
  {&__pyx_kp_u_Graph_maxWeightedDegree_is_depre, __pyx_k_Graph_maxWeightedDegree_is_depre, sizeof(__pyx_k_Graph_maxWeightedDegree_is_depre), 0, 1, 0, 0},
  {&__pyx_kp_u_Graph_merge_is_deprecated_use_gr, __pyx_k_Graph_merge_is_deprecated_use_gr, sizeof(__pyx_k_Graph_merge_is_deprecated_use_gr), 0, 1, 0, 0},
  {&__pyx_kp_u_Graph_nodes_is_deprecated, __pyx_k_Graph_nodes_is_deprecated, sizeof(__pyx_k_Graph_nodes_is_deprecated), 0, 1, 0, 0},
  {&__pyx_kp_u_Graph_randomEdge_is_deprecated_u, __pyx_k_Graph_randomEdge_is_deprecated_u, sizeof(__pyx_k_Graph_randomEdge_is_deprecated_u), 0, 1, 0, 0},
  {&__pyx_kp_u_Graph_randomEdges_is_deprecated, __pyx_k_Graph_randomEdges_is_deprecated, sizeof(__pyx_k_Graph_randomEdges_is_deprecated), 0, 1, 0, 0},
  {&__pyx_kp_u_Graph_randomNeighbor_is_deprecat, __pyx_k_Graph_randomNeighbor_is_deprecat, sizeof(__pyx_k_Graph_randomNeighbor_is_deprecat), 0, 1, 0, 0},
  {&__pyx_kp_u_Graph_randomNode_is_deprecated_u, __pyx_k_Graph_randomNode_is_deprecated_u, sizeof(__pyx_k_Graph_randomNode_is_deprecated_u), 0, 1, 0, 0},
  {&__pyx_kp_u_Graph_removeEdgesFromIsolatedSet, __pyx_k_Graph_removeEdgesFromIsolatedSet, sizeof(__pyx_k_Graph_removeEdgesFromIsolatedSet), 0, 1, 0, 0},
  {&__pyx_kp_u_Graph_setName_is_deprecated, __pyx_k_Graph_setName_is_deprecated, sizeof(__pyx_k_Graph_setName_is_deprecated), 0, 1, 0, 0},
  {&__pyx_kp_u_Graph_size_is_deprecated_use_gra, __pyx_k_Graph_size_is_deprecated_use_gra, sizeof(__pyx_k_Graph_size_is_deprecated_use_gra), 0, 1, 0, 0},
  {&__pyx_kp_u_Graph_subgraphFromNodes_is_depre, __pyx_k_Graph_subgraphFromNodes_is_depre, sizeof(__pyx_k_Graph_subgraphFromNodes_is_depre), 0, 1, 0, 0},
  {&__pyx_kp_u_Graph_toString_is_deprecated, __pyx_k_Graph_toString_is_deprecated, sizeof(__pyx_k_Graph_toString_is_deprecated), 0, 1, 0, 0},
  {&__pyx_kp_u_Graph_toUndirected_is_deprecated, __pyx_k_Graph_toUndirected_is_deprecated, sizeof(__pyx_k_Graph_toUndirected_is_deprecated), 0, 1, 0, 0},
  {&__pyx_kp_u_Graph_toUnweighted_is_deprecated, __pyx_k_Graph_toUnweighted_is_deprecated, sizeof(__pyx_k_Graph_toUnweighted_is_deprecated), 0, 1, 0, 0},
  {&__pyx_kp_u_Graph_transpose_is_deprecated_us, __pyx_k_Graph_transpose_is_deprecated_us, sizeof(__pyx_k_Graph_transpose_is_deprecated_us), 0, 1, 0, 0},
  {&__pyx_n_s_GroupCloseness, __pyx_k_GroupCloseness, sizeof(__pyx_k_GroupCloseness), 0, 0, 1, 1},
  {&__pyx_n_s_GroupDegree, __pyx_k_GroupDegree, sizeof(__pyx_k_GroupDegree), 0, 0, 1, 1},
  {&__pyx_n_s_H, __pyx_k_H, sizeof(__pyx_k_H), 0, 0, 1, 1},
  {&__pyx_n_s_HarmonicCloseness, __pyx_k_HarmonicCloseness, sizeof(__pyx_k_HarmonicCloseness), 0, 0, 1, 1},
  {&__pyx_n_s_HavelHakimiGenerator, __pyx_k_HavelHakimiGenerator, sizeof(__pyx_k_HavelHakimiGenerator), 0, 0, 1, 1},
  {&__pyx_n_s_HopPlotApproximation, __pyx_k_HopPlotApproximation, sizeof(__pyx_k_HopPlotApproximation), 0, 0, 1, 1},
  {&__pyx_n_s_HubDominance, __pyx_k_HubDominance, sizeof(__pyx_k_HubDominance), 0, 0, 1, 1},
  {&__pyx_n_s_HubDominance_getQuality, __pyx_k_HubDominance_getQuality, sizeof(__pyx_k_HubDominance_getQuality), 0, 0, 1, 1},
  {&__pyx_n_s_HyperbolicGenerator, __pyx_k_HyperbolicGenerator, sizeof(__pyx_k_HyperbolicGenerator), 0, 0, 1, 1},
  {&__pyx_n_s_INBOUND, __pyx_k_INBOUND, sizeof(__pyx_k_INBOUND), 0, 0, 1, 1},
  {&__pyx_kp_u_Implement_in_subclass, __pyx_k_Implement_in_subclass, sizeof(__pyx_k_Implement_in_subclass), 0, 1, 0, 0},
  {&__pyx_kp_s_Incompatible_checksums_s_vs_0xd4, __pyx_k_Incompatible_checksums_s_vs_0xd4, sizeof(__pyx_k_Incompatible_checksums_s_vs_0xd4), 0, 0, 1, 0},
  {&__pyx_kp_u_Increasing_maximum_community_siz, __pyx_k_Increasing_maximum_community_siz, sizeof(__pyx_k_Increasing_maximum_community_siz), 0, 1, 0, 0},
  {&__pyx_kp_u_Instantiation_of_abstract_base_c, __pyx_k_Instantiation_of_abstract_base_c, sizeof(__pyx_k_Instantiation_of_abstract_base_c), 0, 1, 0, 0},
  {&__pyx_n_s_IntrapartitionDensity, __pyx_k_IntrapartitionDensity, sizeof(__pyx_k_IntrapartitionDensity), 0, 0, 1, 1},
  {&__pyx_n_s_IsolatedInterpartitionConductanc, __pyx_k_IsolatedInterpartitionConductanc, sizeof(__pyx_k_IsolatedInterpartitionConductanc), 0, 0, 1, 1},
  {&__pyx_n_s_IsolatedInterpartitionExpansion, __pyx_k_IsolatedInterpartitionExpansion, sizeof(__pyx_k_IsolatedInterpartitionExpansion), 0, 0, 1, 1},
  {&__pyx_n_s_Iterable, __pyx_k_Iterable, sizeof(__pyx_k_Iterable), 0, 0, 1, 1},
  {&__pyx_n_s_JaccardDistance, __pyx_k_JaccardDistance, sizeof(__pyx_k_JaccardDistance), 0, 0, 1, 1},
  {&__pyx_n_s_JaccardIndex, __pyx_k_JaccardIndex, sizeof(__pyx_k_JaccardIndex), 0, 0, 1, 1},
  {&__pyx_n_s_JaccardMeasure, __pyx_k_JaccardMeasure, sizeof(__pyx_k_JaccardMeasure), 0, 0, 1, 1},
  {&__pyx_n_s_JaccardSimilarityAttributizer, __pyx_k_JaccardSimilarityAttributizer, sizeof(__pyx_k_JaccardSimilarityAttributizer), 0, 0, 1, 1},
  {&__pyx_n_s_KONECTGraphReader, __pyx_k_KONECTGraphReader, sizeof(__pyx_k_KONECTGraphReader), 0, 0, 1, 1},
  {&__pyx_n_s_KPathCentrality, __pyx_k_KPathCentrality, sizeof(__pyx_k_KPathCentrality), 0, 0, 1, 1},
  {&__pyx_n_s_KadabraBetweenness, __pyx_k_KadabraBetweenness, sizeof(__pyx_k_KadabraBetweenness), 0, 0, 1, 1},
  {&__pyx_n_s_KatzCentrality, __pyx_k_KatzCentrality, sizeof(__pyx_k_KatzCentrality), 0, 0, 1, 1},
  {&__pyx_n_s_KatzIndex, __pyx_k_KatzIndex, sizeof(__pyx_k_KatzIndex), 0, 0, 1, 1},
  {&__pyx_n_s_KeepMinimumWeight, __pyx_k_KeepMinimumWeight, sizeof(__pyx_k_KeepMinimumWeight), 0, 0, 1, 1},
  {&__pyx_n_s_LAMG, __pyx_k_LAMG, sizeof(__pyx_k_LAMG), 0, 0, 1, 1},
  {&__pyx_n_s_LFRGenerator, __pyx_k_LFRGenerator, sizeof(__pyx_k_LFRGenerator), 0, 0, 1, 1},
  {&__pyx_n_s_LPDegreeOrdered, __pyx_k_LPDegreeOrdered, sizeof(__pyx_k_LPDegreeOrdered), 0, 0, 1, 1},
  {&__pyx_n_s_LaplacianCentrality, __pyx_k_LaplacianCentrality, sizeof(__pyx_k_LaplacianCentrality), 0, 0, 1, 1},
  {&__pyx_n_s_LineFileReader, __pyx_k_LineFileReader, sizeof(__pyx_k_LineFileReader), 0, 0, 1, 1},
  {&__pyx_n_s_LinkPredictor, __pyx_k_LinkPredictor, sizeof(__pyx_k_LinkPredictor), 0, 0, 1, 1},
  {&__pyx_n_s_LinkThresholder, __pyx_k_LinkThresholder, sizeof(__pyx_k_LinkThresholder), 0, 0, 1, 1},
  {&__pyx_n_s_LocalClusteringCoefficient, __pyx_k_LocalClusteringCoefficient, sizeof(__pyx_k_LocalClusteringCoefficient), 0, 0, 1, 1},
  {&__pyx_n_s_LocalCommunityEvaluation, __pyx_k_LocalCommunityEvaluation, sizeof(__pyx_k_LocalCommunityEvaluation), 0, 0, 1, 1},
  {&__pyx_n_s_LocalCoverEvaluation, __pyx_k_LocalCoverEvaluation, sizeof(__pyx_k_LocalCoverEvaluation), 0, 0, 1, 1},
  {&__pyx_n_s_LocalDegreeScore, __pyx_k_LocalDegreeScore, sizeof(__pyx_k_LocalDegreeScore), 0, 0, 1, 1},
  {&__pyx_n_s_LocalFilterScore, __pyx_k_LocalFilterScore, sizeof(__pyx_k_LocalFilterScore), 0, 0, 1, 1},
  {&__pyx_n_s_LocalPartitionCoverage, __pyx_k_LocalPartitionCoverage, sizeof(__pyx_k_LocalPartitionCoverage), 0, 0, 1, 1},
  {&__pyx_n_s_LocalPartitionEvaluation, __pyx_k_LocalPartitionEvaluation, sizeof(__pyx_k_LocalPartitionEvaluation), 0, 0, 1, 1},
  {&__pyx_n_s_LocalSimilarityScore, __pyx_k_LocalSimilarityScore, sizeof(__pyx_k_LocalSimilarityScore), 0, 0, 1, 1},
  {&__pyx_n_s_Luby, __pyx_k_Luby, sizeof(__pyx_k_Luby), 0, 0, 1, 1},
  {&__pyx_n_s_M, __pyx_k_M, sizeof(__pyx_k_M), 0, 0, 1, 1},
  {&__pyx_n_s_METISGraphReader, __pyx_k_METISGraphReader, sizeof(__pyx_k_METISGraphReader), 0, 0, 1, 1},
  {&__pyx_n_s_METISGraphWriter, __pyx_k_METISGraphWriter, sizeof(__pyx_k_METISGraphWriter), 0, 0, 1, 1},
  {&__pyx_n_s_Matcher, __pyx_k_Matcher, sizeof(__pyx_k_Matcher), 0, 0, 1, 1},
  {&__pyx_n_s_Matching, __pyx_k_Matching, sizeof(__pyx_k_Matching), 0, 0, 1, 1},
  {&__pyx_n_s_MatchingCoarsening, __pyx_k_MatchingCoarsening, sizeof(__pyx_k_MatchingCoarsening), 0, 0, 1, 1},
  {&__pyx_n_s_MaxentStress, __pyx_k_MaxentStress, sizeof(__pyx_k_MaxentStress), 0, 0, 1, 1},
  {&__pyx_n_s_MaximalCliques, __pyx_k_MaximalCliques, sizeof(__pyx_k_MaximalCliques), 0, 0, 1, 1},
  {&__pyx_n_s_MissingLinksFinder, __pyx_k_MissingLinksFinder, sizeof(__pyx_k_MissingLinksFinder), 0, 0, 1, 1},
  {&__pyx_n_s_MocnikGenerator, __pyx_k_MocnikGenerator, sizeof(__pyx_k_MocnikGenerator), 0, 0, 1, 1},
  {&__pyx_n_s_MocnikGeneratorBasic, __pyx_k_MocnikGeneratorBasic, sizeof(__pyx_k_MocnikGeneratorBasic), 0, 0, 1, 1},
  {&__pyx_n_s_Modularity, __pyx_k_Modularity, sizeof(__pyx_k_Modularity), 0, 0, 1, 1},
  {&__pyx_n_s_MultipleEdgesHandling, __pyx_k_MultipleEdgesHandling, sizeof(__pyx_k_MultipleEdgesHandling), 0, 0, 1, 1},
  {&__pyx_n_s_MultiscaleScore, __pyx_k_MultiscaleScore, sizeof(__pyx_k_MultiscaleScore), 0, 0, 1, 1},
  {&__pyx_n_s_NMIDistance, __pyx_k_NMIDistance, sizeof(__pyx_k_NMIDistance), 0, 0, 1, 1},
  {&__pyx_n_s_NODE_ADDITION, __pyx_k_NODE_ADDITION, sizeof(__pyx_k_NODE_ADDITION), 0, 0, 1, 1},
  {&__pyx_n_s_NODE_REMOVAL, __pyx_k_NODE_REMOVAL, sizeof(__pyx_k_NODE_REMOVAL), 0, 0, 1, 1},
  {&__pyx_n_s_NODE_RESTORATION, __pyx_k_NODE_RESTORATION, sizeof(__pyx_k_NODE_RESTORATION), 0, 0, 1, 1},
  {&__pyx_kp_u_N_0_k_1_maxk_2_mu_3_minc_4_maxc, __pyx_k_N_0_k_1_maxk_2_mu_3_minc_4_maxc, sizeof(__pyx_k_N_0_k_1_maxk_2_mu_3_minc_4_maxc), 0, 1, 0, 0},
  {&__pyx_n_s_NeighborhoodDistanceIndex, __pyx_k_NeighborhoodDistanceIndex, sizeof(__pyx_k_NeighborhoodDistanceIndex), 0, 0, 1, 1},
  {&__pyx_n_s_NeighborhoodFunction, __pyx_k_NeighborhoodFunction, sizeof(__pyx_k_NeighborhoodFunction), 0, 0, 1, 1},
  {&__pyx_n_s_NeighborhoodFunctionApproximatio, __pyx_k_NeighborhoodFunctionApproximatio, sizeof(__pyx_k_NeighborhoodFunctionApproximatio), 0, 0, 1, 1},
  {&__pyx_n_s_NeighborhoodFunctionHeuristic, __pyx_k_NeighborhoodFunctionHeuristic, sizeof(__pyx_k_NeighborhoodFunctionHeuristic), 0, 0, 1, 1},
  {&__pyx_n_s_NeighborhoodUtility, __pyx_k_NeighborhoodUtility, sizeof(__pyx_k_NeighborhoodUtility), 0, 0, 1, 1},
  {&__pyx_n_s_NeighborsMeasureIndex, __pyx_k_NeighborsMeasureIndex, sizeof(__pyx_k_NeighborsMeasureIndex), 0, 0, 1, 1},
  {&__pyx_kp_u_Nested_parallelism_has_been_depr, __pyx_k_Nested_parallelism_has_been_depr, sizeof(__pyx_k_Nested_parallelism_has_been_depr), 0, 1, 0, 0},
  {&__pyx_kp_u_NetworKit_Graph_name_0_n_1_m_2, __pyx_k_NetworKit_Graph_name_0_n_1_m_2, sizeof(__pyx_k_NetworKit_Graph_name_0_n_1_m_2), 0, 1, 0, 0},
  {&__pyx_n_s_NetworkitBinaryReader, __pyx_k_NetworkitBinaryReader, sizeof(__pyx_k_NetworkitBinaryReader), 0, 0, 1, 1},
  {&__pyx_n_s_NetworkitBinaryWriter, __pyx_k_NetworkitBinaryWriter, sizeof(__pyx_k_NetworkitBinaryWriter), 0, 0, 1, 1},
  {&__pyx_kp_s_No_matching_signature_found, __pyx_k_No_matching_signature_found, sizeof(__pyx_k_No_matching_signature_found), 0, 0, 1, 0},
  {&__pyx_n_s_NodeStructuralRandMeasure, __pyx_k_NodeStructuralRandMeasure, sizeof(__pyx_k_NodeStructuralRandMeasure), 0, 0, 1, 1},
  {&__pyx_n_s_OUTBOUND, __pyx_k_OUTBOUND, sizeof(__pyx_k_OUTBOUND), 0, 0, 1, 1},
  {&__pyx_n_s_P, __pyx_k_P, sizeof(__pyx_k_P), 0, 0, 1, 1},
  {&__pyx_n_s_PLM, __pyx_k_PLM, sizeof(__pyx_k_PLM), 0, 0, 1, 1},
  {&__pyx_n_s_PLP, __pyx_k_PLP, sizeof(__pyx_k_PLP), 0, 0, 1, 1},
  {&__pyx_n_s_PageRank, __pyx_k_PageRank, sizeof(__pyx_k_PageRank), 0, 0, 1, 1},
  {&__pyx_n_s_PageRankNibble, __pyx_k_PageRankNibble, sizeof(__pyx_k_PageRankNibble), 0, 0, 1, 1},
  {&__pyx_n_s_ParallelConnectedComponents, __pyx_k_ParallelConnectedComponents, sizeof(__pyx_k_ParallelConnectedComponents), 0, 0, 1, 1},
  {&__pyx_n_s_ParallelPartitionCoarsening, __pyx_k_ParallelPartitionCoarsening, sizeof(__pyx_k_ParallelPartitionCoarsening), 0, 0, 1, 1},
  {&__pyx_kp_u_Parameter_G_has_to_be_a_graph, __pyx_k_Parameter_G_has_to_be_a_graph, sizeof(__pyx_k_Parameter_G_has_to_be_a_graph), 0, 1, 0, 0},
  {&__pyx_n_s_Partition, __pyx_k_Partition, sizeof(__pyx_k_Partition), 0, 0, 1, 1},
  {&__pyx_n_s_PartitionFragmentation, __pyx_k_PartitionFragmentation, sizeof(__pyx_k_PartitionFragmentation), 0, 0, 1, 1},
  {&__pyx_n_s_PartitionHubDominance, __pyx_k_PartitionHubDominance, sizeof(__pyx_k_PartitionHubDominance), 0, 0, 1, 1},
  {&__pyx_n_s_PartitionIntersection, __pyx_k_PartitionIntersection, sizeof(__pyx_k_PartitionIntersection), 0, 0, 1, 1},
  {&__pyx_n_s_PartitionReader, __pyx_k_PartitionReader, sizeof(__pyx_k_PartitionReader), 0, 0, 1, 1},
  {&__pyx_n_s_PartitionWriter, __pyx_k_PartitionWriter, sizeof(__pyx_k_PartitionWriter), 0, 0, 1, 1},
  {&__pyx_n_s_PathGrowingMatcher, __pyx_k_PathGrowingMatcher, sizeof(__pyx_k_PathGrowingMatcher), 0, 0, 1, 1},
  {&__pyx_n_s_PermanenceCentrality, __pyx_k_PermanenceCentrality, sizeof(__pyx_k_PermanenceCentrality), 0, 0, 1, 1},
  {&__pyx_n_s_PickleError, __pyx_k_PickleError, sizeof(__pyx_k_PickleError), 0, 0, 1, 1},
  {&__pyx_n_s_PivotMDS, __pyx_k_PivotMDS, sizeof(__pyx_k_PivotMDS), 0, 0, 1, 1},
  {&__pyx_n_s_PowerlawDegreeSequence, __pyx_k_PowerlawDegreeSequence, sizeof(__pyx_k_PowerlawDegreeSequence), 0, 0, 1, 1},
  {&__pyx_n_s_PrecisionRecallMetric, __pyx_k_PrecisionRecallMetric, sizeof(__pyx_k_PrecisionRecallMetric), 0, 0, 1, 1},
  {&__pyx_n_s_PredictionsSorter, __pyx_k_PredictionsSorter, sizeof(__pyx_k_PredictionsSorter), 0, 0, 1, 1},
  {&__pyx_n_s_PreferentialAttachmentIndex, __pyx_k_PreferentialAttachmentIndex, sizeof(__pyx_k_PreferentialAttachmentIndex), 0, 0, 1, 1},
  {&__pyx_n_s_PrefixJaccardScore, __pyx_k_PrefixJaccardScore, sizeof(__pyx_k_PrefixJaccardScore), 0, 0, 1, 1},
  {&__pyx_n_s_PubWebGenerator, __pyx_k_PubWebGenerator, sizeof(__pyx_k_PubWebGenerator), 0, 0, 1, 1},
  {&__pyx_n_s_R, __pyx_k_R, sizeof(__pyx_k_R), 0, 0, 1, 1},
  {&__pyx_n_s_RANDOM, __pyx_k_RANDOM, sizeof(__pyx_k_RANDOM), 0, 0, 1, 1},
  {&__pyx_n_s_ROCMetric, __pyx_k_ROCMetric, sizeof(__pyx_k_ROCMetric), 0, 0, 1, 1},
  {&__pyx_n_s_RandomEdgeScore, __pyx_k_RandomEdgeScore, sizeof(__pyx_k_RandomEdgeScore), 0, 0, 1, 1},
  {&__pyx_n_s_RandomLinkSampler, __pyx_k_RandomLinkSampler, sizeof(__pyx_k_RandomLinkSampler), 0, 0, 1, 1},
  {&__pyx_n_s_RandomMaximumSpanningForest, __pyx_k_RandomMaximumSpanningForest, sizeof(__pyx_k_RandomMaximumSpanningForest), 0, 0, 1, 1},
  {&__pyx_n_s_RandomNodeEdgeScore, __pyx_k_RandomNodeEdgeScore, sizeof(__pyx_k_RandomNodeEdgeScore), 0, 0, 1, 1},
  {&__pyx_n_s_ReducedFunctionalityWarning, __pyx_k_ReducedFunctionalityWarning, sizeof(__pyx_k_ReducedFunctionalityWarning), 0, 0, 1, 1},
  {&__pyx_n_s_RegularRingLatticeGenerator, __pyx_k_RegularRingLatticeGenerator, sizeof(__pyx_k_RegularRingLatticeGenerator), 0, 0, 1, 1},
  {&__pyx_n_s_ResourceAllocationIndex, __pyx_k_ResourceAllocationIndex, sizeof(__pyx_k_ResourceAllocationIndex), 0, 0, 1, 1},
  {&__pyx_n_s_ReverseBFS, __pyx_k_ReverseBFS, sizeof(__pyx_k_ReverseBFS), 0, 0, 1, 1},
  {&__pyx_n_s_RmatGenerator, __pyx_k_RmatGenerator, sizeof(__pyx_k_RmatGenerator), 0, 0, 1, 1},
  {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1},
  {&__pyx_n_s_S, __pyx_k_S, sizeof(__pyx_k_S), 0, 0, 1, 1},
  {&__pyx_n_s_SCANStructuralSimilarityScore, __pyx_k_SCANStructuralSimilarityScore, sizeof(__pyx_k_SCANStructuralSimilarityScore), 0, 0, 1, 1},
  {&__pyx_n_s_SNAPEdgeListPartitionReader, __pyx_k_SNAPEdgeListPartitionReader, sizeof(__pyx_k_SNAPEdgeListPartitionReader), 0, 0, 1, 1},
  {&__pyx_n_s_SNAPGraphReader, __pyx_k_SNAPGraphReader, sizeof(__pyx_k_SNAPGraphReader), 0, 0, 1, 1},
  {&__pyx_n_s_SNAPGraphWriter, __pyx_k_SNAPGraphWriter, sizeof(__pyx_k_SNAPGraphWriter), 0, 0, 1, 1},
  {&__pyx_n_s_SPLIT, __pyx_k_SPLIT, sizeof(__pyx_k_SPLIT), 0, 0, 1, 1},
  {&__pyx_n_s_SSSP, __pyx_k_SSSP, sizeof(__pyx_k_SSSP), 0, 0, 1, 1},
  {&__pyx_n_s_STSP, __pyx_k_STSP, sizeof(__pyx_k_STSP), 0, 0, 1, 1},
  {&__pyx_n_s_SUM, __pyx_k_SUM, sizeof(__pyx_k_SUM), 0, 0, 1, 1},
  {&__pyx_n_s_SameCommunityIndex, __pyx_k_SameCommunityIndex, sizeof(__pyx_k_SameCommunityIndex), 0, 0, 1, 1},
  {&__pyx_n_s_Sfigality, __pyx_k_Sfigality, sizeof(__pyx_k_Sfigality), 0, 0, 1, 1},
  {&__pyx_n_s_SimmelianOverlapScore, __pyx_k_SimmelianOverlapScore, sizeof(__pyx_k_SimmelianOverlapScore), 0, 0, 1, 1},
  {&__pyx_n_s_SpanningEdgeCentrality, __pyx_k_SpanningEdgeCentrality, sizeof(__pyx_k_SpanningEdgeCentrality), 0, 0, 1, 1},
  {&__pyx_n_s_SpanningForest, __pyx_k_SpanningForest, sizeof(__pyx_k_SpanningForest), 0, 0, 1, 1},
  {&__pyx_n_s_StablePartitionNodes, __pyx_k_StablePartitionNodes, sizeof(__pyx_k_StablePartitionNodes), 0, 0, 1, 1},
  {&__pyx_n_s_Standard, __pyx_k_Standard, sizeof(__pyx_k_Standard), 0, 0, 1, 1},
  {&__pyx_n_s_StaticGraphGenerator, __pyx_k_StaticGraphGenerator, sizeof(__pyx_k_StaticGraphGenerator), 0, 0, 1, 1},
  {&__pyx_n_s_StronglyConnectedComponents, __pyx_k_StronglyConnectedComponents, sizeof(__pyx_k_StronglyConnectedComponents), 0, 0, 1, 1},
  {&__pyx_n_s_SumWeightsUp, __pyx_k_SumWeightsUp, sizeof(__pyx_k_SumWeightsUp), 0, 0, 1, 1},
  {&__pyx_n_s_T, __pyx_k_T, sizeof(__pyx_k_T), 0, 0, 1, 1},
  {&__pyx_n_s_TIME_STEP, __pyx_k_TIME_STEP, sizeof(__pyx_k_TIME_STEP), 0, 0, 1, 1},
  {&__pyx_kp_u_TODO_figure_out_scaling_scheme_f, __pyx_k_TODO_figure_out_scaling_scheme_f, sizeof(__pyx_k_TODO_figure_out_scaling_scheme_f), 0, 1, 0, 0},
  {&__pyx_n_s_TemporaryDirectory, __pyx_k_TemporaryDirectory, sizeof(__pyx_k_TemporaryDirectory), 0, 0, 1, 1},
  {&__pyx_kp_u_The_graph_is_not_directed_return, __pyx_k_The_graph_is_not_directed_return, sizeof(__pyx_k_The_graph_is_not_directed_return), 0, 1, 0, 0},
  {&__pyx_n_s_ThrillGraphBinaryReader, __pyx_k_ThrillGraphBinaryReader, sizeof(__pyx_k_ThrillGraphBinaryReader), 0, 0, 1, 1},
  {&__pyx_n_s_ThrillGraphBinaryWriter, __pyx_k_ThrillGraphBinaryWriter, sizeof(__pyx_k_ThrillGraphBinaryWriter), 0, 0, 1, 1},
  {&__pyx_n_s_TopCloseness, __pyx_k_TopCloseness, sizeof(__pyx_k_TopCloseness), 0, 0, 1, 1},
  {&__pyx_n_s_TopHarmonicCloseness, __pyx_k_TopHarmonicCloseness, sizeof(__pyx_k_TopHarmonicCloseness), 0, 0, 1, 1},
  {&__pyx_n_s_TotalNeighborsIndex, __pyx_k_TotalNeighborsIndex, sizeof(__pyx_k_TotalNeighborsIndex), 0, 0, 1, 1},
  {&__pyx_n_s_Traversal, __pyx_k_Traversal, sizeof(__pyx_k_Traversal), 0, 0, 1, 1},
  {&__pyx_n_s_TriangleEdgeScore, __pyx_k_TriangleEdgeScore, sizeof(__pyx_k_TriangleEdgeScore), 0, 0, 1, 1},
  {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1},
  {&__pyx_n_s_UDegreeIndex, __pyx_k_UDegreeIndex, sizeof(__pyx_k_UDegreeIndex), 0, 0, 1, 1},
  {&__pyx_n_s_UnionMaximumSpanningForest, __pyx_k_UnionMaximumSpanningForest, sizeof(__pyx_k_UnionMaximumSpanningForest), 0, 0, 1, 1},
  {&__pyx_n_s_VDegreeIndex, __pyx_k_VDegreeIndex, sizeof(__pyx_k_VDegreeIndex), 0, 0, 1, 1},
  {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1},
  {&__pyx_n_s_Volume, __pyx_k_Volume, sizeof(__pyx_k_Volume), 0, 0, 1, 1},
  {&__pyx_kp_u_WARNING_module_pandas_not_found, __pyx_k_WARNING_module_pandas_not_found, sizeof(__pyx_k_WARNING_module_pandas_not_found), 0, 1, 0, 0},
  {&__pyx_n_s_WattsStrogatzGenerator, __pyx_k_WattsStrogatzGenerator, sizeof(__pyx_k_WattsStrogatzGenerator), 0, 0, 1, 1},
  {&__pyx_n_s_WeaklyConnectedComponents, __pyx_k_WeaklyConnectedComponents, sizeof(__pyx_k_WeaklyConnectedComponents), 0, 0, 1, 1},
  {&__pyx_kp_u__116, __pyx_k__116, sizeof(__pyx_k__116), 0, 1, 0, 0},
  {&__pyx_kp_s__179, __pyx_k__179, sizeof(__pyx_k__179), 0, 0, 1, 0},
  {&__pyx_kp_s__180, __pyx_k__180, sizeof(__pyx_k__180), 0, 0, 1, 0},
  {&__pyx_kp_s__181, __pyx_k__181, sizeof(__pyx_k__181), 0, 0, 1, 0},
  {&__pyx_kp_u__88, __pyx_k__88, sizeof(__pyx_k__88), 0, 1, 0, 0},
  {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1},
  {&__pyx_n_s_above, __pyx_k_above, sizeof(__pyx_k_above), 0, 0, 1, 1},
  {&__pyx_n_s_addMissing, __pyx_k_addMissing, sizeof(__pyx_k_addMissing), 0, 0, 1, 1},
  {&__pyx_n_s_algo, __pyx_k_algo, sizeof(__pyx_k_algo), 0, 0, 1, 1},
  {&__pyx_n_s_allowSelfLoops, __pyx_k_allowSelfLoops, sizeof(__pyx_k_allowSelfLoops), 0, 0, 1, 1},
  {&__pyx_n_s_alpha, __pyx_k_alpha, sizeof(__pyx_k_alpha), 0, 0, 1, 1},
  {&__pyx_n_s_angles, __pyx_k_angles, sizeof(__pyx_k_angles), 0, 0, 1, 1},
  {&__pyx_n_s_append, __pyx_k_append, sizeof(__pyx_k_append), 0, 0, 1, 1},
  {&__pyx_n_s_approxAvgLocal, __pyx_k_approxAvgLocal, sizeof(__pyx_k_approxAvgLocal), 0, 0, 1, 1},
  {&__pyx_n_s_approxGlobal, __pyx_k_approxGlobal, sizeof(__pyx_k_approxGlobal), 0, 0, 1, 1},
  {&__pyx_n_s_area, __pyx_k_area, sizeof(__pyx_k_area), 0, 0, 1, 1},
  {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1},
  {&__pyx_n_s_attribute, __pyx_k_attribute, sizeof(__pyx_k_attribute), 0, 0, 1, 1},
  {&__pyx_n_s_attribute0, __pyx_k_attribute0, sizeof(__pyx_k_attribute0), 0, 0, 1, 1},
  {&__pyx_n_s_attribute1, __pyx_k_attribute1, sizeof(__pyx_k_attribute1), 0, 0, 1, 1},
  {&__pyx_n_s_avgDeg, __pyx_k_avgDeg, sizeof(__pyx_k_avgDeg), 0, 0, 1, 1},
  {&__pyx_n_s_avgDegree, __pyx_k_avgDegree, sizeof(__pyx_k_avgDegree), 0, 0, 1, 1},
  {&__pyx_n_s_avgLocal, __pyx_k_avgLocal, sizeof(__pyx_k_avgLocal), 0, 0, 1, 1},
  {&__pyx_n_s_b, __pyx_k_b, sizeof(__pyx_k_b), 0, 0, 1, 1},
  {&__pyx_n_u_balanced, __pyx_k_balanced, sizeof(__pyx_k_balanced), 0, 1, 0, 1},
  {&__pyx_n_s_baseClustering, __pyx_k_baseClustering, sizeof(__pyx_k_baseClustering), 0, 0, 1, 1},
  {&__pyx_n_s_baseIndex, __pyx_k_baseIndex, sizeof(__pyx_k_baseIndex), 0, 0, 1, 1},
  {&__pyx_n_s_batagelj, __pyx_k_batagelj, sizeof(__pyx_k_batagelj), 0, 0, 1, 1},
  {&__pyx_n_s_beta, __pyx_k_beta, sizeof(__pyx_k_beta), 0, 0, 1, 1},
  {&__pyx_n_s_bothDirections, __pyx_k_bothDirections, sizeof(__pyx_k_bothDirections), 0, 0, 1, 1},
  {&__pyx_n_s_byCount, __pyx_k_byCount, sizeof(__pyx_k_byCount), 0, 0, 1, 1},
  {&__pyx_n_s_byPercentage, __pyx_k_byPercentage, sizeof(__pyx_k_byPercentage), 0, 0, 1, 1},
  {&__pyx_n_s_byScore, __pyx_k_byScore, sizeof(__pyx_k_byScore), 0, 0, 1, 1},
  {&__pyx_n_s_c, __pyx_k_c, sizeof(__pyx_k_c), 0, 0, 1, 1},
  {&__pyx_n_s_cNodeIdMap, __pyx_k_cNodeIdMap, sizeof(__pyx_k_cNodeIdMap), 0, 0, 1, 1},
  {&__pyx_n_s_cResult, __pyx_k_cResult, sizeof(__pyx_k_cResult), 0, 0, 1, 1},
  {&__pyx_n_s_call, __pyx_k_call, sizeof(__pyx_k_call), 0, 0, 1, 1},
  {&__pyx_kp_u_call_setPaths_class_method_first, __pyx_k_call_setPaths_class_method_first, sizeof(__pyx_k_call_setPaths_class_method_first), 0, 1, 0, 0},
  {&__pyx_n_s_callback, __pyx_k_callback, sizeof(__pyx_k_callback), 0, 0, 1, 1},
  {&__pyx_n_s_ceil, __pyx_k_ceil, sizeof(__pyx_k_ceil), 0, 0, 1, 1},
  {&__pyx_n_s_cid, __pyx_k_cid, sizeof(__pyx_k_cid), 0, 0, 1, 1},
  {&__pyx_n_s_cinit___locals_genexpr, __pyx_k_cinit___locals_genexpr, sizeof(__pyx_k_cinit___locals_genexpr), 0, 0, 1, 1},
  {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1},
  {&__pyx_n_s_close, __pyx_k_close, sizeof(__pyx_k_close), 0, 0, 1, 1},
  {&__pyx_n_s_coarsen, __pyx_k_coarsen, sizeof(__pyx_k_coarsen), 0, 0, 1, 1},
  {&__pyx_n_s_coarsening, __pyx_k_coarsening, sizeof(__pyx_k_coarsening), 0, 0, 1, 1},
  {&__pyx_n_s_collections, __pyx_k_collections, sizeof(__pyx_k_collections), 0, 0, 1, 1},
  {&__pyx_n_s_columns, __pyx_k_columns, sizeof(__pyx_k_columns), 0, 0, 1, 1},
  {&__pyx_n_s_commentPrefix, __pyx_k_commentPrefix, sizeof(__pyx_k_commentPrefix), 0, 0, 1, 1},
  {&__pyx_n_s_communicationGraph, __pyx_k_communicationGraph, sizeof(__pyx_k_communicationGraph), 0, 0, 1, 1},
  {&__pyx_n_s_communityDetectionAlgorithm, __pyx_k_communityDetectionAlgorithm, sizeof(__pyx_k_communityDetectionAlgorithm), 0, 0, 1, 1},
  {&__pyx_n_s_communitySizeExp, __pyx_k_communitySizeExp, sizeof(__pyx_k_communitySizeExp), 0, 0, 1, 1},
  {&__pyx_n_s_compactGraph, __pyx_k_compactGraph, sizeof(__pyx_k_compactGraph), 0, 0, 1, 1},
  {&__pyx_n_s_computeEdgeCentrality, __pyx_k_computeEdgeCentrality, sizeof(__pyx_k_computeEdgeCentrality), 0, 0, 1, 1},
  {&__pyx_n_s_continuous, __pyx_k_continuous, sizeof(__pyx_k_continuous), 0, 0, 1, 1},
  {&__pyx_n_s_coordinates, __pyx_k_coordinates, sizeof(__pyx_k_coordinates), 0, 0, 1, 1},
  {&__pyx_n_s_copyNodes, __pyx_k_copyNodes, sizeof(__pyx_k_copyNodes), 0, 0, 1, 1},
  {&__pyx_n_u_count, __pyx_k_count, sizeof(__pyx_k_count), 0, 1, 0, 1},
  {&__pyx_n_s_countGroupNodes, __pyx_k_countGroupNodes, sizeof(__pyx_k_countGroupNodes), 0, 0, 1, 1},
  {&__pyx_n_s_countSelfLoopsTwice, __pyx_k_countSelfLoopsTwice, sizeof(__pyx_k_countSelfLoopsTwice), 0, 0, 1, 1},
  {&__pyx_n_s_curve, __pyx_k_curve, sizeof(__pyx_k_curve), 0, 0, 1, 1},
  {&__pyx_n_s_cutoff, __pyx_k_cutoff, sizeof(__pyx_k_cutoff), 0, 0, 1, 1},
  {&__pyx_n_s_d, __pyx_k_d, sizeof(__pyx_k_d), 0, 0, 1, 1},
  {&__pyx_kp_u_d_d, __pyx_k_d_d, sizeof(__pyx_k_d_d), 0, 1, 0, 0},
  {&__pyx_n_s_damp, __pyx_k_damp, sizeof(__pyx_k_damp), 0, 0, 1, 1},
  {&__pyx_n_s_dampingValue, __pyx_k_dampingValue, sizeof(__pyx_k_dampingValue), 0, 0, 1, 1},
  {&__pyx_n_s_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 0, 1, 1},
  {&__pyx_n_s_decode, __pyx_k_decode, sizeof(__pyx_k_decode), 0, 0, 1, 1},
  {&__pyx_n_s_defaults, __pyx_k_defaults, sizeof(__pyx_k_defaults), 0, 0, 1, 1},
  {&__pyx_n_s_degreePreservingShufflePreproces, __pyx_k_degreePreservingShufflePreproces, sizeof(__pyx_k_degreePreservingShufflePreproces), 0, 0, 1, 1},
  {&__pyx_n_s_degreeSequence, __pyx_k_degreeSequence, sizeof(__pyx_k_degreeSequence), 0, 0, 1, 1},
  {&__pyx_n_s_delta, __pyx_k_delta, sizeof(__pyx_k_delta), 0, 0, 1, 1},
  {&__pyx_n_s_density, __pyx_k_density, sizeof(__pyx_k_density), 0, 0, 1, 1},
  {&__pyx_n_s_dict, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 0, 1, 1},
  {&__pyx_n_s_dim, __pyx_k_dim, sizeof(__pyx_k_dim), 0, 0, 1, 1},
  {&__pyx_n_s_directed, __pyx_k_directed, sizeof(__pyx_k_directed), 0, 0, 1, 1},
  {&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1},
  {&__pyx_n_s_e, __pyx_k_e, sizeof(__pyx_k_e), 0, 0, 1, 1},
  {&__pyx_n_s_e1, __pyx_k_e1, sizeof(__pyx_k_e1), 0, 0, 1, 1},
  {&__pyx_n_s_e2, __pyx_k_e2, sizeof(__pyx_k_e2), 0, 0, 1, 1},
  {&__pyx_n_s_eTime, __pyx_k_eTime, sizeof(__pyx_k_eTime), 0, 0, 1, 1},
  {&__pyx_n_s_edgeFactor, __pyx_k_edgeFactor, sizeof(__pyx_k_edgeFactor), 0, 0, 1, 1},
  {&__pyx_n_s_edgeScores, __pyx_k_edgeScores, sizeof(__pyx_k_edgeScores), 0, 0, 1, 1},
  {&__pyx_n_s_eid, __pyx_k_eid, sizeof(__pyx_k_eid), 0, 0, 1, 1},
  {&__pyx_n_s_elem, __pyx_k_elem, sizeof(__pyx_k_elem), 0, 0, 1, 1},
  {&__pyx_n_s_enableNestedParallelism, __pyx_k_enableNestedParallelism, sizeof(__pyx_k_enableNestedParallelism), 0, 0, 1, 1},
  {&__pyx_n_s_encode, __pyx_k_encode, sizeof(__pyx_k_encode), 0, 0, 1, 1},
  {&__pyx_n_s_enforceBucketQueueAlgorithm, __pyx_k_enforceBucketQueueAlgorithm, sizeof(__pyx_k_enforceBucketQueueAlgorithm), 0, 0, 1, 1},
  {&__pyx_n_s_enter, __pyx_k_enter, sizeof(__pyx_k_enter), 0, 0, 1, 1},
  {&__pyx_n_s_epsilon, __pyx_k_epsilon, sizeof(__pyx_k_epsilon), 0, 0, 1, 1},
  {&__pyx_n_s_equalClustering, __pyx_k_equalClustering, sizeof(__pyx_k_equalClustering), 0, 0, 1, 1},
  {&__pyx_n_s_err, __pyx_k_err, sizeof(__pyx_k_err), 0, 0, 1, 1},
  {&__pyx_n_s_error, __pyx_k_error, sizeof(__pyx_k_error), 0, 0, 1, 1},
  {&__pyx_n_s_eta, __pyx_k_eta, sizeof(__pyx_k_eta), 0, 0, 1, 1},
  {&__pyx_n_s_exactGlobal, __pyx_k_exactGlobal, sizeof(__pyx_k_exactGlobal), 0, 0, 1, 1},
  {&__pyx_n_s_exit, __pyx_k_exit, sizeof(__pyx_k_exit), 0, 0, 1, 1},
  {&__pyx_n_s_extractLargestConnectedComponent, __pyx_k_extractLargestConnectedComponent, sizeof(__pyx_k_extractLargestConnectedComponent), 0, 0, 1, 1},
  {&__pyx_n_s_factor, __pyx_k_factor, sizeof(__pyx_k_factor), 0, 0, 1, 1},
  {&__pyx_n_s_fair_area, __pyx_k_fair_area, sizeof(__pyx_k_fair_area), 0, 0, 1, 1},
  {&__pyx_n_s_fastComputation, __pyx_k_fastComputation, sizeof(__pyx_k_fastComputation), 0, 0, 1, 1},
  {&__pyx_n_s_findall, __pyx_k_findall, sizeof(__pyx_k_findall), 0, 0, 1, 1},
  {&__pyx_n_s_first, __pyx_k_first, sizeof(__pyx_k_first), 0, 0, 1, 1},
  {&__pyx_n_s_firstNode, __pyx_k_firstNode, sizeof(__pyx_k_firstNode), 0, 0, 1, 1},
  {&__pyx_n_s_first_heu, __pyx_k_first_heu, sizeof(__pyx_k_first_heu), 0, 0, 1, 1},
  {&__pyx_n_s_fit, __pyx_k_fit, sizeof(__pyx_k_fit), 0, 0, 1, 1},
  {&__pyx_n_s_flag, __pyx_k_flag, sizeof(__pyx_k_flag), 0, 0, 1, 1},
  {&__pyx_n_s_floor, __pyx_k_floor, sizeof(__pyx_k_floor), 0, 0, 1, 1},
  {&__pyx_n_s_forEdgesOf, __pyx_k_forEdgesOf, sizeof(__pyx_k_forEdgesOf), 0, 0, 1, 1},
  {&__pyx_n_s_forInEdgesOf, __pyx_k_forInEdgesOf, sizeof(__pyx_k_forInEdgesOf), 0, 0, 1, 1},
  {&__pyx_n_s_force, __pyx_k_force, sizeof(__pyx_k_force), 0, 0, 1, 1},
  {&__pyx_n_s_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 0, 1, 1},
  {&__pyx_n_s_forward, __pyx_k_forward, sizeof(__pyx_k_forward), 0, 0, 1, 1},
  {&__pyx_n_s_gamma, __pyx_k_gamma, sizeof(__pyx_k_gamma), 0, 0, 1, 1},
  {&__pyx_n_s_generatePowerlawCommunitySizeSeq, __pyx_k_generatePowerlawCommunitySizeSeq, sizeof(__pyx_k_generatePowerlawCommunitySizeSeq), 0, 0, 1, 1},
  {&__pyx_n_s_generatePowerlawDegreeSequence, __pyx_k_generatePowerlawDegreeSequence, sizeof(__pyx_k_generatePowerlawDegreeSequence), 0, 0, 1, 1},
  {&__pyx_n_s_genexpr, __pyx_k_genexpr, sizeof(__pyx_k_genexpr), 0, 0, 1, 1},
  {&__pyx_n_s_getClusterHierarchy, __pyx_k_getClusterHierarchy, sizeof(__pyx_k_getClusterHierarchy), 0, 0, 1, 1},
  {&__pyx_n_s_getCommonNeighbors, __pyx_k_getCommonNeighbors, sizeof(__pyx_k_getCommonNeighbors), 0, 0, 1, 1},
  {&__pyx_n_s_getCompactedGraph, __pyx_k_getCompactedGraph, sizeof(__pyx_k_getCompactedGraph), 0, 0, 1, 1},
  {&__pyx_n_s_getContinuousNodeIds, __pyx_k_getContinuousNodeIds, sizeof(__pyx_k_getContinuousNodeIds), 0, 0, 1, 1},
  {&__pyx_n_s_getCurrentNumberOfThreads, __pyx_k_getCurrentNumberOfThreads, sizeof(__pyx_k_getCurrentNumberOfThreads), 0, 0, 1, 1},
  {&__pyx_n_s_getDegreeSequence, __pyx_k_getDegreeSequence, sizeof(__pyx_k_getDegreeSequence), 0, 0, 1, 1},
  {&__pyx_n_s_getExpectedAverageDegree, __pyx_k_getExpectedAverageDegree, sizeof(__pyx_k_getExpectedAverageDegree), 0, 0, 1, 1},
  {&__pyx_n_s_getGamma, __pyx_k_getGamma, sizeof(__pyx_k_getGamma), 0, 0, 1, 1},
  {&__pyx_n_s_getImbalance, __pyx_k_getImbalance, sizeof(__pyx_k_getImbalance), 0, 0, 1, 1},
  {&__pyx_n_s_getLogLevel, __pyx_k_getLogLevel, sizeof(__pyx_k_getLogLevel), 0, 0, 1, 1},
  {&__pyx_n_s_getMaxNumberOfThreads, __pyx_k_getMaxNumberOfThreads, sizeof(__pyx_k_getMaxNumberOfThreads), 0, 0, 1, 1},
  {&__pyx_n_s_getMinimumDegree, __pyx_k_getMinimumDegree, sizeof(__pyx_k_getMinimumDegree), 0, 0, 1, 1},
  {&__pyx_n_s_getName, __pyx_k_getName, sizeof(__pyx_k_getName), 0, 0, 1, 1},
  {&__pyx_n_s_getNeighborsUnion, __pyx_k_getNeighborsUnion, sizeof(__pyx_k_getNeighborsUnion), 0, 0, 1, 1},
  {&__pyx_n_s_getPartition, __pyx_k_getPartition, sizeof(__pyx_k_getPartition), 0, 0, 1, 1},
  {&__pyx_n_s_getQuality, __pyx_k_getQuality, sizeof(__pyx_k_getQuality), 0, 0, 1, 1},
  {&__pyx_n_s_getRandomContinuousNodeIds, __pyx_k_getRandomContinuousNodeIds, sizeof(__pyx_k_getRandomContinuousNodeIds), 0, 0, 1, 1},
  {&__pyx_n_s_getValue, __pyx_k_getValue, sizeof(__pyx_k_getValue), 0, 0, 1, 1},
  {&__pyx_n_s_getVector, __pyx_k_getVector, sizeof(__pyx_k_getVector), 0, 0, 1, 1},
  {&__pyx_n_s_getstate, __pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 0, 1, 1},
  {&__pyx_kp_u_gi_0, __pyx_k_gi_0, sizeof(__pyx_k_gi_0), 0, 1, 0, 0},
  {&__pyx_n_s_gini, __pyx_k_gini, sizeof(__pyx_k_gini), 0, 0, 1, 1},
  {&__pyx_n_s_graph, __pyx_k_graph, sizeof(__pyx_k_graph), 0, 0, 1, 1},
  {&__pyx_n_s_graphDistance, __pyx_k_graphDistance, sizeof(__pyx_k_graphDistance), 0, 0, 1, 1},
  {&__pyx_n_s_graphio, __pyx_k_graphio, sizeof(__pyx_k_graphio), 0, 0, 1, 1},
  {&__pyx_n_s_groupOnly, __pyx_k_groupOnly, sizeof(__pyx_k_groupOnly), 0, 0, 1, 1},
  {&__pyx_n_s_groupSize, __pyx_k_groupSize, sizeof(__pyx_k_groupSize), 0, 0, 1, 1},
  {&__pyx_n_s_handlingmethod, __pyx_k_handlingmethod, sizeof(__pyx_k_handlingmethod), 0, 0, 1, 1},
  {&__pyx_n_s_height, __pyx_k_height, sizeof(__pyx_k_height), 0, 0, 1, 1},
  {&__pyx_n_s_helper, __pyx_k_helper, sizeof(__pyx_k_helper), 0, 0, 1, 1},
  {&__pyx_n_s_heu, __pyx_k_heu, sizeof(__pyx_k_heu), 0, 0, 1, 1},
  {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1},
  {&__pyx_n_s_iTime, __pyx_k_iTime, sizeof(__pyx_k_iTime), 0, 0, 1, 1},
  {&__pyx_kp_u_i_0, __pyx_k_i_0, sizeof(__pyx_k_i_0), 0, 1, 0, 0},
  {&__pyx_n_s_ignoreIfRealizable, __pyx_k_ignoreIfRealizable, sizeof(__pyx_k_ignoreIfRealizable), 0, 0, 1, 1},
  {&__pyx_n_s_ignoreSelfLoops, __pyx_k_ignoreSelfLoops, sizeof(__pyx_k_ignoreSelfLoops), 0, 0, 1, 1},
  {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
  {&__pyx_n_s_inNeighbors_locals_lambda, __pyx_k_inNeighbors_locals_lambda, sizeof(__pyx_k_inNeighbors_locals_lambda), 0, 0, 1, 1},
  {&__pyx_n_s_includeInNeighbors, __pyx_k_includeInNeighbors, sizeof(__pyx_k_includeInNeighbors), 0, 0, 1, 1},
  {&__pyx_n_s_includeOutNeighbors, __pyx_k_includeOutNeighbors, sizeof(__pyx_k_includeOutNeighbors), 0, 0, 1, 1},
  {&__pyx_n_s_includeTrail, __pyx_k_includeTrail, sizeof(__pyx_k_includeTrail), 0, 0, 1, 1},
  {&__pyx_n_s_initiator, __pyx_k_initiator, sizeof(__pyx_k_initiator), 0, 0, 1, 1},
  {&__pyx_n_u_initiator, __pyx_k_initiator, sizeof(__pyx_k_initiator), 0, 1, 0, 1},
  {&__pyx_n_s_inverse, __pyx_k_inverse, sizeof(__pyx_k_inverse), 0, 0, 1, 1},
  {&__pyx_n_s_isDirected, __pyx_k_isDirected, sizeof(__pyx_k_isDirected), 0, 0, 1, 1},
  {&__pyx_n_s_isOneClustering, __pyx_k_isOneClustering, sizeof(__pyx_k_isOneClustering), 0, 0, 1, 1},
  {&__pyx_n_s_isProperClustering, __pyx_k_isProperClustering, sizeof(__pyx_k_isProperClustering), 0, 0, 1, 1},
  {&__pyx_n_s_isSingletonClustering, __pyx_k_isSingletonClustering, sizeof(__pyx_k_isSingletonClustering), 0, 0, 1, 1},
  {&__pyx_n_s_is_number, __pyx_k_is_number, sizeof(__pyx_k_is_number), 0, 0, 1, 1},
  {&__pyx_n_s_isolatedSet, __pyx_k_isolatedSet, sizeof(__pyx_k_isolatedSet), 0, 0, 1, 1},
  {&__pyx_n_s_iterEdges, __pyx_k_iterEdges, sizeof(__pyx_k_iterEdges), 0, 0, 1, 1},
  {&__pyx_n_s_iterEdgesWeights, __pyx_k_iterEdgesWeights, sizeof(__pyx_k_iterEdgesWeights), 0, 0, 1, 1},
  {&__pyx_n_s_iterInNeighbors, __pyx_k_iterInNeighbors, sizeof(__pyx_k_iterInNeighbors), 0, 0, 1, 1},
  {&__pyx_n_s_iterNeighbors, __pyx_k_iterNeighbors, sizeof(__pyx_k_iterNeighbors), 0, 0, 1, 1},
  {&__pyx_n_s_iterNodes, __pyx_k_iterNodes, sizeof(__pyx_k_iterNodes), 0, 0, 1, 1},
  {&__pyx_n_s_iterations, __pyx_k_iterations, sizeof(__pyx_k_iterations), 0, 0, 1, 1},
  {&__pyx_n_s_iterativeAlgo, __pyx_k_iterativeAlgo, sizeof(__pyx_k_iterativeAlgo), 0, 0, 1, 1},
  {&__pyx_n_s_j, __pyx_k_j, sizeof(__pyx_k_j), 0, 0, 1, 1},
  {&__pyx_n_s_join, __pyx_k_join, sizeof(__pyx_k_join), 0, 0, 1, 1},
  {&__pyx_n_s_k, __pyx_k_k, sizeof(__pyx_k_k), 0, 0, 1, 1},
  {&__pyx_n_s_key, __pyx_k_key, sizeof(__pyx_k_key), 0, 0, 1, 1},
  {&__pyx_n_s_kronfit, __pyx_k_kronfit, sizeof(__pyx_k_kronfit), 0, 0, 1, 1},
  {&__pyx_n_u_kronfitPath, __pyx_k_kronfitPath, sizeof(__pyx_k_kronfitPath), 0, 1, 0, 1},
  {&__pyx_n_s_kwargs, __pyx_k_kwargs, sizeof(__pyx_k_kwargs), 0, 0, 1, 1},
  {&__pyx_n_s_length, __pyx_k_length, sizeof(__pyx_k_length), 0, 0, 1, 1},
  {&__pyx_n_s_linearSolverType, __pyx_k_linearSolverType, sizeof(__pyx_k_linearSolverType), 0, 0, 1, 1},
  {&__pyx_n_s_log, __pyx_k_log, sizeof(__pyx_k_log), 0, 0, 1, 1},
  {&__pyx_n_s_logarithmic, __pyx_k_logarithmic, sizeof(__pyx_k_logarithmic), 0, 0, 1, 1},
  {&__pyx_n_s_loglevel, __pyx_k_loglevel, sizeof(__pyx_k_loglevel), 0, 0, 1, 1},
  {&__pyx_n_s_lower, __pyx_k_lower, sizeof(__pyx_k_lower), 0, 0, 1, 1},
  {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},
  {&__pyx_n_s_mapped, __pyx_k_mapped, sizeof(__pyx_k_mapped), 0, 0, 1, 1},
  {&__pyx_n_s_math, __pyx_k_math, sizeof(__pyx_k_math), 0, 0, 1, 1},
  {&__pyx_n_s_max, __pyx_k_max, sizeof(__pyx_k_max), 0, 0, 1, 1},
  {&__pyx_n_s_maxCommunitySize, __pyx_k_maxCommunitySize, sizeof(__pyx_k_maxCommunitySize), 0, 0, 1, 1},
  {&__pyx_n_s_maxDeg, __pyx_k_maxDeg, sizeof(__pyx_k_maxDeg), 0, 0, 1, 1},
  {&__pyx_n_s_maxDegree, __pyx_k_maxDegree, sizeof(__pyx_k_maxDegree), 0, 0, 1, 1},
  {&__pyx_n_s_maxDistance, __pyx_k_maxDistance, sizeof(__pyx_k_maxDistance), 0, 0, 1, 1},
  {&__pyx_n_s_maxGamma, __pyx_k_maxGamma, sizeof(__pyx_k_maxGamma), 0, 0, 1, 1},
  {&__pyx_n_s_maxInDegree, __pyx_k_maxInDegree, sizeof(__pyx_k_maxInDegree), 0, 0, 1, 1},
  {&__pyx_n_s_maxIter, __pyx_k_maxIter, sizeof(__pyx_k_maxIter), 0, 0, 1, 1},
  {&__pyx_n_s_maxIterations, __pyx_k_maxIterations, sizeof(__pyx_k_maxIterations), 0, 0, 1, 1},
  {&__pyx_n_s_maxNumberOfNeighbors, __pyx_k_maxNumberOfNeighbors, sizeof(__pyx_k_maxNumberOfNeighbors), 0, 0, 1, 1},
  {&__pyx_n_s_maxPathLength, __pyx_k_maxPathLength, sizeof(__pyx_k_maxPathLength), 0, 0, 1, 1},
  {&__pyx_n_s_maxRank, __pyx_k_maxRank, sizeof(__pyx_k_maxRank), 0, 0, 1, 1},
  {&__pyx_n_s_maxWeightedDegree, __pyx_k_maxWeightedDegree, sizeof(__pyx_k_maxWeightedDegree), 0, 0, 1, 1},
  {&__pyx_n_s_maxWeightedInDegree, __pyx_k_maxWeightedInDegree, sizeof(__pyx_k_maxWeightedInDegree), 0, 0, 1, 1},
  {&__pyx_n_s_maximumOnly, __pyx_k_maximumOnly, sizeof(__pyx_k_maximumOnly), 0, 0, 1, 1},
  {&__pyx_n_s_merge, __pyx_k_merge, sizeof(__pyx_k_merge), 0, 0, 1, 1},
  {&__pyx_n_s_metaclass, __pyx_k_metaclass, sizeof(__pyx_k_metaclass), 0, 0, 1, 1},
  {&__pyx_n_s_min, __pyx_k_min, sizeof(__pyx_k_min), 0, 0, 1, 1},
  {&__pyx_n_s_minCommunitySize, __pyx_k_minCommunitySize, sizeof(__pyx_k_minCommunitySize), 0, 0, 1, 1},
  {&__pyx_n_s_minDeg, __pyx_k_minDeg, sizeof(__pyx_k_minDeg), 0, 0, 1, 1},
  {&__pyx_n_s_minGamma, __pyx_k_minGamma, sizeof(__pyx_k_minGamma), 0, 0, 1, 1},
  {&__pyx_n_s_minScore, __pyx_k_minScore, sizeof(__pyx_k_minScore), 0, 0, 1, 1},
  {&__pyx_n_s_module, __pyx_k_module, sizeof(__pyx_k_module), 0, 0, 1, 1},
  {&__pyx_n_s_move, __pyx_k_move, sizeof(__pyx_k_move), 0, 0, 1, 1},
  {&__pyx_n_s_moveDistance, __pyx_k_moveDistance, sizeof(__pyx_k_moveDistance), 0, 0, 1, 1},
  {&__pyx_n_s_moveEachStep, __pyx_k_moveEachStep, sizeof(__pyx_k_moveEachStep), 0, 0, 1, 1},
  {&__pyx_n_s_moveOut, __pyx_k_moveOut, sizeof(__pyx_k_moveOut), 0, 0, 1, 1},
  {&__pyx_kp_u_moveOut_parameter_is_deprecated, __pyx_k_moveOut_parameter_is_deprecated, sizeof(__pyx_k_moveOut_parameter_is_deprecated), 0, 1, 0, 0},
  {&__pyx_n_s_n, __pyx_k_n, sizeof(__pyx_k_n), 0, 0, 1, 1},
  {&__pyx_n_s_n0, __pyx_k_n0, sizeof(__pyx_k_n0), 0, 0, 1, 1},
  {&__pyx_n_s_nMax, __pyx_k_nMax, sizeof(__pyx_k_nMax), 0, 0, 1, 1},
  {&__pyx_n_s_nNeighbors, __pyx_k_nNeighbors, sizeof(__pyx_k_nNeighbors), 0, 0, 1, 1},
  {&__pyx_n_s_nNodes, __pyx_k_nNodes, sizeof(__pyx_k_nNodes), 0, 0, 1, 1},
  {&__pyx_n_s_nSamples, __pyx_k_nSamples, sizeof(__pyx_k_nSamples), 0, 0, 1, 1},
  {&__pyx_n_s_nThreads, __pyx_k_nThreads, sizeof(__pyx_k_nThreads), 0, 0, 1, 1},
  {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1},
  {&__pyx_n_s_neighborhoodRadius, __pyx_k_neighborhoodRadius, sizeof(__pyx_k_neighborhoodRadius), 0, 0, 1, 1},
  {&__pyx_n_s_neighbors, __pyx_k_neighbors, sizeof(__pyx_k_neighbors), 0, 0, 1, 1},
  {&__pyx_n_s_neighbors_locals_lambda, __pyx_k_neighbors_locals_lambda, sizeof(__pyx_k_neighbors_locals_lambda), 0, 0, 1, 1},
  {&__pyx_kp_u_network_dat, __pyx_k_network_dat, sizeof(__pyx_k_network_dat), 0, 1, 0, 0},
  {&__pyx_n_s_networkit, __pyx_k_networkit, sizeof(__pyx_k_networkit), 0, 0, 1, 1},
  {&__pyx_n_s_networkit__NetworKit, __pyx_k_networkit__NetworKit, sizeof(__pyx_k_networkit__NetworKit), 0, 0, 1, 1},
  {&__pyx_kp_u_networkit__NetworKit, __pyx_k_networkit__NetworKit, sizeof(__pyx_k_networkit__NetworKit), 0, 1, 0, 0},
  {&__pyx_kp_s_networkit__NetworKit_pyx, __pyx_k_networkit__NetworKit_pyx, sizeof(__pyx_k_networkit__NetworKit_pyx), 0, 0, 1, 0},
  {&__pyx_n_s_networkit_exceptions, __pyx_k_networkit_exceptions, sizeof(__pyx_k_networkit_exceptions), 0, 0, 1, 1},
  {&__pyx_n_s_new, __pyx_k_new, sizeof(__pyx_k_new), 0, 0, 1, 1},
  {&__pyx_n_s_noSelfLoops, __pyx_k_noSelfLoops, sizeof(__pyx_k_noSelfLoops), 0, 0, 1, 1},
  {&__pyx_kp_s_no_default___reduce___due_to_non, __pyx_k_no_default___reduce___due_to_non, sizeof(__pyx_k_no_default___reduce___due_to_non), 0, 0, 1, 0},
  {&__pyx_n_s_node, __pyx_k_node, sizeof(__pyx_k_node), 0, 0, 1, 1},
  {&__pyx_n_s_nodeCount, __pyx_k_nodeCount, sizeof(__pyx_k_nodeCount), 0, 0, 1, 1},
  {&__pyx_n_s_nodeDegreeExp, __pyx_k_nodeDegreeExp, sizeof(__pyx_k_nodeDegreeExp), 0, 0, 1, 1},
  {&__pyx_n_s_nodeIdMap, __pyx_k_nodeIdMap, sizeof(__pyx_k_nodeIdMap), 0, 0, 1, 1},
  {&__pyx_n_s_nodeMap, __pyx_k_nodeMap, sizeof(__pyx_k_nodeMap), 0, 0, 1, 1},
  {&__pyx_n_s_nodeToMetaNode, __pyx_k_nodeToMetaNode, sizeof(__pyx_k_nodeToMetaNode), 0, 0, 1, 1},
  {&__pyx_n_s_nodes, __pyx_k_nodes, sizeof(__pyx_k_nodes), 0, 0, 1, 1},
  {&__pyx_n_s_none, __pyx_k_none, sizeof(__pyx_k_none), 0, 0, 1, 1},
  {&__pyx_n_s_norm, __pyx_k_norm, sizeof(__pyx_k_norm), 0, 0, 1, 1},
  {&__pyx_n_s_normalized, __pyx_k_normalized, sizeof(__pyx_k_normalized), 0, 0, 1, 1},
  {&__pyx_n_s_numEdges, __pyx_k_numEdges, sizeof(__pyx_k_numEdges), 0, 0, 1, 1},
  {&__pyx_n_s_numLinks, __pyx_k_numLinks, sizeof(__pyx_k_numLinks), 0, 0, 1, 1},
  {&__pyx_n_s_numNodes, __pyx_k_numNodes, sizeof(__pyx_k_numNodes), 0, 0, 1, 1},
  {&__pyx_n_s_numThresholds, __pyx_k_numThresholds, sizeof(__pyx_k_numThresholds), 0, 0, 1, 1},
  {&__pyx_n_s_num_global_trades, __pyx_k_num_global_trades, sizeof(__pyx_k_num_global_trades), 0, 0, 1, 1},
  {&__pyx_n_s_num_nodes, __pyx_k_num_nodes, sizeof(__pyx_k_num_nodes), 0, 0, 1, 1},
  {&__pyx_n_s_num_trades, __pyx_k_num_trades, sizeof(__pyx_k_num_trades), 0, 0, 1, 1},
  {&__pyx_n_s_numberIterations, __pyx_k_numberIterations, sizeof(__pyx_k_numberIterations), 0, 0, 1, 1},
  {&__pyx_n_s_numberOfDenseAreas, __pyx_k_numberOfDenseAreas, sizeof(__pyx_k_numberOfDenseAreas), 0, 0, 1, 1},
  {&__pyx_n_s_numberOfEdges, __pyx_k_numberOfEdges, sizeof(__pyx_k_numberOfEdges), 0, 0, 1, 1},
  {&__pyx_n_s_numberOfNodes, __pyx_k_numberOfNodes, sizeof(__pyx_k_numberOfNodes), 0, 0, 1, 1},
  {&__pyx_n_s_numberOfPivots, __pyx_k_numberOfPivots, sizeof(__pyx_k_numberOfPivots), 0, 0, 1, 1},
  {&__pyx_n_s_numberSystems, __pyx_k_numberSystems, sizeof(__pyx_k_numberSystems), 0, 0, 1, 1},
  {&__pyx_n_s_number_of_global_rounds, __pyx_k_number_of_global_rounds, sizeof(__pyx_k_number_of_global_rounds), 0, 0, 1, 1},
  {&__pyx_n_s_numpy, __pyx_k_numpy, sizeof(__pyx_k_numpy), 0, 0, 1, 1},
  {&__pyx_kp_u_o, __pyx_k_o, sizeof(__pyx_k_o), 0, 1, 0, 0},
  {&__pyx_n_s_object, __pyx_k_object, sizeof(__pyx_k_object), 0, 0, 1, 1},
  {&__pyx_n_s_offset, __pyx_k_offset, sizeof(__pyx_k_offset), 0, 0, 1, 1},
  {&__pyx_n_s_omega, __pyx_k_omega, sizeof(__pyx_k_omega), 0, 0, 1, 1},
  {&__pyx_n_s_open, __pyx_k_open, sizeof(__pyx_k_open), 0, 0, 1, 1},
  {&__pyx_n_s_os, __pyx_k_os, sizeof(__pyx_k_os), 0, 0, 1, 1},
  {&__pyx_n_s_outDeg, __pyx_k_outDeg, sizeof(__pyx_k_outDeg), 0, 0, 1, 1},
  {&__pyx_n_s_p, __pyx_k_p, sizeof(__pyx_k_p), 0, 0, 1, 1},
  {&__pyx_n_s_pandas, __pyx_k_pandas, sizeof(__pyx_k_pandas), 0, 0, 1, 1},
  {&__pyx_n_s_par, __pyx_k_par, sizeof(__pyx_k_par), 0, 0, 1, 1},
  {&__pyx_n_s_parallel, __pyx_k_parallel, sizeof(__pyx_k_parallel), 0, 0, 1, 1},
  {&__pyx_n_s_params, __pyx_k_params, sizeof(__pyx_k_params), 0, 0, 1, 1},
  {&__pyx_n_s_path, __pyx_k_path, sizeof(__pyx_k_path), 0, 0, 1, 1},
  {&__pyx_n_s_paths, __pyx_k_paths, sizeof(__pyx_k_paths), 0, 0, 1, 1},
  {&__pyx_n_s_percentage, __pyx_k_percentage, sizeof(__pyx_k_percentage), 0, 0, 1, 1},
  {&__pyx_n_s_percentageLinks, __pyx_k_percentageLinks, sizeof(__pyx_k_percentageLinks), 0, 0, 1, 1},
  {&__pyx_n_s_pf, __pyx_k_pf, sizeof(__pyx_k_pf), 0, 0, 1, 1},
  {&__pyx_n_s_pickle, __pyx_k_pickle, sizeof(__pyx_k_pickle), 0, 0, 1, 1},
  {&__pyx_n_s_pin, __pyx_k_pin, sizeof(__pyx_k_pin), 0, 0, 1, 1},
  {&__pyx_n_s_plfit, __pyx_k_plfit, sizeof(__pyx_k_plfit), 0, 0, 1, 1},
  {&__pyx_n_s_pout, __pyx_k_pout, sizeof(__pyx_k_pout), 0, 0, 1, 1},
  {&__pyx_n_s_predCopy, __pyx_k_predCopy, sizeof(__pyx_k_predCopy), 0, 0, 1, 1},
  {&__pyx_n_s_predictions, __pyx_k_predictions, sizeof(__pyx_k_predictions), 0, 0, 1, 1},
  {&__pyx_n_s_prepare, __pyx_k_prepare, sizeof(__pyx_k_prepare), 0, 0, 1, 1},
  {&__pyx_n_s_print, __pyx_k_print, sizeof(__pyx_k_print), 0, 0, 1, 1},
  {&__pyx_n_s_prob, __pyx_k_prob, sizeof(__pyx_k_prob), 0, 0, 1, 1},
  {&__pyx_n_s_prolong, __pyx_k_prolong, sizeof(__pyx_k_prolong), 0, 0, 1, 1},
  {&__pyx_n_s_pyResult, __pyx_k_pyResult, sizeof(__pyx_k_pyResult), 0, 0, 1, 1},
  {&__pyx_n_s_pybytes, __pyx_k_pybytes, sizeof(__pyx_k_pybytes), 0, 0, 1, 1},
  {&__pyx_n_s_pystring, __pyx_k_pystring, sizeof(__pyx_k_pystring), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_PickleError, __pyx_k_pyx_PickleError, sizeof(__pyx_k_pyx_PickleError), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_checksum, __pyx_k_pyx_checksum, sizeof(__pyx_k_pyx_checksum), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_result, __pyx_k_pyx_result, sizeof(__pyx_k_pyx_result), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_state, __pyx_k_pyx_state, sizeof(__pyx_k_pyx_state), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_type, __pyx_k_pyx_type, sizeof(__pyx_k_pyx_type), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_unpickle_ClusteringCoeffic, __pyx_k_pyx_unpickle_ClusteringCoeffic, sizeof(__pyx_k_pyx_unpickle_ClusteringCoeffic), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_unpickle_DissimilarityMeas, __pyx_k_pyx_unpickle_DissimilarityMeas, sizeof(__pyx_k_pyx_unpickle_DissimilarityMeas), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_unpickle_Eccentricity, __pyx_k_pyx_unpickle_Eccentricity, sizeof(__pyx_k_pyx_unpickle_Eccentricity), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_unpickle_GraphClusteringTo, __pyx_k_pyx_unpickle_GraphClusteringTo, sizeof(__pyx_k_pyx_unpickle_GraphClusteringTo), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_unpickle_GraphTools, __pyx_k_pyx_unpickle_GraphTools, sizeof(__pyx_k_pyx_unpickle_GraphTools), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_unpickle_LinkThresholder, __pyx_k_pyx_unpickle_LinkThresholder, sizeof(__pyx_k_pyx_unpickle_LinkThresholder), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_unpickle_NeighborhoodUtili, __pyx_k_pyx_unpickle_NeighborhoodUtili, sizeof(__pyx_k_pyx_unpickle_NeighborhoodUtili), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_unpickle_PredictionsSorter, __pyx_k_pyx_unpickle_PredictionsSorter, sizeof(__pyx_k_pyx_unpickle_PredictionsSorter), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_unpickle_RandomLinkSampler, __pyx_k_pyx_unpickle_RandomLinkSampler, sizeof(__pyx_k_pyx_unpickle_RandomLinkSampler), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_unpickle_Traversal, __pyx_k_pyx_unpickle_Traversal, sizeof(__pyx_k_pyx_unpickle_Traversal), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_unpickle_Volume, __pyx_k_pyx_unpickle_Volume, sizeof(__pyx_k_pyx_unpickle_Volume), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_vtable, __pyx_k_pyx_vtable, sizeof(__pyx_k_pyx_vtable), 0, 0, 1, 1},
  {&__pyx_n_s_quality, __pyx_k_quality, sizeof(__pyx_k_quality), 0, 0, 1, 1},
  {&__pyx_n_s_qualname, __pyx_k_qualname, sizeof(__pyx_k_qualname), 0, 0, 1, 1},
  {&__pyx_n_s_r, __pyx_k_r, sizeof(__pyx_k_r), 0, 0, 1, 1},
  {&__pyx_n_s_r_2, __pyx_k_r_2, sizeof(__pyx_k_r_2), 0, 0, 1, 1},
  {&__pyx_n_s_radii, __pyx_k_radii, sizeof(__pyx_k_radii), 0, 0, 1, 1},
  {&__pyx_n_s_random, __pyx_k_random, sizeof(__pyx_k_random), 0, 0, 1, 1},
  {&__pyx_n_s_randomEdge, __pyx_k_randomEdge, sizeof(__pyx_k_randomEdge), 0, 0, 1, 1},
  {&__pyx_n_s_randomEdges, __pyx_k_randomEdges, sizeof(__pyx_k_randomEdges), 0, 0, 1, 1},
  {&__pyx_n_s_randomNeighbor, __pyx_k_randomNeighbor, sizeof(__pyx_k_randomNeighbor), 0, 0, 1, 1},
  {&__pyx_n_s_randomNode, __pyx_k_randomNode, sizeof(__pyx_k_randomNode), 0, 0, 1, 1},
  {&__pyx_kp_u_random_nodes_to_delete_to_achiev, __pyx_k_random_nodes_to_delete_to_achiev, sizeof(__pyx_k_random_nodes_to_delete_to_achiev), 0, 1, 0, 0},
  {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1},
  {&__pyx_n_s_ranked, __pyx_k_ranked, sizeof(__pyx_k_ranked), 0, 0, 1, 1},
  {&__pyx_n_s_ratio, __pyx_k_ratio, sizeof(__pyx_k_ratio), 0, 0, 1, 1},
  {&__pyx_n_s_re, __pyx_k_re, sizeof(__pyx_k_re), 0, 0, 1, 1},
  {&__pyx_n_s_readGraph, __pyx_k_readGraph, sizeof(__pyx_k_readGraph), 0, 0, 1, 1},
  {&__pyx_n_s_recurse, __pyx_k_recurse, sizeof(__pyx_k_recurse), 0, 0, 1, 1},
  {&__pyx_n_s_reduce, __pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 0, 1, 1},
  {&__pyx_n_s_reduceNodes, __pyx_k_reduceNodes, sizeof(__pyx_k_reduceNodes), 0, 0, 1, 1},
  {&__pyx_n_s_reduce_cython, __pyx_k_reduce_cython, sizeof(__pyx_k_reduce_cython), 0, 0, 1, 1},
  {&__pyx_n_s_reduce_ex, __pyx_k_reduce_ex, sizeof(__pyx_k_reduce_ex), 0, 0, 1, 1},
  {&__pyx_n_u_refImplDir, __pyx_k_refImplDir, sizeof(__pyx_k_refImplDir), 0, 1, 0, 1},
  {&__pyx_n_u_refImplParams, __pyx_k_refImplParams, sizeof(__pyx_k_refImplParams), 0, 1, 0, 1},
  {&__pyx_n_s_reference, __pyx_k_reference, sizeof(__pyx_k_reference), 0, 0, 1, 1},
  {&__pyx_n_s_refine, __pyx_k_refine, sizeof(__pyx_k_refine), 0, 0, 1, 1},
  {&__pyx_n_s_remapNodes, __pyx_k_remapNodes, sizeof(__pyx_k_remapNodes), 0, 0, 1, 1},
  {&__pyx_n_s_removeEdgesFromIsolatedSet, __pyx_k_removeEdgesFromIsolatedSet, sizeof(__pyx_k_removeEdgesFromIsolatedSet), 0, 0, 1, 1},
  {&__pyx_n_s_res, __pyx_k_res, sizeof(__pyx_k_res), 0, 0, 1, 1},
  {&__pyx_n_s_result, __pyx_k_result, sizeof(__pyx_k_result), 0, 0, 1, 1},
  {&__pyx_n_s_ret, __pyx_k_ret, sizeof(__pyx_k_ret), 0, 0, 1, 1},
  {&__pyx_n_s_rs, __pyx_k_rs, sizeof(__pyx_k_rs), 0, 0, 1, 1},
  {&__pyx_n_s_run, __pyx_k_run, sizeof(__pyx_k_run), 0, 0, 1, 1},
  {&__pyx_n_s_s, __pyx_k_s, sizeof(__pyx_k_s), 0, 0, 1, 1},
  {&__pyx_n_s_s1, __pyx_k_s1, sizeof(__pyx_k_s1), 0, 0, 1, 1},
  {&__pyx_n_s_s2, __pyx_k_s2, sizeof(__pyx_k_s2), 0, 0, 1, 1},
  {&__pyx_n_s_sample, __pyx_k_sample, sizeof(__pyx_k_sample), 0, 0, 1, 1},
  {&__pyx_n_s_samples, __pyx_k_samples, sizeof(__pyx_k_samples), 0, 0, 1, 1},
  {&__pyx_n_s_scale, __pyx_k_scale, sizeof(__pyx_k_scale), 0, 0, 1, 1},
  {&__pyx_n_s_score, __pyx_k_score, sizeof(__pyx_k_score), 0, 0, 1, 1},
  {&__pyx_kp_u_score_must_be_either_a_vector_of, __pyx_k_score_must_be_either_a_vector_of, sizeof(__pyx_k_score_must_be_either_a_vector_of), 0, 1, 0, 0},
  {&__pyx_n_s_scores, __pyx_k_scores, sizeof(__pyx_k_scores), 0, 0, 1, 1},
  {&__pyx_n_s_sec_heu, __pyx_k_sec_heu, sizeof(__pyx_k_sec_heu), 0, 0, 1, 1},
  {&__pyx_n_s_second, __pyx_k_second, sizeof(__pyx_k_second), 0, 0, 1, 1},
  {&__pyx_n_s_seed, __pyx_k_seed, sizeof(__pyx_k_seed), 0, 0, 1, 1},
  {&__pyx_n_s_selection, __pyx_k_selection, sizeof(__pyx_k_selection), 0, 0, 1, 1},
  {&__pyx_n_s_self, __pyx_k_self, sizeof(__pyx_k_self), 0, 0, 1, 1},
  {&__pyx_n_s_selfLoops, __pyx_k_selfLoops, sizeof(__pyx_k_selfLoops), 0, 0, 1, 1},
  {&__pyx_kp_s_self__this_cannot_be_converted_t, __pyx_k_self__this_cannot_be_converted_t, sizeof(__pyx_k_self__this_cannot_be_converted_t), 0, 0, 1, 0},
  {&__pyx_n_s_send, __pyx_k_send, sizeof(__pyx_k_send), 0, 0, 1, 1},
  {&__pyx_n_s_sepChar, __pyx_k_sepChar, sizeof(__pyx_k_sepChar), 0, 0, 1, 1},
  {&__pyx_n_s_separator, __pyx_k_separator, sizeof(__pyx_k_separator), 0, 0, 1, 1},
  {&__pyx_kp_u_separator_has_to_be_exactly_one, __pyx_k_separator_has_to_be_exactly_one, sizeof(__pyx_k_separator_has_to_be_exactly_one), 0, 1, 0, 0},
  {&__pyx_n_s_sequentialAvgLocal, __pyx_k_sequentialAvgLocal, sizeof(__pyx_k_sequentialAvgLocal), 0, 0, 1, 1},
  {&__pyx_n_s_setDegreeSequence, __pyx_k_setDegreeSequence, sizeof(__pyx_k_setDegreeSequence), 0, 0, 1, 1},
  {&__pyx_n_s_setGammaFromAverageDegree, __pyx_k_setGammaFromAverageDegree, sizeof(__pyx_k_setGammaFromAverageDegree), 0, 0, 1, 1},
  {&__pyx_n_s_setLogLevel, __pyx_k_setLogLevel, sizeof(__pyx_k_setLogLevel), 0, 0, 1, 1},
  {&__pyx_n_s_setMinimumFromAverageDegree, __pyx_k_setMinimumFromAverageDegree, sizeof(__pyx_k_setMinimumFromAverageDegree), 0, 0, 1, 1},
  {&__pyx_n_s_setMu, __pyx_k_setMu, sizeof(__pyx_k_setMu), 0, 0, 1, 1},
  {&__pyx_n_s_setNumberOfThreads, __pyx_k_setNumberOfThreads, sizeof(__pyx_k_setNumberOfThreads), 0, 0, 1, 1},
  {&__pyx_n_s_setPartition, __pyx_k_setPartition, sizeof(__pyx_k_setPartition), 0, 0, 1, 1},
  {&__pyx_n_s_setPathToReferenceImplementation, __pyx_k_setPathToReferenceImplementation, sizeof(__pyx_k_setPathToReferenceImplementation), 0, 0, 1, 1},
  {&__pyx_n_s_setPaths, __pyx_k_setPaths, sizeof(__pyx_k_setPaths), 0, 0, 1, 1},
  {&__pyx_n_s_setPrintLocation, __pyx_k_setPrintLocation, sizeof(__pyx_k_setPrintLocation), 0, 0, 1, 1},
  {&__pyx_n_s_setSeed, __pyx_k_setSeed, sizeof(__pyx_k_setSeed), 0, 0, 1, 1},
  {&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1},
  {&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1},
  {&__pyx_n_s_sink, __pyx_k_sink, sizeof(__pyx_k_sink), 0, 0, 1, 1},
  {&__pyx_n_s_size, __pyx_k_size, sizeof(__pyx_k_size), 0, 0, 1, 1},
  {&__pyx_n_s_sort2, __pyx_k_sort2, sizeof(__pyx_k_sort2), 0, 0, 1, 1},
  {&__pyx_n_s_sortByNodePair, __pyx_k_sortByNodePair, sizeof(__pyx_k_sortByNodePair), 0, 0, 1, 1},
  {&__pyx_n_s_sortByScore, __pyx_k_sortByScore, sizeof(__pyx_k_sortByScore), 0, 0, 1, 1},
  {&__pyx_n_s_sorted_list, __pyx_k_sorted_list, sizeof(__pyx_k_sorted_list), 0, 0, 1, 1},
  {&__pyx_n_s_source, __pyx_k_source, sizeof(__pyx_k_source), 0, 0, 1, 1},
  {&__pyx_n_s_sources, __pyx_k_sources, sizeof(__pyx_k_sources), 0, 0, 1, 1},
  {&__pyx_n_s_split, __pyx_k_split, sizeof(__pyx_k_split), 0, 0, 1, 1},
  {&__pyx_n_s_squared, __pyx_k_squared, sizeof(__pyx_k_squared), 0, 0, 1, 1},
  {&__pyx_n_s_start, __pyx_k_start, sizeof(__pyx_k_start), 0, 0, 1, 1},
  {&__pyx_n_s_startFactor, __pyx_k_startFactor, sizeof(__pyx_k_startFactor), 0, 0, 1, 1},
  {&__pyx_n_u_state, __pyx_k_state, sizeof(__pyx_k_state), 0, 1, 0, 1},
  {&__pyx_n_s_staticmethod, __pyx_k_staticmethod, sizeof(__pyx_k_staticmethod), 0, 0, 1, 1},
  {&__pyx_n_s_stdstring, __pyx_k_stdstring, sizeof(__pyx_k_stdstring), 0, 0, 1, 1},
  {&__pyx_n_s_storeNodeOrder, __pyx_k_storeNodeOrder, sizeof(__pyx_k_storeNodeOrder), 0, 0, 1, 1},
  {&__pyx_n_s_storeNodesSortedByDistance, __pyx_k_storeNodesSortedByDistance, sizeof(__pyx_k_storeNodesSortedByDistance), 0, 0, 1, 1},
  {&__pyx_n_s_storePaths, __pyx_k_storePaths, sizeof(__pyx_k_storePaths), 0, 0, 1, 1},
  {&__pyx_n_s_storePred, __pyx_k_storePred, sizeof(__pyx_k_storePred), 0, 0, 1, 1},
  {&__pyx_n_s_storePredecessors, __pyx_k_storePredecessors, sizeof(__pyx_k_storePredecessors), 0, 0, 1, 1},
  {&__pyx_n_s_strategy, __pyx_k_strategy, sizeof(__pyx_k_strategy), 0, 0, 1, 1},
  {&__pyx_n_s_stream, __pyx_k_stream, sizeof(__pyx_k_stream), 0, 0, 1, 1},
  {&__pyx_kp_s_stringsource, __pyx_k_stringsource, sizeof(__pyx_k_stringsource), 0, 0, 1, 0},
  {&__pyx_n_s_strip, __pyx_k_strip, sizeof(__pyx_k_strip), 0, 0, 1, 1},
  {&__pyx_n_s_subgraphFromNodes, __pyx_k_subgraphFromNodes, sizeof(__pyx_k_subgraphFromNodes), 0, 0, 1, 1},
  {&__pyx_n_s_subprocess, __pyx_k_subprocess, sizeof(__pyx_k_subprocess), 0, 0, 1, 1},
  {&__pyx_n_s_subsetSizes, __pyx_k_subsetSizes, sizeof(__pyx_k_subsetSizes), 0, 0, 1, 1},
  {&__pyx_n_s_sum, __pyx_k_sum, sizeof(__pyx_k_sum), 0, 0, 1, 1},
  {&__pyx_n_s_summ, __pyx_k_summ, sizeof(__pyx_k_summ), 0, 0, 1, 1},
  {&__pyx_n_s_system, __pyx_k_system, sizeof(__pyx_k_system), 0, 0, 1, 1},
  {&__pyx_n_s_t, __pyx_k_t, sizeof(__pyx_k_t), 0, 0, 1, 1},
  {&__pyx_n_s_t1, __pyx_k_t1, sizeof(__pyx_k_t1), 0, 0, 1, 1},
  {&__pyx_n_s_t2, __pyx_k_t2, sizeof(__pyx_k_t2), 0, 0, 1, 1},
  {&__pyx_n_s_tMax, __pyx_k_tMax, sizeof(__pyx_k_tMax), 0, 0, 1, 1},
  {&__pyx_n_s_target, __pyx_k_target, sizeof(__pyx_k_target), 0, 0, 1, 1},
  {&__pyx_n_s_tebr, __pyx_k_tebr, sizeof(__pyx_k_tebr), 0, 0, 1, 1},
  {&__pyx_n_s_tempfile, __pyx_k_tempfile, sizeof(__pyx_k_tempfile), 0, 0, 1, 1},
  {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
  {&__pyx_n_s_testGraph, __pyx_k_testGraph, sizeof(__pyx_k_testGraph), 0, 0, 1, 1},
  {&__pyx_n_s_third, __pyx_k_third, sizeof(__pyx_k_third), 0, 0, 1, 1},
  {&__pyx_n_s_throw, __pyx_k_throw, sizeof(__pyx_k_throw), 0, 0, 1, 1},
  {&__pyx_n_u_time, __pyx_k_time, sizeof(__pyx_k_time), 0, 1, 0, 1},
  {&__pyx_n_s_toString, __pyx_k_toString, sizeof(__pyx_k_toString), 0, 0, 1, 1},
  {&__pyx_n_s_toUndirected, __pyx_k_toUndirected, sizeof(__pyx_k_toUndirected), 0, 0, 1, 1},
  {&__pyx_n_s_toUnweighted, __pyx_k_toUnweighted, sizeof(__pyx_k_toUnweighted), 0, 0, 1, 1},
  {&__pyx_n_s_toWeighted, __pyx_k_toWeighted, sizeof(__pyx_k_toWeighted), 0, 0, 1, 1},
  {&__pyx_n_s_tol, __pyx_k_tol, sizeof(__pyx_k_tol), 0, 0, 1, 1},
  {&__pyx_n_s_tolerance, __pyx_k_tolerance, sizeof(__pyx_k_tolerance), 0, 0, 1, 1},
  {&__pyx_n_s_transP, __pyx_k_transP, sizeof(__pyx_k_transP), 0, 0, 1, 1},
  {&__pyx_n_s_transpose, __pyx_k_transpose, sizeof(__pyx_k_transpose), 0, 0, 1, 1},
  {&__pyx_n_s_trials, __pyx_k_trials, sizeof(__pyx_k_trials), 0, 0, 1, 1},
  {&__pyx_n_s_triangles, __pyx_k_triangles, sizeof(__pyx_k_triangles), 0, 0, 1, 1},
  {&__pyx_n_s_triangles_2, __pyx_k_triangles_2, sizeof(__pyx_k_triangles_2), 0, 0, 1, 1},
  {&__pyx_n_s_turbo, __pyx_k_turbo, sizeof(__pyx_k_turbo), 0, 0, 1, 1},
  {&__pyx_n_s_type, __pyx_k_type, sizeof(__pyx_k_type), 0, 0, 1, 1},
  {&__pyx_n_s_u, __pyx_k_u, sizeof(__pyx_k_u), 0, 0, 1, 1},
  {&__pyx_n_s_uniformDistribution, __pyx_k_uniformDistribution, sizeof(__pyx_k_uniformDistribution), 0, 0, 1, 1},
  {&__pyx_n_s_unionSample, __pyx_k_unionSample, sizeof(__pyx_k_unionSample), 0, 0, 1, 1},
  {&__pyx_n_s_universalConstant, __pyx_k_universalConstant, sizeof(__pyx_k_universalConstant), 0, 0, 1, 1},
  {&__pyx_n_s_update, __pyx_k_update, sizeof(__pyx_k_update), 0, 0, 1, 1},
  {&__pyx_n_s_updateThreshold, __pyx_k_updateThreshold, sizeof(__pyx_k_updateThreshold), 0, 0, 1, 1},
  {&__pyx_n_s_upper, __pyx_k_upper, sizeof(__pyx_k_upper), 0, 0, 1, 1},
  {&__pyx_n_s_upperBound, __pyx_k_upperBound, sizeof(__pyx_k_upperBound), 0, 0, 1, 1},
  {&__pyx_n_s_useBFSbound, __pyx_k_useBFSbound, sizeof(__pyx_k_useBFSbound), 0, 0, 1, 1},
  {&__pyx_n_s_useGraphBuilder, __pyx_k_useGraphBuilder, sizeof(__pyx_k_useGraphBuilder), 0, 0, 1, 1},
  {&__pyx_n_s_useReferenceImplementation, __pyx_k_useReferenceImplementation, sizeof(__pyx_k_useReferenceImplementation), 0, 0, 1, 1},
  {&__pyx_n_s_useThreadId, __pyx_k_useThreadId, sizeof(__pyx_k_useThreadId), 0, 0, 1, 1},
  {&__pyx_n_s_useTurbo, __pyx_k_useTurbo, sizeof(__pyx_k_useTurbo), 0, 0, 1, 1},
  {&__pyx_kp_u_using_initiator_matrix_0_1_2_3, __pyx_k_using_initiator_matrix_0_1_2_3, sizeof(__pyx_k_using_initiator_matrix_0_1_2_3), 0, 1, 0, 0},
  {&__pyx_kp_u_utf_8, __pyx_k_utf_8, sizeof(__pyx_k_utf_8), 0, 1, 0, 0},
  {&__pyx_n_s_v, __pyx_k_v, sizeof(__pyx_k_v), 0, 0, 1, 1},
  {&__pyx_n_s_v_2, __pyx_k_v_2, sizeof(__pyx_k_v_2), 0, 0, 1, 1},
  {&__pyx_n_s_value, __pyx_k_value, sizeof(__pyx_k_value), 0, 0, 1, 1},
  {&__pyx_n_s_values, __pyx_k_values, sizeof(__pyx_k_values), 0, 0, 1, 1},
  {&__pyx_n_s_vanilla, __pyx_k_vanilla, sizeof(__pyx_k_vanilla), 0, 0, 1, 1},
  {&__pyx_n_s_volume, __pyx_k_volume, sizeof(__pyx_k_volume), 0, 0, 1, 1},
  {&__pyx_n_s_volume_locals_genexpr, __pyx_k_volume_locals_genexpr, sizeof(__pyx_k_volume_locals_genexpr), 0, 0, 1, 1},
  {&__pyx_n_s_volume_locals_is_number, __pyx_k_volume_locals_is_number, sizeof(__pyx_k_volume_locals_is_number), 0, 0, 1, 1},
  {&__pyx_n_s_vs, __pyx_k_vs, sizeof(__pyx_k_vs), 0, 0, 1, 1},
  {&__pyx_n_s_w, __pyx_k_w, sizeof(__pyx_k_w), 0, 0, 1, 1},
  {&__pyx_n_s_warn, __pyx_k_warn, sizeof(__pyx_k_warn), 0, 0, 1, 1},
  {&__pyx_n_s_warnings, __pyx_k_warnings, sizeof(__pyx_k_warnings), 0, 0, 1, 1},
  {&__pyx_n_s_weighted, __pyx_k_weighted, sizeof(__pyx_k_weighted), 0, 0, 1, 1},
  {&__pyx_n_s_weightedDegreeWithCluster, __pyx_k_weightedDegreeWithCluster, sizeof(__pyx_k_weightedDegreeWithCluster), 0, 0, 1, 1},
  {&__pyx_n_s_width, __pyx_k_width, sizeof(__pyx_k_width), 0, 0, 1, 1},
  {&__pyx_n_s_withEdgeScores, __pyx_k_withEdgeScores, sizeof(__pyx_k_withEdgeScores), 0, 0, 1, 1},
  {&__pyx_n_s_wrapper, __pyx_k_wrapper, sizeof(__pyx_k_wrapper), 0, 0, 1, 1},
  {&__pyx_n_s_writeGraph, __pyx_k_writeGraph, sizeof(__pyx_k_writeGraph), 0, 0, 1, 1},
  {&__pyx_n_s_z, __pyx_k_z, sizeof(__pyx_k_z), 0, 0, 1, 1},
  {&__pyx_n_s_zero, __pyx_k_zero, sizeof(__pyx_k_zero), 0, 0, 1, 1},
  {&__pyx_n_u_zero, __pyx_k_zero, sizeof(__pyx_k_zero), 0, 1, 0, 1},
  {&__pyx_n_s_zeta, __pyx_k_zeta, sizeof(__pyx_k_zeta), 0, 0, 1, 1},
  {&__pyx_n_s_zetaCoarse, __pyx_k_zetaCoarse, sizeof(__pyx_k_zetaCoarse), 0, 0, 1, 1},
  {0, 0, 0, 0, 0, 0, 0}
};
static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {
  __pyx_builtin_staticmethod = __Pyx_GetBuiltinName(__pyx_n_s_staticmethod); if (!__pyx_builtin_staticmethod) __PYX_ERR(0, 5079, __pyx_L1_error)
  __pyx_builtin_object = __Pyx_GetBuiltinName(__pyx_n_s_object); if (!__pyx_builtin_object) __PYX_ERR(0, 7205, __pyx_L1_error)
  __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(0, 104, __pyx_L1_error)
  __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(1, 2, __pyx_L1_error)
  __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 287, __pyx_L1_error)
  __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 2920, __pyx_L1_error)
  __pyx_builtin_open = __Pyx_GetBuiltinName(__pyx_n_s_open); if (!__pyx_builtin_open) __PYX_ERR(0, 3116, __pyx_L1_error)
  __pyx_builtin_print = __Pyx_GetBuiltinName(__pyx_n_s_print); if (!__pyx_builtin_print) __PYX_ERR(0, 3127, __pyx_L1_error)
  __pyx_builtin_sum = __Pyx_GetBuiltinName(__pyx_n_s_sum); if (!__pyx_builtin_sum) __PYX_ERR(0, 3125, __pyx_L1_error)
  __pyx_builtin_max = __Pyx_GetBuiltinName(__pyx_n_s_max); if (!__pyx_builtin_max) __PYX_ERR(0, 3513, __pyx_L1_error)
  __pyx_builtin_min = __Pyx_GetBuiltinName(__pyx_n_s_min); if (!__pyx_builtin_min) __PYX_ERR(0, 3528, __pyx_L1_error)
  __pyx_builtin___import__ = __Pyx_GetBuiltinName(__pyx_n_s_import); if (!__pyx_builtin___import__) __PYX_ERR(0, 5741, __pyx_L1_error)
  __pyx_builtin_DeprecationWarning = __Pyx_GetBuiltinName(__pyx_n_s_DeprecationWarning); if (!__pyx_builtin_DeprecationWarning) __PYX_ERR(0, 8653, __pyx_L1_error)
  __pyx_builtin_BaseException = __Pyx_GetBuiltinName(__pyx_n_s_BaseException); if (!__pyx_builtin_BaseException) __PYX_ERR(0, 9847, __pyx_L1_error)
  return 0;
  __pyx_L1_error:;
  return -1;
}

static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);

  /* "networkit/_NetworKit.pyx":104
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == Algorithm:
 * 			raise RuntimeError("Error, you may not use Algorithm directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def __cinit__(self, *args, **namedargs):
 */
  __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_u_Error_you_may_not_use_Algorithm); if (unlikely(!__pyx_tuple_)) __PYX_ERR(0, 104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple_);
  __Pyx_GIVEREF(__pyx_tuple_);

  /* "networkit/_NetworKit.pyx":124
 * 		"""
 * 		if self._this == NULL:
 * 			raise RuntimeError("Error, object not properly initialized")             # <<<<<<<<<<<<<<
 * 		with nogil:
 * 			self._this.run()
 */
  __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_u_Error_object_not_properly_initia); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__2);
  __Pyx_GIVEREF(__pyx_tuple__2);

  /* "(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_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__3);
  __Pyx_GIVEREF(__pyx_tuple__3);

  /* "(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_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__4);
  __Pyx_GIVEREF(__pyx_tuple__4);

  /* "networkit/_NetworKit.pyx":179
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == StaticGraphGenerator:
 * 			raise RuntimeError("Error, you may not use StaticGraphGenerator directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def __cinit__(self, *args, **namedargs):
 */
  __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_u_Error_you_may_not_use_StaticGrap); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__5);
  __Pyx_GIVEREF(__pyx_tuple__5);

  /* "(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_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__6);
  __Pyx_GIVEREF(__pyx_tuple__6);

  /* "(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_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__7);
  __Pyx_GIVEREF(__pyx_tuple__7);

  /* "(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_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__8);
  __Pyx_GIVEREF(__pyx_tuple__8);

  /* "(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_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__9);
  __Pyx_GIVEREF(__pyx_tuple__9);

  /* "networkit/_NetworKit.pyx":1586
 * 	"""
 * 		if type(self) == STSP:
 * 			raise RuntimeError("Error, you may not use STSP directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def getPath(self):
 */
  __pyx_tuple__10 = PyTuple_Pack(1, __pyx_kp_u_Error_you_may_not_use_STSP_direc); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(0, 1586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__10);
  __Pyx_GIVEREF(__pyx_tuple__10);

  /* "(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_tuple__11 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__11);
  __Pyx_GIVEREF(__pyx_tuple__11);

  /* "(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_tuple__12 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__12)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__12);
  __Pyx_GIVEREF(__pyx_tuple__12);

  /* "(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_tuple__13 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__13)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__13);
  __Pyx_GIVEREF(__pyx_tuple__13);

  /* "(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_tuple__14 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__14)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__14);
  __Pyx_GIVEREF(__pyx_tuple__14);

  /* "(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_tuple__15 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__15);
  __Pyx_GIVEREF(__pyx_tuple__15);

  /* "(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_tuple__16 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__16);
  __Pyx_GIVEREF(__pyx_tuple__16);

  /* "(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_tuple__17 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__17);
  __Pyx_GIVEREF(__pyx_tuple__17);

  /* "(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_tuple__18 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__18);
  __Pyx_GIVEREF(__pyx_tuple__18);

  /* "networkit/_NetworKit.pyx":1763
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == SSSP:
 * 			raise RuntimeError("Error, you may not use SSSP directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def getDistances(self, moveOut=False):
 */
  __pyx_tuple__19 = PyTuple_Pack(1, __pyx_kp_u_Error_you_may_not_use_SSSP_direc); if (unlikely(!__pyx_tuple__19)) __PYX_ERR(0, 1763, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__19);
  __Pyx_GIVEREF(__pyx_tuple__19);

  /* "(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_tuple__20 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__20);
  __Pyx_GIVEREF(__pyx_tuple__20);

  /* "(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_tuple__21 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__21)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__21);
  __Pyx_GIVEREF(__pyx_tuple__21);

  /* "networkit/_NetworKit.pyx":1925
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == SSSP:
 * 			raise RuntimeError("Error, you may not use DynSSSP directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def update(self, ev):
 */
  __pyx_tuple__22 = PyTuple_Pack(1, __pyx_kp_u_Error_you_may_not_use_DynSSSP_di); if (unlikely(!__pyx_tuple__22)) __PYX_ERR(0, 1925, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__22);
  __Pyx_GIVEREF(__pyx_tuple__22);

  /* "(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_tuple__23 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__23);
  __Pyx_GIVEREF(__pyx_tuple__23);

  /* "(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_tuple__24 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__24);
  __Pyx_GIVEREF(__pyx_tuple__24);

  /* "(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_tuple__26 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__26);
  __Pyx_GIVEREF(__pyx_tuple__26);

  /* "(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_tuple__27 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__27)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__27);
  __Pyx_GIVEREF(__pyx_tuple__27);

  /* "(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_tuple__28 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__28)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__28);
  __Pyx_GIVEREF(__pyx_tuple__28);

  /* "(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_tuple__29 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__29);
  __Pyx_GIVEREF(__pyx_tuple__29);

  /* "(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_tuple__31 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__31);
  __Pyx_GIVEREF(__pyx_tuple__31);

  /* "(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_tuple__32 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__32)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__32);
  __Pyx_GIVEREF(__pyx_tuple__32);

  /* "(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_tuple__34 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__34);
  __Pyx_GIVEREF(__pyx_tuple__34);

  /* "(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_tuple__35 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__35);
  __Pyx_GIVEREF(__pyx_tuple__35);

  /* "(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_tuple__36 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__36);
  __Pyx_GIVEREF(__pyx_tuple__36);

  /* "(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_tuple__37 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__37);
  __Pyx_GIVEREF(__pyx_tuple__37);

  /* "(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_tuple__39 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__39);
  __Pyx_GIVEREF(__pyx_tuple__39);

  /* "(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_tuple__40 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__40)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__40);
  __Pyx_GIVEREF(__pyx_tuple__40);

  /* "(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_tuple__41 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__41)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__41);
  __Pyx_GIVEREF(__pyx_tuple__41);

  /* "(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_tuple__42 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__42)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__42);
  __Pyx_GIVEREF(__pyx_tuple__42);

  /* "(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_tuple__43 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__43)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__43);
  __Pyx_GIVEREF(__pyx_tuple__43);

  /* "(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_tuple__44 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__44)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__44);
  __Pyx_GIVEREF(__pyx_tuple__44);

  /* "(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_tuple__45 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__45);
  __Pyx_GIVEREF(__pyx_tuple__45);

  /* "(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_tuple__46 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__46)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__46);
  __Pyx_GIVEREF(__pyx_tuple__46);

  /* "(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_tuple__49 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__49)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__49);
  __Pyx_GIVEREF(__pyx_tuple__49);

  /* "(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_tuple__50 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__50)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__50);
  __Pyx_GIVEREF(__pyx_tuple__50);

  /* "(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_tuple__53 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__53);
  __Pyx_GIVEREF(__pyx_tuple__53);

  /* "(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_tuple__54 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__54)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__54);
  __Pyx_GIVEREF(__pyx_tuple__54);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_tuple__55 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__55);
  __Pyx_GIVEREF(__pyx_tuple__55);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__56 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__56)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__56);
  __Pyx_GIVEREF(__pyx_tuple__56);

  /* "(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_tuple__57 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__57)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__57);
  __Pyx_GIVEREF(__pyx_tuple__57);

  /* "(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_tuple__58 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__58);
  __Pyx_GIVEREF(__pyx_tuple__58);

  /* "(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_tuple__59 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__59)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__59);
  __Pyx_GIVEREF(__pyx_tuple__59);

  /* "(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_tuple__60 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__60)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__60);
  __Pyx_GIVEREF(__pyx_tuple__60);

  /* "networkit/_NetworKit.pyx":2652
 * 		(n, m) = GraphTools.size(G)
 * 		if G.isDirected():
 * 			raise Exception("TODO: figure out scaling scheme for directed graphs")             # <<<<<<<<<<<<<<
 * 		else:
 * 			p = (2 * m) / (scale * n * (n-1))
 */
  __pyx_tuple__61 = PyTuple_Pack(1, __pyx_kp_u_TODO_figure_out_scaling_scheme_f); if (unlikely(!__pyx_tuple__61)) __PYX_ERR(0, 2652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__61);
  __Pyx_GIVEREF(__pyx_tuple__61);

  /* "(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_tuple__62 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__62)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__62);
  __Pyx_GIVEREF(__pyx_tuple__62);

  /* "(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_tuple__63 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__63)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__63);
  __Pyx_GIVEREF(__pyx_tuple__63);

  /* "(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_tuple__64 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__64)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__64);
  __Pyx_GIVEREF(__pyx_tuple__64);

  /* "(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_tuple__65 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__65)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__65);
  __Pyx_GIVEREF(__pyx_tuple__65);

  /* "(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_tuple__66 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__66)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__66);
  __Pyx_GIVEREF(__pyx_tuple__66);

  /* "(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_tuple__67 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__67)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__67);
  __Pyx_GIVEREF(__pyx_tuple__67);

  /* "(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_tuple__68 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__68)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__68);
  __Pyx_GIVEREF(__pyx_tuple__68);

  /* "(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_tuple__69 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__69)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__69);
  __Pyx_GIVEREF(__pyx_tuple__69);

  /* "(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_tuple__70 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__70)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__70);
  __Pyx_GIVEREF(__pyx_tuple__70);

  /* "(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_tuple__71 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__71)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__71);
  __Pyx_GIVEREF(__pyx_tuple__71);

  /* "(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_tuple__72 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__72)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__72);
  __Pyx_GIVEREF(__pyx_tuple__72);

  /* "(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_tuple__73 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__73)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__73);
  __Pyx_GIVEREF(__pyx_tuple__73);

  /* "(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_tuple__74 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__74)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__74);
  __Pyx_GIVEREF(__pyx_tuple__74);

  /* "(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_tuple__75 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__75)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__75);
  __Pyx_GIVEREF(__pyx_tuple__75);

  /* "(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_tuple__76 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__76)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__76);
  __Pyx_GIVEREF(__pyx_tuple__76);

  /* "(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_tuple__77 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__77)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__77);
  __Pyx_GIVEREF(__pyx_tuple__77);

  /* "networkit/_NetworKit.pyx":2920
 * 	def __cinit__(self,  n, k=6, gamma=3, T=0):
 * 		if gamma <= 2:
 * 				raise ValueError("Exponent of power-law degree distribution must be > 2")             # <<<<<<<<<<<<<<
 * 		self._this = new _HyperbolicGenerator(n, k, gamma, T)
 * 
 */
  __pyx_tuple__78 = PyTuple_Pack(1, __pyx_kp_u_Exponent_of_power_law_degree_dis); if (unlikely(!__pyx_tuple__78)) __PYX_ERR(0, 2920, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__78);
  __Pyx_GIVEREF(__pyx_tuple__78);

  /* "networkit/_NetworKit.pyx":2937
 * 	def generate_advanced(self, angles, radii, R, T=0):
 * 		# TODO: documentation
 * 		return Graph(0).setThis((<_HyperbolicGenerator*>(self._this)).generate(angles, radii, R, T))             # <<<<<<<<<<<<<<
 * 
 * 	@classmethod
 */
  __pyx_tuple__79 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__79)) __PYX_ERR(0, 2937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__79);
  __Pyx_GIVEREF(__pyx_tuple__79);

  /* "(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_tuple__80 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__80)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__80);
  __Pyx_GIVEREF(__pyx_tuple__80);

  /* "(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_tuple__81 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__81)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__81);
  __Pyx_GIVEREF(__pyx_tuple__81);

  /* "networkit/_NetworKit.pyx":2997
 * 	def __cinit__(self, dim, n, k, weighted=False):
 * 		if dim < 1:
 * 			raise ValueError("Dimension must be > 0")             # <<<<<<<<<<<<<<
 * 		elif (type(n) is int) and (type(k) is float or type(k) is int) and (weighted is False or weighted is True):
 * 			self._this = new _MocnikGenerator(<count> dim, <count> n, <double> k, <bool_t> weighted)
 */
  __pyx_tuple__82 = PyTuple_Pack(1, __pyx_kp_u_Dimension_must_be_0); if (unlikely(!__pyx_tuple__82)) __PYX_ERR(0, 2997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__82);
  __Pyx_GIVEREF(__pyx_tuple__82);

  /* "(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_tuple__83 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__83)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__83);
  __Pyx_GIVEREF(__pyx_tuple__83);

  /* "(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_tuple__84 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__84)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__84);
  __Pyx_GIVEREF(__pyx_tuple__84);

  /* "(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_tuple__85 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__85)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__85);
  __Pyx_GIVEREF(__pyx_tuple__85);

  /* "(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_tuple__86 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__86)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__86);
  __Pyx_GIVEREF(__pyx_tuple__86);

  /* "networkit/_NetworKit.pyx":3107
 * 				with tempfile.TemporaryDirectory() as tmpdir:
 * 					if cls.paths["kronfitPath"] is None:
 * 						raise RuntimeError("call setPaths class method first to configure")             # <<<<<<<<<<<<<<
 * 					# write graph
 * 					tmpGraphPath = os.path.join(tmpdir, "{0}.edgelist".format(G.getName()))
 */
  __pyx_tuple__87 = PyTuple_Pack(1, __pyx_kp_u_call_setPaths_class_method_first); if (unlikely(!__pyx_tuple__87)) __PYX_ERR(0, 3107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__87);
  __Pyx_GIVEREF(__pyx_tuple__87);

  /* "networkit/_NetworKit.pyx":3116
 * 					subprocess.call(args)
 * 					# read estimated parameters
 * 					with open(tmpOutputPath) as resultFile:             # <<<<<<<<<<<<<<
 * 						for line in resultFile:
 * 							if "initiator" in line:
 */
  __pyx_tuple__89 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__89)) __PYX_ERR(0, 3116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__89);
  __Pyx_GIVEREF(__pyx_tuple__89);

  /* "(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_tuple__90 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__90)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__90);
  __Pyx_GIVEREF(__pyx_tuple__90);

  /* "(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_tuple__91 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__91)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__91);
  __Pyx_GIVEREF(__pyx_tuple__91);

  /* "(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_tuple__92 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__92)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__92);
  __Pyx_GIVEREF(__pyx_tuple__92);

  /* "(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_tuple__93 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__93)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__93);
  __Pyx_GIVEREF(__pyx_tuple__93);

  /* "networkit/_NetworKit.pyx":3537
 * 				# the largest generated degree will actually fit.
 * 				communityMaxSize = math.ceil(((1.0 - mu) * maxDegree + 1) * 1.05)
 * 				print("Increasing maximum community size to fit the largest degree")             # <<<<<<<<<<<<<<
 * 
 * 			if plfit:
 */
  __pyx_tuple__95 = PyTuple_Pack(1, __pyx_kp_u_Increasing_maximum_community_siz); if (unlikely(!__pyx_tuple__95)) __PYX_ERR(0, 3537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__95);
  __Pyx_GIVEREF(__pyx_tuple__95);

  /* "networkit/_NetworKit.pyx":3566
 * 				# scale communities
 * 				cData = communities.getVector()
 * 				cDataCopy = cData[:]             # <<<<<<<<<<<<<<
 * 				b = communities.upperBound()
 * 				for s in range(1, scale):
 */
  __pyx_slice__96 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__96)) __PYX_ERR(0, 3566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_slice__96);
  __Pyx_GIVEREF(__pyx_slice__96);

  /* "(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_tuple__97 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__97)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__97);
  __Pyx_GIVEREF(__pyx_tuple__97);

  /* "(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_tuple__98 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__98)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__98);
  __Pyx_GIVEREF(__pyx_tuple__98);

  /* "networkit/_NetworKit.pyx":3638
 * 	def __init__(self, *args, **kwargs):
 * 		if type(self) == GraphReader:
 * 			raise RuntimeError("Error, you may not use GraphReader directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def __cinit__(self, *args, **kwargs):
 */
  __pyx_tuple__99 = PyTuple_Pack(1, __pyx_kp_u_Error_you_may_not_use_GraphReade); if (unlikely(!__pyx_tuple__99)) __PYX_ERR(0, 3638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__99);
  __Pyx_GIVEREF(__pyx_tuple__99);

  /* "(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_tuple__100 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__100)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__100);
  __Pyx_GIVEREF(__pyx_tuple__100);

  /* "(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_tuple__101 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__101)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__101);
  __Pyx_GIVEREF(__pyx_tuple__101);

  /* "(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_tuple__102 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__102)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__102);
  __Pyx_GIVEREF(__pyx_tuple__102);

  /* "(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_tuple__103 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__103)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__103);
  __Pyx_GIVEREF(__pyx_tuple__103);

  /* "(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_tuple__104 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__104)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__104);
  __Pyx_GIVEREF(__pyx_tuple__104);

  /* "(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_tuple__105 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__105)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__105);
  __Pyx_GIVEREF(__pyx_tuple__105);

  /* "(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_tuple__106 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__106)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__106);
  __Pyx_GIVEREF(__pyx_tuple__106);

  /* "(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_tuple__107 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__107)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__107);
  __Pyx_GIVEREF(__pyx_tuple__107);

  /* "(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_tuple__108 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__108)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__108);
  __Pyx_GIVEREF(__pyx_tuple__108);

  /* "(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_tuple__109 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__109)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__109);
  __Pyx_GIVEREF(__pyx_tuple__109);

  /* "(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_tuple__110 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__110)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__110);
  __Pyx_GIVEREF(__pyx_tuple__110);

  /* "(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_tuple__111 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__111)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__111);
  __Pyx_GIVEREF(__pyx_tuple__111);

  /* "(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_tuple__112 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__112)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__112);
  __Pyx_GIVEREF(__pyx_tuple__112);

  /* "(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_tuple__113 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__113)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__113);
  __Pyx_GIVEREF(__pyx_tuple__113);

  /* "(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_tuple__114 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__114)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__114);
  __Pyx_GIVEREF(__pyx_tuple__114);

  /* "(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_tuple__115 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__115)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__115);
  __Pyx_GIVEREF(__pyx_tuple__115);

  /* "networkit/_NetworKit.pyx":3852
 * 	def __cinit__(self, separator, firstNode, commentPrefix="#", continuous=True, directed=False):
 * 		if len(separator) != 1 or ord(separator[0]) > 255:
 * 			raise RuntimeError("separator has to be exactly one ascii character");             # <<<<<<<<<<<<<<
 * 
 * 		self._this = new _EdgeListReader(stdstring(separator)[0], firstNode, stdstring(commentPrefix), continuous, directed)
 */
  __pyx_tuple__117 = PyTuple_Pack(1, __pyx_kp_u_separator_has_to_be_exactly_one); if (unlikely(!__pyx_tuple__117)) __PYX_ERR(0, 3852, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__117);
  __Pyx_GIVEREF(__pyx_tuple__117);

  /* "(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_tuple__118 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__118)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__118);
  __Pyx_GIVEREF(__pyx_tuple__118);

  /* "(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_tuple__119 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__119)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__119);
  __Pyx_GIVEREF(__pyx_tuple__119);

  /* "(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_tuple__121 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__121)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__121);
  __Pyx_GIVEREF(__pyx_tuple__121);

  /* "(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_tuple__122 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__122)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__122);
  __Pyx_GIVEREF(__pyx_tuple__122);

  /* "(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_tuple__123 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__123)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__123);
  __Pyx_GIVEREF(__pyx_tuple__123);

  /* "(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_tuple__124 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__124)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__124);
  __Pyx_GIVEREF(__pyx_tuple__124);

  /* "(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_tuple__125 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__125)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__125);
  __Pyx_GIVEREF(__pyx_tuple__125);

  /* "(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_tuple__126 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__126)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__126);
  __Pyx_GIVEREF(__pyx_tuple__126);

  /* "(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_tuple__127 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__127)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__127);
  __Pyx_GIVEREF(__pyx_tuple__127);

  /* "(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_tuple__128 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__128)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__128);
  __Pyx_GIVEREF(__pyx_tuple__128);

  /* "(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_tuple__129 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__129)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__129);
  __Pyx_GIVEREF(__pyx_tuple__129);

  /* "(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_tuple__130 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__130)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__130);
  __Pyx_GIVEREF(__pyx_tuple__130);

  /* "(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_tuple__131 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__131)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__131);
  __Pyx_GIVEREF(__pyx_tuple__131);

  /* "(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_tuple__132 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__132)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__132);
  __Pyx_GIVEREF(__pyx_tuple__132);

  /* "(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_tuple__133 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__133)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__133);
  __Pyx_GIVEREF(__pyx_tuple__133);

  /* "(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_tuple__134 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__134)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__134);
  __Pyx_GIVEREF(__pyx_tuple__134);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_tuple__135 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__135)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__135);
  __Pyx_GIVEREF(__pyx_tuple__135);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__136 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__136)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__136);
  __Pyx_GIVEREF(__pyx_tuple__136);

  /* "(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_tuple__137 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__137)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__137);
  __Pyx_GIVEREF(__pyx_tuple__137);

  /* "(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_tuple__138 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__138)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__138);
  __Pyx_GIVEREF(__pyx_tuple__138);

  /* "(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_tuple__139 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__139)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__139);
  __Pyx_GIVEREF(__pyx_tuple__139);

  /* "(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_tuple__140 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__140)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__140);
  __Pyx_GIVEREF(__pyx_tuple__140);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_tuple__141 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__141)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__141);
  __Pyx_GIVEREF(__pyx_tuple__141);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__142 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__142)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__142);
  __Pyx_GIVEREF(__pyx_tuple__142);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_tuple__143 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__143)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__143);
  __Pyx_GIVEREF(__pyx_tuple__143);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__144 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__144)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__144);
  __Pyx_GIVEREF(__pyx_tuple__144);

  /* "(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_tuple__145 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__145)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__145);
  __Pyx_GIVEREF(__pyx_tuple__145);

  /* "(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_tuple__146 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__146)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__146);
  __Pyx_GIVEREF(__pyx_tuple__146);

  /* "(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_tuple__147 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__147)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__147);
  __Pyx_GIVEREF(__pyx_tuple__147);

  /* "(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_tuple__148 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__148)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__148);
  __Pyx_GIVEREF(__pyx_tuple__148);

  /* "(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_tuple__149 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__149)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__149);
  __Pyx_GIVEREF(__pyx_tuple__149);

  /* "(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_tuple__150 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__150)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__150);
  __Pyx_GIVEREF(__pyx_tuple__150);

  /* "(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_tuple__151 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__151)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__151);
  __Pyx_GIVEREF(__pyx_tuple__151);

  /* "(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_tuple__152 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__152)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__152);
  __Pyx_GIVEREF(__pyx_tuple__152);

  /* "(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_tuple__153 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__153)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__153);
  __Pyx_GIVEREF(__pyx_tuple__153);

  /* "(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_tuple__154 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__154)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__154);
  __Pyx_GIVEREF(__pyx_tuple__154);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_tuple__155 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__155)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__155);
  __Pyx_GIVEREF(__pyx_tuple__155);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__156 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__156)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__156);
  __Pyx_GIVEREF(__pyx_tuple__156);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_tuple__157 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__157)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__157);
  __Pyx_GIVEREF(__pyx_tuple__157);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__158 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__158)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__158);
  __Pyx_GIVEREF(__pyx_tuple__158);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_tuple__159 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__159)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__159);
  __Pyx_GIVEREF(__pyx_tuple__159);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__160 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__160)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__160);
  __Pyx_GIVEREF(__pyx_tuple__160);

  /* "(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_tuple__161 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__161)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__161);
  __Pyx_GIVEREF(__pyx_tuple__161);

  /* "(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_tuple__162 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__162)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__162);
  __Pyx_GIVEREF(__pyx_tuple__162);

  /* "(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_tuple__164 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__164)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__164);
  __Pyx_GIVEREF(__pyx_tuple__164);

  /* "(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_tuple__165 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__165)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__165);
  __Pyx_GIVEREF(__pyx_tuple__165);

  /* "(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_tuple__166 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__166)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__166);
  __Pyx_GIVEREF(__pyx_tuple__166);

  /* "(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_tuple__167 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__167)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__167);
  __Pyx_GIVEREF(__pyx_tuple__167);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_tuple__168 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__168)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__168);
  __Pyx_GIVEREF(__pyx_tuple__168);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__169 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__169)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__169);
  __Pyx_GIVEREF(__pyx_tuple__169);

  /* "networkit/_NetworKit.pyx":5427
 * 			isolatedSet = <vector[node]?>nodes
 * 		except TypeError:
 * 			raise RuntimeError("Error, nodes must be a list of nodes.")             # <<<<<<<<<<<<<<
 * 		removeEdgesFromIsolatedSet[vector[node].iterator](graph._this,
 * 				isolatedSet.begin(), isolatedSet.end())
 */
  __pyx_tuple__170 = PyTuple_Pack(1, __pyx_kp_u_Error_nodes_must_be_a_list_of_no); if (unlikely(!__pyx_tuple__170)) __PYX_ERR(0, 5427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__170);
  __Pyx_GIVEREF(__pyx_tuple__170);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_tuple__171 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__171)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__171);
  __Pyx_GIVEREF(__pyx_tuple__171);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__172 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__172)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__172);
  __Pyx_GIVEREF(__pyx_tuple__172);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_tuple__173 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__173)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__173);
  __Pyx_GIVEREF(__pyx_tuple__173);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__174 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__174)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__174);
  __Pyx_GIVEREF(__pyx_tuple__174);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_tuple__175 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__175)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__175);
  __Pyx_GIVEREF(__pyx_tuple__175);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__176 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__176)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__176);
  __Pyx_GIVEREF(__pyx_tuple__176);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_tuple__177 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__177)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__177);
  __Pyx_GIVEREF(__pyx_tuple__177);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__178 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__178)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__178);
  __Pyx_GIVEREF(__pyx_tuple__178);

  /* "networkit/_NetworKit.pyx":5741
 * 	cdef _HubDominance _this
 * 
 * 	def getQuality(self, PartitionCover zeta, Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Calculates the dominance of hubs in the given Partition or Cover of the given
 */
  __pyx_tuple__182 = PyTuple_Pack(1, __pyx_kp_s_No_matching_signature_found); if (unlikely(!__pyx_tuple__182)) __PYX_ERR(0, 5741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__182);
  __Pyx_GIVEREF(__pyx_tuple__182);
  __pyx_tuple__183 = PyTuple_Pack(1, __pyx_kp_s_Function_call_with_ambiguous_arg); if (unlikely(!__pyx_tuple__183)) __PYX_ERR(0, 5741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__183);
  __Pyx_GIVEREF(__pyx_tuple__183);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_tuple__184 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__184)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__184);
  __Pyx_GIVEREF(__pyx_tuple__184);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__185 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__185)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__185);
  __Pyx_GIVEREF(__pyx_tuple__185);

  /* "networkit/_NetworKit.pyx":5774
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == CommunityDetector:
 * 			raise RuntimeError("Error, you may not use CommunityDetector directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def getPartition(self):
 */
  __pyx_tuple__186 = PyTuple_Pack(1, __pyx_kp_u_Error_you_may_not_use_CommunityD); if (unlikely(!__pyx_tuple__186)) __PYX_ERR(0, 5774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__186);
  __Pyx_GIVEREF(__pyx_tuple__186);

  /* "(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_tuple__187 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__187)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__187);
  __Pyx_GIVEREF(__pyx_tuple__187);

  /* "(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_tuple__188 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__188)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__188);
  __Pyx_GIVEREF(__pyx_tuple__188);

  /* "(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_tuple__191 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__191)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__191);
  __Pyx_GIVEREF(__pyx_tuple__191);

  /* "(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_tuple__192 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__192)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__192);
  __Pyx_GIVEREF(__pyx_tuple__192);

  /* "(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_tuple__193 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__193)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__193);
  __Pyx_GIVEREF(__pyx_tuple__193);

  /* "(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_tuple__194 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__194)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__194);
  __Pyx_GIVEREF(__pyx_tuple__194);

  /* "(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_tuple__195 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__195)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__195);
  __Pyx_GIVEREF(__pyx_tuple__195);

  /* "(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_tuple__196 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__196)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__196);
  __Pyx_GIVEREF(__pyx_tuple__196);

  /* "(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_tuple__197 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__197)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__197);
  __Pyx_GIVEREF(__pyx_tuple__197);

  /* "(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_tuple__198 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__198)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__198);
  __Pyx_GIVEREF(__pyx_tuple__198);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_tuple__199 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__199)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__199);
  __Pyx_GIVEREF(__pyx_tuple__199);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__200 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__200)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__200);
  __Pyx_GIVEREF(__pyx_tuple__200);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_tuple__201 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__201)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__201);
  __Pyx_GIVEREF(__pyx_tuple__201);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__202 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__202)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__202);
  __Pyx_GIVEREF(__pyx_tuple__202);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_tuple__203 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__203)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__203);
  __Pyx_GIVEREF(__pyx_tuple__203);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__204 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__204)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__204);
  __Pyx_GIVEREF(__pyx_tuple__204);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_tuple__205 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__205)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__205);
  __Pyx_GIVEREF(__pyx_tuple__205);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__206 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__206)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__206);
  __Pyx_GIVEREF(__pyx_tuple__206);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_tuple__207 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__207)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__207);
  __Pyx_GIVEREF(__pyx_tuple__207);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__208 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__208)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__208);
  __Pyx_GIVEREF(__pyx_tuple__208);

  /* "networkit/_NetworKit.pyx":6125
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == LocalCommunityEvaluation:
 * 			raise RuntimeError("Error, you may not use LocalCommunityEvaluation directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def getWeightedAverage(self):
 */
  __pyx_tuple__209 = PyTuple_Pack(1, __pyx_kp_u_Error_you_may_not_use_LocalCommu); if (unlikely(!__pyx_tuple__209)) __PYX_ERR(0, 6125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__209);
  __Pyx_GIVEREF(__pyx_tuple__209);

  /* "(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_tuple__210 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__210)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__210);
  __Pyx_GIVEREF(__pyx_tuple__210);

  /* "(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_tuple__211 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__211)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__211);
  __Pyx_GIVEREF(__pyx_tuple__211);

  /* "networkit/_NetworKit.pyx":6231
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == LocalPartitionEvaluation:
 * 			raise RuntimeError("Error, you may not use LocalPartitionEvaluation directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def __cinit__(self, Graph G not None, Partition P not None, *args, **namedargs):
 */
  __pyx_tuple__212 = PyTuple_Pack(1, __pyx_kp_u_Error_you_may_not_use_LocalParti); if (unlikely(!__pyx_tuple__212)) __PYX_ERR(0, 6231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__212);
  __Pyx_GIVEREF(__pyx_tuple__212);

  /* "(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_tuple__213 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__213)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__213);
  __Pyx_GIVEREF(__pyx_tuple__213);

  /* "(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_tuple__214 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__214)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__214);
  __Pyx_GIVEREF(__pyx_tuple__214);

  /* "networkit/_NetworKit.pyx":6259
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == LocalCoverEvaluation:
 * 			raise RuntimeError("Error, you may not use LocalCoverEvaluation directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def __cinit__(self, Graph G not None, Cover C not None, *args, **namedargs):
 */
  __pyx_tuple__215 = PyTuple_Pack(1, __pyx_kp_u_Error_you_may_not_use_LocalCover); if (unlikely(!__pyx_tuple__215)) __PYX_ERR(0, 6259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__215);
  __Pyx_GIVEREF(__pyx_tuple__215);

  /* "(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_tuple__216 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__216)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__216);
  __Pyx_GIVEREF(__pyx_tuple__216);

  /* "(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_tuple__217 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__217)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__217);
  __Pyx_GIVEREF(__pyx_tuple__217);

  /* "(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_tuple__218 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__218)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__218);
  __Pyx_GIVEREF(__pyx_tuple__218);

  /* "(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_tuple__219 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__219)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__219);
  __Pyx_GIVEREF(__pyx_tuple__219);

  /* "(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_tuple__220 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__220)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__220);
  __Pyx_GIVEREF(__pyx_tuple__220);

  /* "(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_tuple__221 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__221)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__221);
  __Pyx_GIVEREF(__pyx_tuple__221);

  /* "(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_tuple__222 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__222)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__222);
  __Pyx_GIVEREF(__pyx_tuple__222);

  /* "(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_tuple__223 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__223)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__223);
  __Pyx_GIVEREF(__pyx_tuple__223);

  /* "(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_tuple__224 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__224)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__224);
  __Pyx_GIVEREF(__pyx_tuple__224);

  /* "(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_tuple__225 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__225)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__225);
  __Pyx_GIVEREF(__pyx_tuple__225);

  /* "(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_tuple__226 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__226)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__226);
  __Pyx_GIVEREF(__pyx_tuple__226);

  /* "(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_tuple__227 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__227)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__227);
  __Pyx_GIVEREF(__pyx_tuple__227);

  /* "(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_tuple__228 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__228)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__228);
  __Pyx_GIVEREF(__pyx_tuple__228);

  /* "(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_tuple__229 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__229)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__229);
  __Pyx_GIVEREF(__pyx_tuple__229);

  /* "(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_tuple__230 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__230)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__230);
  __Pyx_GIVEREF(__pyx_tuple__230);

  /* "(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_tuple__231 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__231)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__231);
  __Pyx_GIVEREF(__pyx_tuple__231);

  /* "(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_tuple__232 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__232)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__232);
  __Pyx_GIVEREF(__pyx_tuple__232);

  /* "(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_tuple__233 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__233)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__233);
  __Pyx_GIVEREF(__pyx_tuple__233);

  /* "(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_tuple__235 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__235)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__235);
  __Pyx_GIVEREF(__pyx_tuple__235);

  /* "(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_tuple__236 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__236)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__236);
  __Pyx_GIVEREF(__pyx_tuple__236);

  /* "(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_tuple__237 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__237)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__237);
  __Pyx_GIVEREF(__pyx_tuple__237);

  /* "(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_tuple__238 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__238)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__238);
  __Pyx_GIVEREF(__pyx_tuple__238);

  /* "(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_tuple__239 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__239)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__239);
  __Pyx_GIVEREF(__pyx_tuple__239);

  /* "(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_tuple__240 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__240)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__240);
  __Pyx_GIVEREF(__pyx_tuple__240);

  /* "(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_tuple__241 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__241)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__241);
  __Pyx_GIVEREF(__pyx_tuple__241);

  /* "(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_tuple__242 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__242)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__242);
  __Pyx_GIVEREF(__pyx_tuple__242);

  /* "(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_tuple__243 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__243)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__243);
  __Pyx_GIVEREF(__pyx_tuple__243);

  /* "(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_tuple__244 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__244)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__244);
  __Pyx_GIVEREF(__pyx_tuple__244);

  /* "(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_tuple__245 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__245)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__245);
  __Pyx_GIVEREF(__pyx_tuple__245);

  /* "(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_tuple__246 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__246)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__246);
  __Pyx_GIVEREF(__pyx_tuple__246);

  /* "(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_tuple__247 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__247)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__247);
  __Pyx_GIVEREF(__pyx_tuple__247);

  /* "(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_tuple__248 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__248)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__248);
  __Pyx_GIVEREF(__pyx_tuple__248);

  /* "(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_tuple__249 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__249)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__249);
  __Pyx_GIVEREF(__pyx_tuple__249);

  /* "(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_tuple__250 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__250)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__250);
  __Pyx_GIVEREF(__pyx_tuple__250);

  /* "(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_tuple__252 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__252)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__252);
  __Pyx_GIVEREF(__pyx_tuple__252);

  /* "(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_tuple__253 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__253)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__253);
  __Pyx_GIVEREF(__pyx_tuple__253);

  /* "(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_tuple__254 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__254)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__254);
  __Pyx_GIVEREF(__pyx_tuple__254);

  /* "(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_tuple__255 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__255)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__255);
  __Pyx_GIVEREF(__pyx_tuple__255);

  /* "(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_tuple__256 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__256)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__256);
  __Pyx_GIVEREF(__pyx_tuple__256);

  /* "(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_tuple__257 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__257)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__257);
  __Pyx_GIVEREF(__pyx_tuple__257);

  /* "(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_tuple__258 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__258)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__258);
  __Pyx_GIVEREF(__pyx_tuple__258);

  /* "(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_tuple__259 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__259)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__259);
  __Pyx_GIVEREF(__pyx_tuple__259);

  /* "(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_tuple__260 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__260)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__260);
  __Pyx_GIVEREF(__pyx_tuple__260);

  /* "(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_tuple__261 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__261)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__261);
  __Pyx_GIVEREF(__pyx_tuple__261);

  /* "(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_tuple__262 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__262)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__262);
  __Pyx_GIVEREF(__pyx_tuple__262);

  /* "(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_tuple__263 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__263)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__263);
  __Pyx_GIVEREF(__pyx_tuple__263);

  /* "(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_tuple__265 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__265)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__265);
  __Pyx_GIVEREF(__pyx_tuple__265);

  /* "(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_tuple__266 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__266)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__266);
  __Pyx_GIVEREF(__pyx_tuple__266);

  /* "(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_tuple__267 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__267)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__267);
  __Pyx_GIVEREF(__pyx_tuple__267);

  /* "(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_tuple__268 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__268)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__268);
  __Pyx_GIVEREF(__pyx_tuple__268);

  /* "networkit/_NetworKit.pyx":7546
 * 	def __init__(self, *args, **kwargs):
 * 		if type(self) == Centrality:
 * 			raise RuntimeError("Error, you may not use Centrality directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  __pyx_tuple__269 = PyTuple_Pack(1, __pyx_kp_u_Error_you_may_not_use_Centrality); if (unlikely(!__pyx_tuple__269)) __PYX_ERR(0, 7546, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__269);
  __Pyx_GIVEREF(__pyx_tuple__269);

  /* "(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_tuple__270 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__270)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__270);
  __Pyx_GIVEREF(__pyx_tuple__270);

  /* "(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_tuple__271 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__271)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__271);
  __Pyx_GIVEREF(__pyx_tuple__271);

  /* "(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_tuple__272 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__272)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__272);
  __Pyx_GIVEREF(__pyx_tuple__272);

  /* "(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_tuple__273 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__273)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__273);
  __Pyx_GIVEREF(__pyx_tuple__273);

  /* "(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_tuple__274 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__274)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__274);
  __Pyx_GIVEREF(__pyx_tuple__274);

  /* "(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_tuple__275 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__275)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__275);
  __Pyx_GIVEREF(__pyx_tuple__275);

  /* "(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_tuple__276 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__276)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__276);
  __Pyx_GIVEREF(__pyx_tuple__276);

  /* "(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_tuple__277 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__277)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__277);
  __Pyx_GIVEREF(__pyx_tuple__277);

  /* "(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_tuple__278 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__278)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__278);
  __Pyx_GIVEREF(__pyx_tuple__278);

  /* "(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_tuple__279 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__279)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__279);
  __Pyx_GIVEREF(__pyx_tuple__279);

  /* "(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_tuple__280 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__280)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__280);
  __Pyx_GIVEREF(__pyx_tuple__280);

  /* "(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_tuple__281 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__281)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__281);
  __Pyx_GIVEREF(__pyx_tuple__281);

  /* "(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_tuple__282 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__282)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__282);
  __Pyx_GIVEREF(__pyx_tuple__282);

  /* "(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_tuple__283 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__283)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__283);
  __Pyx_GIVEREF(__pyx_tuple__283);

  /* "(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_tuple__284 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__284)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__284);
  __Pyx_GIVEREF(__pyx_tuple__284);

  /* "(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_tuple__285 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__285)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__285);
  __Pyx_GIVEREF(__pyx_tuple__285);

  /* "(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_tuple__286 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__286)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__286);
  __Pyx_GIVEREF(__pyx_tuple__286);

  /* "(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_tuple__287 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__287)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__287);
  __Pyx_GIVEREF(__pyx_tuple__287);

  /* "(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_tuple__288 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__288)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__288);
  __Pyx_GIVEREF(__pyx_tuple__288);

  /* "(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_tuple__289 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__289)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__289);
  __Pyx_GIVEREF(__pyx_tuple__289);

  /* "networkit/_NetworKit.pyx":8206
 * 			self._this = new _Closeness(G._this, normalized, <bool_t> third)
 * 		else:
 * 			raise Exception("Error: the third parameter must be either a bool or a ClosenessVariant")             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_tuple__290 = PyTuple_Pack(1, __pyx_kp_u_Error_the_third_parameter_must_b); if (unlikely(!__pyx_tuple__290)) __PYX_ERR(0, 8206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__290);
  __Pyx_GIVEREF(__pyx_tuple__290);

  /* "(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_tuple__291 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__291)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__291);
  __Pyx_GIVEREF(__pyx_tuple__291);

  /* "(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_tuple__292 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__292)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__292);
  __Pyx_GIVEREF(__pyx_tuple__292);

  /* "(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_tuple__293 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__293)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__293);
  __Pyx_GIVEREF(__pyx_tuple__293);

  /* "(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_tuple__294 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__294)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__294);
  __Pyx_GIVEREF(__pyx_tuple__294);

  /* "(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_tuple__295 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__295)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__295);
  __Pyx_GIVEREF(__pyx_tuple__295);

  /* "(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_tuple__296 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__296)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__296);
  __Pyx_GIVEREF(__pyx_tuple__296);

  /* "(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_tuple__297 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__297)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__297);
  __Pyx_GIVEREF(__pyx_tuple__297);

  /* "(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_tuple__298 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__298)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__298);
  __Pyx_GIVEREF(__pyx_tuple__298);

  /* "(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_tuple__299 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__299)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__299);
  __Pyx_GIVEREF(__pyx_tuple__299);

  /* "(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_tuple__300 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__300)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__300);
  __Pyx_GIVEREF(__pyx_tuple__300);

  /* "(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_tuple__301 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__301)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__301);
  __Pyx_GIVEREF(__pyx_tuple__301);

  /* "(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_tuple__302 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__302)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__302);
  __Pyx_GIVEREF(__pyx_tuple__302);

  /* "(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_tuple__303 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__303)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__303);
  __Pyx_GIVEREF(__pyx_tuple__303);

  /* "(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_tuple__304 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__304)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__304);
  __Pyx_GIVEREF(__pyx_tuple__304);

  /* "(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_tuple__305 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__305)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__305);
  __Pyx_GIVEREF(__pyx_tuple__305);

  /* "(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_tuple__306 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__306)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__306);
  __Pyx_GIVEREF(__pyx_tuple__306);

  /* "networkit/_NetworKit.pyx":8653
 * 	def __cinit__(self, Graph G, nSamples, normalized=False, parallel=False):
 * 		from warnings import warn
 * 		warn("ApproxBetweenness2 is deprecated; use EstimateBetweenness instead.", DeprecationWarning)             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _EstimateBetweenness(G._this, nSamples, normalized, parallel)
 */
  __pyx_tuple__307 = PyTuple_Pack(2, __pyx_kp_u_ApproxBetweenness2_is_deprecated, __pyx_builtin_DeprecationWarning); if (unlikely(!__pyx_tuple__307)) __PYX_ERR(0, 8653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__307);
  __Pyx_GIVEREF(__pyx_tuple__307);

  /* "(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_tuple__308 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__308)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__308);
  __Pyx_GIVEREF(__pyx_tuple__308);

  /* "(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_tuple__309 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__309)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__309);
  __Pyx_GIVEREF(__pyx_tuple__309);

  /* "(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_tuple__311 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__311)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__311);
  __Pyx_GIVEREF(__pyx_tuple__311);

  /* "(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_tuple__312 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__312)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__312);
  __Pyx_GIVEREF(__pyx_tuple__312);

  /* "(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_tuple__313 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__313)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__313);
  __Pyx_GIVEREF(__pyx_tuple__313);

  /* "(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_tuple__314 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__314)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__314);
  __Pyx_GIVEREF(__pyx_tuple__314);

  /* "(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_tuple__315 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__315)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__315);
  __Pyx_GIVEREF(__pyx_tuple__315);

  /* "(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_tuple__316 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__316)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__316);
  __Pyx_GIVEREF(__pyx_tuple__316);

  /* "(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_tuple__317 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__317)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__317);
  __Pyx_GIVEREF(__pyx_tuple__317);

  /* "(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_tuple__318 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__318)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__318);
  __Pyx_GIVEREF(__pyx_tuple__318);

  /* "(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_tuple__319 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__319)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__319);
  __Pyx_GIVEREF(__pyx_tuple__319);

  /* "(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_tuple__320 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__320)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__320);
  __Pyx_GIVEREF(__pyx_tuple__320);

  /* "(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_tuple__321 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__321)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__321);
  __Pyx_GIVEREF(__pyx_tuple__321);

  /* "(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_tuple__322 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__322)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__322);
  __Pyx_GIVEREF(__pyx_tuple__322);

  /* "(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_tuple__323 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__323)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__323);
  __Pyx_GIVEREF(__pyx_tuple__323);

  /* "(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_tuple__324 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__324)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__324);
  __Pyx_GIVEREF(__pyx_tuple__324);

  /* "(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_tuple__325 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__325)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__325);
  __Pyx_GIVEREF(__pyx_tuple__325);

  /* "(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_tuple__326 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__326)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__326);
  __Pyx_GIVEREF(__pyx_tuple__326);

  /* "(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_tuple__327 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__327)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__327);
  __Pyx_GIVEREF(__pyx_tuple__327);

  /* "(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_tuple__328 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__328)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__328);
  __Pyx_GIVEREF(__pyx_tuple__328);

  /* "(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_tuple__329 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__329)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__329);
  __Pyx_GIVEREF(__pyx_tuple__329);

  /* "(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_tuple__330 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__330)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__330);
  __Pyx_GIVEREF(__pyx_tuple__330);

  /* "(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_tuple__331 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__331)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__331);
  __Pyx_GIVEREF(__pyx_tuple__331);

  /* "(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_tuple__332 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__332)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__332);
  __Pyx_GIVEREF(__pyx_tuple__332);

  /* "(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_tuple__333 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__333)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__333);
  __Pyx_GIVEREF(__pyx_tuple__333);

  /* "(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_tuple__334 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__334)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__334);
  __Pyx_GIVEREF(__pyx_tuple__334);

  /* "(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_tuple__335 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__335)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__335);
  __Pyx_GIVEREF(__pyx_tuple__335);

  /* "(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_tuple__336 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__336)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__336);
  __Pyx_GIVEREF(__pyx_tuple__336);

  /* "(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_tuple__337 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__337)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__337);
  __Pyx_GIVEREF(__pyx_tuple__337);

  /* "(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_tuple__338 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__338)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__338);
  __Pyx_GIVEREF(__pyx_tuple__338);

  /* "(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_tuple__339 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__339)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__339);
  __Pyx_GIVEREF(__pyx_tuple__339);

  /* "(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_tuple__340 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__340)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__340);
  __Pyx_GIVEREF(__pyx_tuple__340);

  /* "(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_tuple__341 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__341)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__341);
  __Pyx_GIVEREF(__pyx_tuple__341);

  /* "(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_tuple__342 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__342)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__342);
  __Pyx_GIVEREF(__pyx_tuple__342);

  /* "(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_tuple__343 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__343)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__343);
  __Pyx_GIVEREF(__pyx_tuple__343);

  /* "(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_tuple__344 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__344)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__344);
  __Pyx_GIVEREF(__pyx_tuple__344);

  /* "(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_tuple__345 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__345)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__345);
  __Pyx_GIVEREF(__pyx_tuple__345);

  /* "(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_tuple__346 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__346)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__346);
  __Pyx_GIVEREF(__pyx_tuple__346);

  /* "(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_tuple__347 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__347)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__347);
  __Pyx_GIVEREF(__pyx_tuple__347);

  /* "(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_tuple__348 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__348)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__348);
  __Pyx_GIVEREF(__pyx_tuple__348);

  /* "(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_tuple__349 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__349)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__349);
  __Pyx_GIVEREF(__pyx_tuple__349);

  /* "(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_tuple__350 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__350)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__350);
  __Pyx_GIVEREF(__pyx_tuple__350);

  /* "(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_tuple__351 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__351)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__351);
  __Pyx_GIVEREF(__pyx_tuple__351);

  /* "(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_tuple__352 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__352)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__352);
  __Pyx_GIVEREF(__pyx_tuple__352);

  /* "networkit/_NetworKit.pyx":9666
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == GraphCoarsening:
 * 			raise RuntimeError("Error, you may not use GraphCoarsening directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def getCoarseGraph(self):
 */
  __pyx_tuple__353 = PyTuple_Pack(1, __pyx_kp_u_Error_you_may_not_use_GraphCoars); if (unlikely(!__pyx_tuple__353)) __PYX_ERR(0, 9666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__353);
  __Pyx_GIVEREF(__pyx_tuple__353);

  /* "(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_tuple__354 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__354)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__354);
  __Pyx_GIVEREF(__pyx_tuple__354);

  /* "(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_tuple__355 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__355)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__355);
  __Pyx_GIVEREF(__pyx_tuple__355);

  /* "(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_tuple__356 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__356)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__356);
  __Pyx_GIVEREF(__pyx_tuple__356);

  /* "(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_tuple__357 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__357)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__357);
  __Pyx_GIVEREF(__pyx_tuple__357);

  /* "(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_tuple__358 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__358)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__358);
  __Pyx_GIVEREF(__pyx_tuple__358);

  /* "(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_tuple__359 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__359)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__359);
  __Pyx_GIVEREF(__pyx_tuple__359);

  /* "(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_tuple__360 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__360)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__360);
  __Pyx_GIVEREF(__pyx_tuple__360);

  /* "(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_tuple__361 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__361)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__361);
  __Pyx_GIVEREF(__pyx_tuple__361);

  /* "(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_tuple__362 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__362)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__362);
  __Pyx_GIVEREF(__pyx_tuple__362);

  /* "(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_tuple__363 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__363)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__363);
  __Pyx_GIVEREF(__pyx_tuple__363);

  /* "(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_tuple__364 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__364)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__364);
  __Pyx_GIVEREF(__pyx_tuple__364);

  /* "(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_tuple__365 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__365)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__365);
  __Pyx_GIVEREF(__pyx_tuple__365);

  /* "(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_tuple__366 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__366)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__366);
  __Pyx_GIVEREF(__pyx_tuple__366);

  /* "(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_tuple__367 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__367)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__367);
  __Pyx_GIVEREF(__pyx_tuple__367);

  /* "(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_tuple__368 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__368)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__368);
  __Pyx_GIVEREF(__pyx_tuple__368);

  /* "(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_tuple__369 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__369)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__369);
  __Pyx_GIVEREF(__pyx_tuple__369);

  /* "(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_tuple__370 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__370)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__370);
  __Pyx_GIVEREF(__pyx_tuple__370);

  /* "(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_tuple__371 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__371)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__371);
  __Pyx_GIVEREF(__pyx_tuple__371);

  /* "(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_tuple__372 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__372)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__372);
  __Pyx_GIVEREF(__pyx_tuple__372);

  /* "(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_tuple__373 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__373)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__373);
  __Pyx_GIVEREF(__pyx_tuple__373);

  /* "networkit/_NetworKit.pyx":10125
 * 		cdef double _v
 * 		cdef vector[double] _vs
 * 		def is_number(s):             # <<<<<<<<<<<<<<
 * 			try:
 * 				float(s)
 */
  __pyx_tuple__374 = PyTuple_Pack(1, __pyx_n_s_s); if (unlikely(!__pyx_tuple__374)) __PYX_ERR(0, 10125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__374);
  __Pyx_GIVEREF(__pyx_tuple__374);
  __pyx_codeobj__375 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__374, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_is_number, 10125, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__375)) __PYX_ERR(0, 10125, __pyx_L1_error)

  /* "(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_tuple__376 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__376)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__376);
  __Pyx_GIVEREF(__pyx_tuple__376);

  /* "(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_tuple__377 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__377)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__377);
  __Pyx_GIVEREF(__pyx_tuple__377);

  /* "(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_tuple__378 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__378)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__378);
  __Pyx_GIVEREF(__pyx_tuple__378);

  /* "(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_tuple__379 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__379)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__379);
  __Pyx_GIVEREF(__pyx_tuple__379);

  /* "(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_tuple__380 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__380)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__380);
  __Pyx_GIVEREF(__pyx_tuple__380);

  /* "(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_tuple__381 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__381)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__381);
  __Pyx_GIVEREF(__pyx_tuple__381);

  /* "(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_tuple__382 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__382)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__382);
  __Pyx_GIVEREF(__pyx_tuple__382);

  /* "(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_tuple__383 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__383)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__383);
  __Pyx_GIVEREF(__pyx_tuple__383);

  /* "(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_tuple__384 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__384)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__384);
  __Pyx_GIVEREF(__pyx_tuple__384);

  /* "(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_tuple__385 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__385)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__385);
  __Pyx_GIVEREF(__pyx_tuple__385);

  /* "(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_tuple__386 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__386)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__386);
  __Pyx_GIVEREF(__pyx_tuple__386);

  /* "(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_tuple__387 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__387)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__387);
  __Pyx_GIVEREF(__pyx_tuple__387);

  /* "(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_tuple__388 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__388)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__388);
  __Pyx_GIVEREF(__pyx_tuple__388);

  /* "(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_tuple__389 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__389)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__389);
  __Pyx_GIVEREF(__pyx_tuple__389);

  /* "(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_tuple__390 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__390)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__390);
  __Pyx_GIVEREF(__pyx_tuple__390);

  /* "(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_tuple__391 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__391)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__391);
  __Pyx_GIVEREF(__pyx_tuple__391);

  /* "(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_tuple__392 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__392)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__392);
  __Pyx_GIVEREF(__pyx_tuple__392);

  /* "(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_tuple__393 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__393)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__393);
  __Pyx_GIVEREF(__pyx_tuple__393);

  /* "(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_tuple__394 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__394)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__394);
  __Pyx_GIVEREF(__pyx_tuple__394);

  /* "(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_tuple__395 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__395)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__395);
  __Pyx_GIVEREF(__pyx_tuple__395);

  /* "(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_tuple__396 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__396)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__396);
  __Pyx_GIVEREF(__pyx_tuple__396);

  /* "(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_tuple__397 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__397)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__397);
  __Pyx_GIVEREF(__pyx_tuple__397);

  /* "(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_tuple__399 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__399)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__399);
  __Pyx_GIVEREF(__pyx_tuple__399);

  /* "(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_tuple__400 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__400)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__400);
  __Pyx_GIVEREF(__pyx_tuple__400);

  /* "(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_tuple__401 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__401)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__401);
  __Pyx_GIVEREF(__pyx_tuple__401);

  /* "(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_tuple__402 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__402)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__402);
  __Pyx_GIVEREF(__pyx_tuple__402);

  /* "(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_tuple__403 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__403)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__403);
  __Pyx_GIVEREF(__pyx_tuple__403);

  /* "(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_tuple__404 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__404)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__404);
  __Pyx_GIVEREF(__pyx_tuple__404);

  /* "(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_tuple__405 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__405)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__405);
  __Pyx_GIVEREF(__pyx_tuple__405);

  /* "(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_tuple__406 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__406)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__406);
  __Pyx_GIVEREF(__pyx_tuple__406);

  /* "networkit/_NetworKit.pyx":11039
 * 
 * 	cdef bool_t isDoubleValue(self):
 * 		raise RuntimeError("Implement in subclass")             # <<<<<<<<<<<<<<
 * 
 * 	def __init__(self, *args, **namedargs):
 */
  __pyx_tuple__407 = PyTuple_Pack(1, __pyx_kp_u_Implement_in_subclass); if (unlikely(!__pyx_tuple__407)) __PYX_ERR(0, 11039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__407);
  __Pyx_GIVEREF(__pyx_tuple__407);

  /* "networkit/_NetworKit.pyx":11043
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == EdgeScore:
 * 			raise RuntimeError("Error, you may not use EdgeScore directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  __pyx_tuple__408 = PyTuple_Pack(1, __pyx_kp_u_Error_you_may_not_use_EdgeScore); if (unlikely(!__pyx_tuple__408)) __PYX_ERR(0, 11043, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__408);
  __Pyx_GIVEREF(__pyx_tuple__408);

  /* "(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_tuple__409 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__409)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__409);
  __Pyx_GIVEREF(__pyx_tuple__409);

  /* "(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_tuple__410 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__410)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__410);
  __Pyx_GIVEREF(__pyx_tuple__410);

  /* "(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_tuple__411 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__411)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__411);
  __Pyx_GIVEREF(__pyx_tuple__411);

  /* "(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_tuple__412 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__412)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__412);
  __Pyx_GIVEREF(__pyx_tuple__412);

  /* "(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_tuple__413 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__413)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__413);
  __Pyx_GIVEREF(__pyx_tuple__413);

  /* "(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_tuple__414 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__414)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__414);
  __Pyx_GIVEREF(__pyx_tuple__414);

  /* "(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_tuple__415 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__415)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__415);
  __Pyx_GIVEREF(__pyx_tuple__415);

  /* "(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_tuple__416 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__416)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__416);
  __Pyx_GIVEREF(__pyx_tuple__416);

  /* "(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_tuple__417 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__417)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__417);
  __Pyx_GIVEREF(__pyx_tuple__417);

  /* "(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_tuple__418 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__418)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__418);
  __Pyx_GIVEREF(__pyx_tuple__418);

  /* "networkit/_NetworKit.pyx":11211
 * 				self._this = new _EdgeScoreNormalizer[count](G._this, self._inScoreCount, inverse, lower, upper)
 * 			except TypeError:
 * 				raise TypeError("score must be either a vector of integer or float")             # <<<<<<<<<<<<<<
 * 
 * 	cdef bool_t isDoubleValue(self):
 */
  __pyx_tuple__419 = PyTuple_Pack(1, __pyx_kp_u_score_must_be_either_a_vector_of); if (unlikely(!__pyx_tuple__419)) __PYX_ERR(0, 11211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__419);
  __Pyx_GIVEREF(__pyx_tuple__419);

  /* "(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_tuple__420 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__420)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__420);
  __Pyx_GIVEREF(__pyx_tuple__420);

  /* "(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_tuple__421 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__421)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__421);
  __Pyx_GIVEREF(__pyx_tuple__421);

  /* "(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_tuple__422 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__422)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__422);
  __Pyx_GIVEREF(__pyx_tuple__422);

  /* "(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_tuple__423 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__423)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__423);
  __Pyx_GIVEREF(__pyx_tuple__423);

  /* "(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_tuple__424 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__424)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__424);
  __Pyx_GIVEREF(__pyx_tuple__424);

  /* "(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_tuple__425 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__425)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__425);
  __Pyx_GIVEREF(__pyx_tuple__425);

  /* "(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_tuple__426 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__426)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__426);
  __Pyx_GIVEREF(__pyx_tuple__426);

  /* "(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_tuple__427 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__427)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__427);
  __Pyx_GIVEREF(__pyx_tuple__427);

  /* "(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_tuple__428 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__428)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__428);
  __Pyx_GIVEREF(__pyx_tuple__428);

  /* "(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_tuple__429 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__429)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__429);
  __Pyx_GIVEREF(__pyx_tuple__429);

  /* "(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_tuple__430 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__430)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__430);
  __Pyx_GIVEREF(__pyx_tuple__430);

  /* "(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_tuple__431 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__431)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__431);
  __Pyx_GIVEREF(__pyx_tuple__431);

  /* "(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_tuple__432 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__432)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__432);
  __Pyx_GIVEREF(__pyx_tuple__432);

  /* "(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_tuple__433 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__433)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__433);
  __Pyx_GIVEREF(__pyx_tuple__433);

  /* "(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_tuple__434 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__434)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__434);
  __Pyx_GIVEREF(__pyx_tuple__434);

  /* "(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_tuple__435 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__435)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__435);
  __Pyx_GIVEREF(__pyx_tuple__435);

  /* "(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_tuple__436 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__436)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__436);
  __Pyx_GIVEREF(__pyx_tuple__436);

  /* "(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_tuple__437 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__437)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__437);
  __Pyx_GIVEREF(__pyx_tuple__437);

  /* "(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_tuple__438 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__438)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__438);
  __Pyx_GIVEREF(__pyx_tuple__438);

  /* "(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_tuple__439 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__439)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__439);
  __Pyx_GIVEREF(__pyx_tuple__439);

  /* "(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_tuple__440 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__440)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__440);
  __Pyx_GIVEREF(__pyx_tuple__440);

  /* "(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_tuple__441 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__441)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__441);
  __Pyx_GIVEREF(__pyx_tuple__441);

  /* "(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_tuple__442 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__442)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__442);
  __Pyx_GIVEREF(__pyx_tuple__442);

  /* "(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_tuple__443 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__443)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__443);
  __Pyx_GIVEREF(__pyx_tuple__443);

  /* "(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_tuple__444 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__444)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__444);
  __Pyx_GIVEREF(__pyx_tuple__444);

  /* "(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_tuple__445 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__445)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__445);
  __Pyx_GIVEREF(__pyx_tuple__445);

  /* "(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_tuple__446 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__446)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__446);
  __Pyx_GIVEREF(__pyx_tuple__446);

  /* "(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_tuple__447 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__447)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__447);
  __Pyx_GIVEREF(__pyx_tuple__447);

  /* "(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_tuple__448 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__448)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__448);
  __Pyx_GIVEREF(__pyx_tuple__448);

  /* "(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_tuple__449 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__449)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__449);
  __Pyx_GIVEREF(__pyx_tuple__449);

  /* "(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_tuple__450 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__450)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__450);
  __Pyx_GIVEREF(__pyx_tuple__450);

  /* "(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_tuple__451 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__451)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__451);
  __Pyx_GIVEREF(__pyx_tuple__451);

  /* "(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_tuple__452 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__452)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__452);
  __Pyx_GIVEREF(__pyx_tuple__452);

  /* "(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_tuple__453 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__453)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__453);
  __Pyx_GIVEREF(__pyx_tuple__453);

  /* "(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_tuple__454 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__454)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__454);
  __Pyx_GIVEREF(__pyx_tuple__454);

  /* "(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_tuple__455 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__455)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__455);
  __Pyx_GIVEREF(__pyx_tuple__455);

  /* "(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_tuple__456 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__456)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__456);
  __Pyx_GIVEREF(__pyx_tuple__456);

  /* "(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_tuple__457 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__457)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__457);
  __Pyx_GIVEREF(__pyx_tuple__457);

  /* "(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_tuple__458 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__458)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__458);
  __Pyx_GIVEREF(__pyx_tuple__458);

  /* "(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_tuple__459 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__459)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__459);
  __Pyx_GIVEREF(__pyx_tuple__459);

  /* "(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_tuple__460 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__460)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__460);
  __Pyx_GIVEREF(__pyx_tuple__460);

  /* "(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_tuple__461 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__461)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__461);
  __Pyx_GIVEREF(__pyx_tuple__461);

  /* "networkit/_NetworKit.pyx":11896
 * 	def __init__(self, *args, **namedargs):
 * 		if type(self) == Matcher:
 * 			raise RuntimeError("Instantiation of abstract base class")             # <<<<<<<<<<<<<<
 * 
 * 	def getMatching(self):
 */
  __pyx_tuple__462 = PyTuple_Pack(1, __pyx_kp_u_Instantiation_of_abstract_base_c); if (unlikely(!__pyx_tuple__462)) __PYX_ERR(0, 11896, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__462);
  __Pyx_GIVEREF(__pyx_tuple__462);

  /* "(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_tuple__463 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__463)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__463);
  __Pyx_GIVEREF(__pyx_tuple__463);

  /* "(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_tuple__464 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__464)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__464);
  __Pyx_GIVEREF(__pyx_tuple__464);

  /* "(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_tuple__465 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__465)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__465);
  __Pyx_GIVEREF(__pyx_tuple__465);

  /* "(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_tuple__466 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__466)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__466);
  __Pyx_GIVEREF(__pyx_tuple__466);

  /* "(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_tuple__467 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__467)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__467);
  __Pyx_GIVEREF(__pyx_tuple__467);

  /* "(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_tuple__468 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__468)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__468);
  __Pyx_GIVEREF(__pyx_tuple__468);

  /* "(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_tuple__470 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__470)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__470);
  __Pyx_GIVEREF(__pyx_tuple__470);

  /* "(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_tuple__471 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__471)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__471);
  __Pyx_GIVEREF(__pyx_tuple__471);

  /* "(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_tuple__472 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__472)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__472);
  __Pyx_GIVEREF(__pyx_tuple__472);

  /* "(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_tuple__473 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__473)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__473);
  __Pyx_GIVEREF(__pyx_tuple__473);

  /* "networkit/_NetworKit.pyx":12149
 * 	def __init__(self, *args, **kwargs):
 * 		if type(self) == GraphLayoutAlgorithm:
 * 			raise RuntimeError("Error, you may not use GraphLayoutAlgorithm directly, use a sub-class instead")             # <<<<<<<<<<<<<<
 * 
 * 	def __dealloc__(self):
 */
  __pyx_tuple__474 = PyTuple_Pack(1, __pyx_kp_u_Error_you_may_not_use_GraphLayou); if (unlikely(!__pyx_tuple__474)) __PYX_ERR(0, 12149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__474);
  __Pyx_GIVEREF(__pyx_tuple__474);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 */
  __pyx_tuple__475 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__475)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__475);
  __Pyx_GIVEREF(__pyx_tuple__475);

  /* "(tree fragment)":4
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("self._this cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__476 = PyTuple_Pack(1, __pyx_kp_s_self__this_cannot_be_converted_t); if (unlikely(!__pyx_tuple__476)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__476);
  __Pyx_GIVEREF(__pyx_tuple__476);

  /* "(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_tuple__480 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__480)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__480);
  __Pyx_GIVEREF(__pyx_tuple__480);

  /* "(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_tuple__481 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__481)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__481);
  __Pyx_GIVEREF(__pyx_tuple__481);

  /* "(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_tuple__482 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__482)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__482);
  __Pyx_GIVEREF(__pyx_tuple__482);

  /* "(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_tuple__483 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__483)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__483);
  __Pyx_GIVEREF(__pyx_tuple__483);

  /* "networkit/_NetworKit.pyx":12435
 * 			self._this = new _GlobalCurveball((<Graph>G)._this, number_of_global_rounds, allowSelfLoops, degreePreservingShufflePreprocessing)
 * 		else:
 * 			raise RuntimeError("Parameter G has to be a graph")             # <<<<<<<<<<<<<<
 * 
 * 	"""
 */
  __pyx_tuple__484 = PyTuple_Pack(1, __pyx_kp_u_Parameter_G_has_to_be_a_graph); if (unlikely(!__pyx_tuple__484)) __PYX_ERR(0, 12435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__484);
  __Pyx_GIVEREF(__pyx_tuple__484);

  /* "(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_tuple__485 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__485)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__485);
  __Pyx_GIVEREF(__pyx_tuple__485);

  /* "(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_tuple__486 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__486)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__486);
  __Pyx_GIVEREF(__pyx_tuple__486);

  /* "(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_tuple__487 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__487)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__487);
  __Pyx_GIVEREF(__pyx_tuple__487);

  /* "(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_tuple__488 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__488)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__488);
  __Pyx_GIVEREF(__pyx_tuple__488);

  /* "(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_tuple__489 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__489)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__489);
  __Pyx_GIVEREF(__pyx_tuple__489);

  /* "(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_tuple__490 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__490)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__490);
  __Pyx_GIVEREF(__pyx_tuple__490);

  /* "(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_tuple__491 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__491)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__491);
  __Pyx_GIVEREF(__pyx_tuple__491);

  /* "(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_tuple__492 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__492)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__492);
  __Pyx_GIVEREF(__pyx_tuple__492);

  /* "(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_tuple__493 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__493)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__493);
  __Pyx_GIVEREF(__pyx_tuple__493);

  /* "(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_tuple__494 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__494)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__494);
  __Pyx_GIVEREF(__pyx_tuple__494);

  /* "networkit/_NetworKit.pyx":79
 * # Cython helper functions
 * 
 * def stdstring(pystring):             # <<<<<<<<<<<<<<
 * 	""" convert a Python string to a bytes object which is automatically coerced to std::string"""
 * 	pybytes = pystring.encode("utf-8")
 */
  __pyx_tuple__495 = PyTuple_Pack(2, __pyx_n_s_pystring, __pyx_n_s_pybytes); if (unlikely(!__pyx_tuple__495)) __PYX_ERR(0, 79, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__495);
  __Pyx_GIVEREF(__pyx_tuple__495);
  __pyx_codeobj__496 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__495, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_stdstring, 79, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__496)) __PYX_ERR(0, 79, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":84
 * 	return pybytes
 * 
 * def pystring(stdstring):             # <<<<<<<<<<<<<<
 * 	""" convert a std::string (= python byte string) to a normal Python string"""
 * 	return stdstring.decode("utf-8")
 */
  __pyx_tuple__497 = PyTuple_Pack(1, __pyx_n_s_stdstring); if (unlikely(!__pyx_tuple__497)) __PYX_ERR(0, 84, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__497);
  __Pyx_GIVEREF(__pyx_tuple__497);
  __pyx_codeobj__498 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__497, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_pystring, 84, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__498)) __PYX_ERR(0, 84, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":211
 * 	void _setPrintLocation "Aux::Log::Settings::setPrintLocation" (bool_t) except +
 * 
 * def getLogLevel():             # <<<<<<<<<<<<<<
 * 	""" Get the current log level"""
 * 	return pystring(_getLogLevel())
 */
  __pyx_codeobj__499 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_getLogLevel, 211, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__499)) __PYX_ERR(0, 211, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":215
 * 	return pystring(_getLogLevel())
 * 
 * def setLogLevel(loglevel):             # <<<<<<<<<<<<<<
 * 	""" Set the current loglevel"""
 * 	_setLogLevel(stdstring(loglevel))
 */
  __pyx_tuple__500 = PyTuple_Pack(1, __pyx_n_s_loglevel); if (unlikely(!__pyx_tuple__500)) __PYX_ERR(0, 215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__500);
  __Pyx_GIVEREF(__pyx_tuple__500);
  __pyx_codeobj__501 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__500, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_setLogLevel, 215, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__501)) __PYX_ERR(0, 215, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":219
 * 	_setLogLevel(stdstring(loglevel))
 * 
 * def setPrintLocation(flag):             # <<<<<<<<<<<<<<
 * 	""" Switch locations in log statements on or off"""
 * 	_setPrintLocation(flag)
 */
  __pyx_tuple__502 = PyTuple_Pack(1, __pyx_n_s_flag); if (unlikely(!__pyx_tuple__502)) __PYX_ERR(0, 219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__502);
  __Pyx_GIVEREF(__pyx_tuple__502);
  __pyx_codeobj__503 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__502, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_setPrintLocation, 219, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__503)) __PYX_ERR(0, 219, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":230
 * 	void _enableNestedParallelism "Aux::enableNestedParallelism" ()
 * 
 * def setNumberOfThreads(nThreads):             # <<<<<<<<<<<<<<
 * 	""" Set the number of OpenMP threads """
 * 	_setNumberOfThreads(nThreads)
 */
  __pyx_tuple__504 = PyTuple_Pack(1, __pyx_n_s_nThreads); if (unlikely(!__pyx_tuple__504)) __PYX_ERR(0, 230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__504);
  __Pyx_GIVEREF(__pyx_tuple__504);
  __pyx_codeobj__505 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__504, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_setNumberOfThreads, 230, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__505)) __PYX_ERR(0, 230, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":234
 * 	_setNumberOfThreads(nThreads)
 * 
 * def getCurrentNumberOfThreads():             # <<<<<<<<<<<<<<
 * 	""" Get the number of currently running threads"""
 * 	return _getCurrentNumberOfThreads()
 */
  __pyx_codeobj__506 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_getCurrentNumberOfThreads, 234, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__506)) __PYX_ERR(0, 234, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":238
 * 	return _getCurrentNumberOfThreads()
 * 
 * def getMaxNumberOfThreads():             # <<<<<<<<<<<<<<
 * 	""" Get the maximum number of available threads"""
 * 	return _getMaxNumberOfThreads()
 */
  __pyx_codeobj__507 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_getMaxNumberOfThreads, 238, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__507)) __PYX_ERR(0, 238, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":242
 * 	return _getMaxNumberOfThreads()
 * 
 * def enableNestedParallelism():             # <<<<<<<<<<<<<<
 * 	""" Enable nested parallelism for OpenMP"""
 * 	from warnings import warn
 */
  __pyx_tuple__508 = PyTuple_Pack(1, __pyx_n_s_warn); if (unlikely(!__pyx_tuple__508)) __PYX_ERR(0, 242, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__508);
  __Pyx_GIVEREF(__pyx_tuple__508);
  __pyx_codeobj__509 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__508, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_enableNestedParallelism, 242, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__509)) __PYX_ERR(0, 242, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":251
 * 	void _setSeed "Aux::Random::setSeed" (uint64_t, bool_t)
 * 
 * def setSeed(uint64_t seed, bool_t useThreadId):             # <<<<<<<<<<<<<<
 * 	""" Set the random seed that is used in NetworKit.
 * 
 */
  __pyx_tuple__510 = PyTuple_Pack(2, __pyx_n_s_seed, __pyx_n_s_useThreadId); if (unlikely(!__pyx_tuple__510)) __PYX_ERR(0, 251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__510);
  __Pyx_GIVEREF(__pyx_tuple__510);
  __pyx_codeobj__511 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__510, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_setSeed, 251, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__511)) __PYX_ERR(0, 251, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5080
 * cdef class GraphClusteringTools:
 * 	@staticmethod
 * 	def getImbalance(Partition zeta):             # <<<<<<<<<<<<<<
 * 		return getImbalance(zeta._this)
 * 	@staticmethod
 */
  __pyx_tuple__512 = PyTuple_Pack(1, __pyx_n_s_zeta); if (unlikely(!__pyx_tuple__512)) __PYX_ERR(0, 5080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__512);
  __Pyx_GIVEREF(__pyx_tuple__512);
  __pyx_codeobj__513 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__512, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_getImbalance, 5080, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__513)) __PYX_ERR(0, 5080, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5083
 * 		return getImbalance(zeta._this)
 * 	@staticmethod
 * 	def communicationGraph(Graph graph, Partition zeta):             # <<<<<<<<<<<<<<
 * 		return Graph().setThis(communicationGraph(graph._this, zeta._this))
 * 	@staticmethod
 */
  __pyx_tuple__514 = PyTuple_Pack(2, __pyx_n_s_graph, __pyx_n_s_zeta); if (unlikely(!__pyx_tuple__514)) __PYX_ERR(0, 5083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__514);
  __Pyx_GIVEREF(__pyx_tuple__514);
  __pyx_codeobj__515 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__514, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_communicationGraph, 5083, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__515)) __PYX_ERR(0, 5083, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5086
 * 		return Graph().setThis(communicationGraph(graph._this, zeta._this))
 * 	@staticmethod
 * 	def weightedDegreeWithCluster(Graph graph, Partition zeta, node u, index cid):             # <<<<<<<<<<<<<<
 * 		return weightedDegreeWithCluster(graph._this, zeta._this, u, cid)
 * 	@staticmethod
 */
  __pyx_tuple__516 = PyTuple_Pack(4, __pyx_n_s_graph, __pyx_n_s_zeta, __pyx_n_s_u, __pyx_n_s_cid); if (unlikely(!__pyx_tuple__516)) __PYX_ERR(0, 5086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__516);
  __Pyx_GIVEREF(__pyx_tuple__516);
  __pyx_codeobj__517 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__516, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_weightedDegreeWithCluster, 5086, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__517)) __PYX_ERR(0, 5086, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5089
 * 		return weightedDegreeWithCluster(graph._this, zeta._this, u, cid)
 * 	@staticmethod
 * 	def isProperClustering(Graph G, Partition zeta):             # <<<<<<<<<<<<<<
 * 		return isProperClustering(G._this, zeta._this)
 * 	@staticmethod
 */
  __pyx_tuple__518 = PyTuple_Pack(2, __pyx_n_s_G, __pyx_n_s_zeta); if (unlikely(!__pyx_tuple__518)) __PYX_ERR(0, 5089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__518);
  __Pyx_GIVEREF(__pyx_tuple__518);
  __pyx_codeobj__519 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__518, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_isProperClustering, 5089, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__519)) __PYX_ERR(0, 5089, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5092
 * 		return isProperClustering(G._this, zeta._this)
 * 	@staticmethod
 * 	def isSingletonClustering(Graph G, Partition zeta):             # <<<<<<<<<<<<<<
 * 		return isSingletonClustering(G._this, zeta._this)
 * 	@staticmethod
 */
  __pyx_tuple__520 = PyTuple_Pack(2, __pyx_n_s_G, __pyx_n_s_zeta); if (unlikely(!__pyx_tuple__520)) __PYX_ERR(0, 5092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__520);
  __Pyx_GIVEREF(__pyx_tuple__520);
  __pyx_codeobj__521 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__520, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_isSingletonClustering, 5092, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__521)) __PYX_ERR(0, 5092, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5095
 * 		return isSingletonClustering(G._this, zeta._this)
 * 	@staticmethod
 * 	def isOneClustering(Graph G, Partition zeta):             # <<<<<<<<<<<<<<
 * 		return isOneClustering(G._this, zeta._this)
 * 	@staticmethod
 */
  __pyx_tuple__522 = PyTuple_Pack(2, __pyx_n_s_G, __pyx_n_s_zeta); if (unlikely(!__pyx_tuple__522)) __PYX_ERR(0, 5095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__522);
  __Pyx_GIVEREF(__pyx_tuple__522);
  __pyx_codeobj__523 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__522, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_isOneClustering, 5095, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__523)) __PYX_ERR(0, 5095, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5098
 * 		return isOneClustering(G._this, zeta._this)
 * 	@staticmethod
 * 	def equalClustering(Partition zeta, Partition eta, Graph G):             # <<<<<<<<<<<<<<
 * 		return equalClusterings(zeta._this, eta._this, G._this)
 * 
 */
  __pyx_tuple__524 = PyTuple_Pack(3, __pyx_n_s_zeta, __pyx_n_s_eta, __pyx_n_s_G); if (unlikely(!__pyx_tuple__524)) __PYX_ERR(0, 5098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__524);
  __Pyx_GIVEREF(__pyx_tuple__524);
  __pyx_codeobj__525 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__524, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_equalClustering, 5098, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__525)) __PYX_ERR(0, 5098, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5113
 * 
 * 	@staticmethod
 * 	def BFSfrom(Graph graph, start, object callback):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterate over nodes in breadth-first search order starting from the given node(s).
 */
  __pyx_tuple__526 = PyTuple_Pack(5, __pyx_n_s_graph, __pyx_n_s_start, __pyx_n_s_callback, __pyx_n_s_wrapper, __pyx_n_s_sources); if (unlikely(!__pyx_tuple__526)) __PYX_ERR(0, 5113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__526);
  __Pyx_GIVEREF(__pyx_tuple__526);
  __pyx_codeobj__527 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__526, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_BFSfrom, 5113, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__527)) __PYX_ERR(0, 5113, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5141
 * 
 * 	@staticmethod
 * 	def BFSEdgesFrom(Graph graph, node start, object callback):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterate over edges in breadth-first search order starting from the given node(s).
 */
  __pyx_tuple__528 = PyTuple_Pack(4, __pyx_n_s_graph, __pyx_n_s_start, __pyx_n_s_callback, __pyx_n_s_wrapper); if (unlikely(!__pyx_tuple__528)) __PYX_ERR(0, 5141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__528);
  __Pyx_GIVEREF(__pyx_tuple__528);
  __pyx_codeobj__529 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__528, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_BFSEdgesFrom, 5141, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__529)) __PYX_ERR(0, 5141, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5164
 * 
 * 	@staticmethod
 * 	def DFSfrom(Graph graph, node start, object callback):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterate over nodes in depth-first search order starting from the given node(s).
 */
  __pyx_tuple__530 = PyTuple_Pack(4, __pyx_n_s_graph, __pyx_n_s_start, __pyx_n_s_callback, __pyx_n_s_wrapper); if (unlikely(!__pyx_tuple__530)) __PYX_ERR(0, 5164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__530);
  __Pyx_GIVEREF(__pyx_tuple__530);
  __pyx_codeobj__531 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__530, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_DFSfrom, 5164, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__531)) __PYX_ERR(0, 5164, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5185
 * 
 * 	@staticmethod
 * 	def DFSEdgesFrom(Graph graph, node start, object callback):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterate over edges in depth-first search order starting from the given node(s).
 */
  __pyx_tuple__532 = PyTuple_Pack(4, __pyx_n_s_graph, __pyx_n_s_start, __pyx_n_s_callback, __pyx_n_s_wrapper); if (unlikely(!__pyx_tuple__532)) __PYX_ERR(0, 5185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__532);
  __Pyx_GIVEREF(__pyx_tuple__532);
  __pyx_codeobj__533 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__532, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_DFSEdgesFrom, 5185, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__533)) __PYX_ERR(0, 5185, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5234
 * 
 * 	@staticmethod
 * 	def maxDegree(Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the maximum out-degree of the graph.
 */
  __pyx_tuple__534 = PyTuple_Pack(1, __pyx_n_s_G); if (unlikely(!__pyx_tuple__534)) __PYX_ERR(0, 5234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__534);
  __Pyx_GIVEREF(__pyx_tuple__534);
  __pyx_codeobj__535 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__534, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_maxDegree, 5234, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__535)) __PYX_ERR(0, 5234, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5251
 * 
 * 	@staticmethod
 * 	def maxInDegree(Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the maximum in-degree of the graph.
 */
  __pyx_tuple__536 = PyTuple_Pack(1, __pyx_n_s_G); if (unlikely(!__pyx_tuple__536)) __PYX_ERR(0, 5251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__536);
  __Pyx_GIVEREF(__pyx_tuple__536);
  __pyx_codeobj__537 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__536, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_maxInDegree, 5251, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__537)) __PYX_ERR(0, 5251, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5268
 * 
 * 	@staticmethod
 * 	def maxWeightedDegree(Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the maximum weighted out-degree of the graph.
 */
  __pyx_tuple__538 = PyTuple_Pack(1, __pyx_n_s_G); if (unlikely(!__pyx_tuple__538)) __PYX_ERR(0, 5268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__538);
  __Pyx_GIVEREF(__pyx_tuple__538);
  __pyx_codeobj__539 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__538, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_maxWeightedDegree, 5268, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__539)) __PYX_ERR(0, 5268, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5285
 * 
 * 	@staticmethod
 * 	def maxWeightedInDegree(Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the maximum weighted in-degree of the graph.
 */
  __pyx_tuple__540 = PyTuple_Pack(1, __pyx_n_s_G); if (unlikely(!__pyx_tuple__540)) __PYX_ERR(0, 5285, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__540);
  __Pyx_GIVEREF(__pyx_tuple__540);
  __pyx_codeobj__541 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__540, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_maxWeightedInDegree, 5285, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__541)) __PYX_ERR(0, 5285, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5302
 * 
 * 	@staticmethod
 * 	def randomNode(Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns a random node of the input graph.
 */
  __pyx_tuple__542 = PyTuple_Pack(1, __pyx_n_s_G); if (unlikely(!__pyx_tuple__542)) __PYX_ERR(0, 5302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__542);
  __Pyx_GIVEREF(__pyx_tuple__542);
  __pyx_codeobj__543 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__542, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_randomNode, 5302, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__543)) __PYX_ERR(0, 5302, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5319
 * 
 * 	@staticmethod
 * 	def randomNeighbor(Graph G, node u):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns a random neighbor of node `u`.
 */
  __pyx_tuple__544 = PyTuple_Pack(2, __pyx_n_s_G, __pyx_n_s_u); if (unlikely(!__pyx_tuple__544)) __PYX_ERR(0, 5319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__544);
  __Pyx_GIVEREF(__pyx_tuple__544);
  __pyx_codeobj__545 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__544, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_randomNeighbor, 5319, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__545)) __PYX_ERR(0, 5319, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5338
 * 
 * 	@staticmethod
 * 	def randomEdge(Graph G, uniformDistribution = False):             # <<<<<<<<<<<<<<
 * 		""" Get a random edge of the graph.
 * 
 */
  __pyx_tuple__546 = PyTuple_Pack(2, __pyx_n_s_G, __pyx_n_s_uniformDistribution); if (unlikely(!__pyx_tuple__546)) __PYX_ERR(0, 5338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__546);
  __Pyx_GIVEREF(__pyx_tuple__546);
  __pyx_codeobj__547 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__546, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_randomEdge, 5338, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__547)) __PYX_ERR(0, 5338, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5361
 * 
 * 	@staticmethod
 * 	def randomEdges(Graph G, numEdges):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns a list with numEdges random edges. The edges are chosen uniformly at random.
 */
  __pyx_tuple__548 = PyTuple_Pack(2, __pyx_n_s_G, __pyx_n_s_numEdges); if (unlikely(!__pyx_tuple__548)) __PYX_ERR(0, 5361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__548);
  __Pyx_GIVEREF(__pyx_tuple__548);
  __pyx_codeobj__549 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__548, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_randomEdges, 5361, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__549)) __PYX_ERR(0, 5361, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5380
 * 
 * 	@staticmethod
 * 	def append(Graph G, Graph G1):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Appends graph `G1` to graph `G` as a new subgraph. Performs node id remapping.
 */
  __pyx_tuple__550 = PyTuple_Pack(2, __pyx_n_s_G, __pyx_n_s_G1); if (unlikely(!__pyx_tuple__550)) __PYX_ERR(0, 5380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__550);
  __Pyx_GIVEREF(__pyx_tuple__550);
  __pyx_codeobj__551 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__550, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_append, 5380, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__551)) __PYX_ERR(0, 5380, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5394
 * 
 * 	@staticmethod
 * 	def merge(Graph G, Graph G1):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Modifies graph `G` to be the union of it and graph `G1`.
 */
  __pyx_tuple__552 = PyTuple_Pack(2, __pyx_n_s_G, __pyx_n_s_G1); if (unlikely(!__pyx_tuple__552)) __PYX_ERR(0, 5394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__552);
  __Pyx_GIVEREF(__pyx_tuple__552);
  __pyx_codeobj__553 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__552, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_merge, 5394, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__553)) __PYX_ERR(0, 5394, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5409
 * 
 * 	@staticmethod
 * 	def removeEdgesFromIsolatedSet(Graph graph, nodes):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Efficiently removes all the edges adjacent to a set of nodes that is
 */
  __pyx_tuple__554 = PyTuple_Pack(3, __pyx_n_s_graph, __pyx_n_s_nodes, __pyx_n_s_isolatedSet); if (unlikely(!__pyx_tuple__554)) __PYX_ERR(0, 5409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__554);
  __Pyx_GIVEREF(__pyx_tuple__554);
  __pyx_codeobj__555 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__554, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_removeEdgesFromIsolatedSet, 5409, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__555)) __PYX_ERR(0, 5409, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5432
 * 
 * 	@staticmethod
 * 	def toUndirected(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns an undirected copy of the input graph.
 */
  __pyx_tuple__556 = PyTuple_Pack(1, __pyx_n_s_graph); if (unlikely(!__pyx_tuple__556)) __PYX_ERR(0, 5432, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__556);
  __Pyx_GIVEREF(__pyx_tuple__556);
  __pyx_codeobj__557 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__556, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_toUndirected, 5432, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__557)) __PYX_ERR(0, 5432, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5449
 * 
 * 	@staticmethod
 * 	def toUnweighted(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns an unweighted copy of the input graph.
 */
  __pyx_tuple__558 = PyTuple_Pack(1, __pyx_n_s_graph); if (unlikely(!__pyx_tuple__558)) __PYX_ERR(0, 5449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__558);
  __Pyx_GIVEREF(__pyx_tuple__558);
  __pyx_codeobj__559 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__558, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_toUnweighted, 5449, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__559)) __PYX_ERR(0, 5449, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5466
 * 
 * 	@staticmethod
 * 	def toWeighted(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns a weighted copy of the input graph.
 */
  __pyx_tuple__560 = PyTuple_Pack(1, __pyx_n_s_graph); if (unlikely(!__pyx_tuple__560)) __PYX_ERR(0, 5466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__560);
  __Pyx_GIVEREF(__pyx_tuple__560);
  __pyx_codeobj__561 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__560, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_toWeighted, 5466, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__561)) __PYX_ERR(0, 5466, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5483
 * 
 * 	@staticmethod
 * 	def size(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Return the size of the graph.
 */
  __pyx_tuple__562 = PyTuple_Pack(1, __pyx_n_s_graph); if (unlikely(!__pyx_tuple__562)) __PYX_ERR(0, 5483, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__562);
  __Pyx_GIVEREF(__pyx_tuple__562);
  __pyx_codeobj__563 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__562, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_size, 5483, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__563)) __PYX_ERR(0, 5483, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5495
 * 
 * 	@staticmethod
 * 	def density(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get the density of the input graph.
 */
  __pyx_tuple__564 = PyTuple_Pack(1, __pyx_n_s_graph); if (unlikely(!__pyx_tuple__564)) __PYX_ERR(0, 5495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__564);
  __Pyx_GIVEREF(__pyx_tuple__564);
  __pyx_codeobj__565 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__564, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_density, 5495, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__565)) __PYX_ERR(0, 5495, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5512
 * 
 * 	@staticmethod
 * 	def copyNodes(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Copies all nodes of the input graph to a new graph (edges are not copied).
 */
  __pyx_tuple__566 = PyTuple_Pack(1, __pyx_n_s_graph); if (unlikely(!__pyx_tuple__566)) __PYX_ERR(0, 5512, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__566);
  __Pyx_GIVEREF(__pyx_tuple__566);
  __pyx_codeobj__567 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__566, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_copyNodes, 5512, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__567)) __PYX_ERR(0, 5512, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5529
 * 
 * 	@staticmethod
 * 	def subgraphFromNodes(Graph graph, nodes, includeOutNeighbors=False, includeInNeighbors=False):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns an induced subgraph of the input graph (including potential edge
 */
  __pyx_tuple__568 = PyTuple_Pack(4, __pyx_n_s_graph, __pyx_n_s_nodes, __pyx_n_s_includeOutNeighbors, __pyx_n_s_includeInNeighbors); if (unlikely(!__pyx_tuple__568)) __PYX_ERR(0, 5529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__568);
  __Pyx_GIVEREF(__pyx_tuple__568);
  __pyx_codeobj__569 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__568, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_subgraphFromNodes, 5529, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__569)) __PYX_ERR(0, 5529, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5554
 * 
 * 	@staticmethod
 * 	def transpose(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the transpose of the input graph. The graph must be directed.
 */
  __pyx_tuple__570 = PyTuple_Pack(1, __pyx_n_s_graph); if (unlikely(!__pyx_tuple__570)) __PYX_ERR(0, 5554, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__570);
  __Pyx_GIVEREF(__pyx_tuple__570);
  __pyx_codeobj__571 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__570, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_transpose, 5554, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__571)) __PYX_ERR(0, 5554, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5570
 * 
 * 	@staticmethod
 * 	def getCompactedGraph(Graph graph, nodeIdMap):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Computes a graph with the same structure but with continuous node ids.
 */
  __pyx_tuple__572 = PyTuple_Pack(4, __pyx_n_s_graph, __pyx_n_s_nodeIdMap, __pyx_n_s_cNodeIdMap, __pyx_n_s_key); if (unlikely(!__pyx_tuple__572)) __PYX_ERR(0, 5570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__572);
  __Pyx_GIVEREF(__pyx_tuple__572);
  __pyx_codeobj__573 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__572, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_getCompactedGraph, 5570, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__573)) __PYX_ERR(0, 5570, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5592
 * 
 * 	@staticmethod
 * 	def getContinuousNodeIds(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Computes a map of node ids to continuous node ids.
 */
  __pyx_tuple__574 = PyTuple_Pack(4, __pyx_n_s_graph, __pyx_n_s_cResult, __pyx_n_s_result, __pyx_n_s_elem); if (unlikely(!__pyx_tuple__574)) __PYX_ERR(0, 5592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__574);
  __Pyx_GIVEREF(__pyx_tuple__574);
  __pyx_codeobj__575 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__574, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_getContinuousNodeIds, 5592, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__575)) __PYX_ERR(0, 5592, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5613
 * 
 * 	@staticmethod
 * 	def getRandomContinuousNodeIds(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Computes a map of node ids to continuous, randomly permutated node ids.
 */
  __pyx_tuple__576 = PyTuple_Pack(4, __pyx_n_s_graph, __pyx_n_s_cResult, __pyx_n_s_result, __pyx_n_s_elem); if (unlikely(!__pyx_tuple__576)) __PYX_ERR(0, 5613, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__576);
  __Pyx_GIVEREF(__pyx_tuple__576);
  __pyx_codeobj__577 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__576, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_getRandomContinuousNodeIds, 5613, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__577)) __PYX_ERR(0, 5613, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5741
 * 	cdef _HubDominance _this
 * 
 * 	def getQuality(self, PartitionCover zeta, Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Calculates the dominance of hubs in the given Partition or Cover of the given
 */
  __pyx_tuple__578 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_zeta, __pyx_n_s_G); if (unlikely(!__pyx_tuple__578)) __PYX_ERR(0, 5741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__578);
  __Pyx_GIVEREF(__pyx_tuple__578);
  __pyx_codeobj__579 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__578, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_getQuality, 5741, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__579)) __PYX_ERR(0, 5741, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5927
 * 
 * 	@staticmethod
 * 	def coarsen(Graph G, Partition zeta, bool_t parallel = False):             # <<<<<<<<<<<<<<
 * 		cdef pair[_Graph, vector[node]] result = move(PLM_coarsen(G._this, zeta._this))
 * 		return (Graph().setThis(result.first), result.second)
 */
  __pyx_tuple__580 = PyTuple_Pack(4, __pyx_n_s_G, __pyx_n_s_zeta, __pyx_n_s_parallel, __pyx_n_s_result); if (unlikely(!__pyx_tuple__580)) __PYX_ERR(0, 5927, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__580);
  __Pyx_GIVEREF(__pyx_tuple__580);
  __pyx_codeobj__581 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__580, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_coarsen, 5927, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__581)) __PYX_ERR(0, 5927, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5932
 * 
 * 	@staticmethod
 * 	def prolong(Graph Gcoarse, Partition zetaCoarse, Graph Gfine, vector[node] nodeToMetaNode):             # <<<<<<<<<<<<<<
 * 		return Partition().setThis(PLM_prolong(Gcoarse._this, zetaCoarse._this, Gfine._this, nodeToMetaNode))
 * 
 */
  __pyx_tuple__582 = PyTuple_Pack(4, __pyx_n_s_Gcoarse, __pyx_n_s_zetaCoarse, __pyx_n_s_Gfine, __pyx_n_s_nodeToMetaNode); if (unlikely(!__pyx_tuple__582)) __PYX_ERR(0, 5932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__582);
  __Pyx_GIVEREF(__pyx_tuple__582);
  __pyx_codeobj__583 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__582, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_prolong, 5932, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__583)) __PYX_ERR(0, 5932, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":5963
 * 
 * 	@staticmethod
 * 	def getClusterHierarchy(Graph G not None):             # <<<<<<<<<<<<<<
 * 		""" Get the complete hierarchy with all possible parameter values.
 * 
 */
  __pyx_tuple__584 = PyTuple_Pack(4, __pyx_n_s_G, __pyx_n_s_result, __pyx_n_s_pyResult, __pyx_n_s_res); if (unlikely(!__pyx_tuple__584)) __PYX_ERR(0, 5963, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__584);
  __Pyx_GIVEREF(__pyx_tuple__584);
  __pyx_codeobj__585 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__584, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_getClusterHierarchy, 5963, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__585)) __PYX_ERR(0, 5963, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":6705
 * 
 * 	@staticmethod
 * 	def extractLargestConnectedComponent(Graph graph, bool_t compactGraph = False):             # <<<<<<<<<<<<<<
 * 		"""
 * 			Constructs a new graph that contains only the nodes inside the
 */
  __pyx_tuple__586 = PyTuple_Pack(2, __pyx_n_s_graph, __pyx_n_s_compactGraph); if (unlikely(!__pyx_tuple__586)) __PYX_ERR(0, 6705, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__586);
  __Pyx_GIVEREF(__pyx_tuple__586);
  __pyx_codeobj__587 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__586, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_extractLargestConnectedComponent, 6705, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__587)) __PYX_ERR(0, 6705, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":7125
 * cdef class ClusteringCoefficient:
 * 	@staticmethod
 * 	def avgLocal(Graph G, bool_t turbo = False):             # <<<<<<<<<<<<<<
 * 		"""
 * 		DEPRECATED: Use centrality.LocalClusteringCoefficient and take average.
 */
  __pyx_tuple__588 = PyTuple_Pack(3, __pyx_n_s_G, __pyx_n_s_turbo, __pyx_n_s_ret); if (unlikely(!__pyx_tuple__588)) __PYX_ERR(0, 7125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__588);
  __Pyx_GIVEREF(__pyx_tuple__588);
  __pyx_codeobj__589 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__588, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_avgLocal, 7125, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__589)) __PYX_ERR(0, 7125, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":7152
 * 
 * 	@staticmethod
 * 	def sequentialAvgLocal(Graph G):             # <<<<<<<<<<<<<<
 * 		""" This calculates the average local clustering coefficient of graph `G` using inherently sequential triangle counting.
 * 		Parameters
 */
  __pyx_tuple__590 = PyTuple_Pack(2, __pyx_n_s_G, __pyx_n_s_ret); if (unlikely(!__pyx_tuple__590)) __PYX_ERR(0, 7152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__590);
  __Pyx_GIVEREF(__pyx_tuple__590);
  __pyx_codeobj__591 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__590, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_sequentialAvgLocal, 7152, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__591)) __PYX_ERR(0, 7152, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":7175
 * 
 * 	@staticmethod
 * 	def approxAvgLocal(Graph G, count trials):             # <<<<<<<<<<<<<<
 * 		cdef double ret
 * 		with nogil:
 */
  __pyx_tuple__592 = PyTuple_Pack(3, __pyx_n_s_G, __pyx_n_s_trials, __pyx_n_s_ret); if (unlikely(!__pyx_tuple__592)) __PYX_ERR(0, 7175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__592);
  __Pyx_GIVEREF(__pyx_tuple__592);
  __pyx_codeobj__593 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__592, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_approxAvgLocal, 7175, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__593)) __PYX_ERR(0, 7175, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":7182
 * 
 * 	@staticmethod
 * 	def exactGlobal(Graph G):             # <<<<<<<<<<<<<<
 * 		""" This calculates the global clustering coefficient. """
 * 		cdef double ret
 */
  __pyx_tuple__594 = PyTuple_Pack(2, __pyx_n_s_G, __pyx_n_s_ret); if (unlikely(!__pyx_tuple__594)) __PYX_ERR(0, 7182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__594);
  __Pyx_GIVEREF(__pyx_tuple__594);
  __pyx_codeobj__595 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__594, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_exactGlobal, 7182, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__595)) __PYX_ERR(0, 7182, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":7190
 * 
 * 	@staticmethod
 * 	def approxGlobal(Graph G, count trials):             # <<<<<<<<<<<<<<
 * 		cdef double ret
 * 		with nogil:
 */
  __pyx_tuple__596 = PyTuple_Pack(3, __pyx_n_s_G, __pyx_n_s_trials, __pyx_n_s_ret); if (unlikely(!__pyx_tuple__596)) __PYX_ERR(0, 7190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__596);
  __Pyx_GIVEREF(__pyx_tuple__596);
  __pyx_codeobj__597 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__596, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_approxGlobal, 7190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__597)) __PYX_ERR(0, 7190, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":7205
 * 		estimatedPedantic = 4
 * 
 * class _DiameterAlgo(object):             # <<<<<<<<<<<<<<
 * 	Automatic = automatic
 * 	Exact = exact
 */
  __pyx_tuple__598 = PyTuple_Pack(1, __pyx_builtin_object); if (unlikely(!__pyx_tuple__598)) __PYX_ERR(0, 7205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__598);
  __Pyx_GIVEREF(__pyx_tuple__598);

  /* "networkit/_NetworKit.pyx":7241
 * 
 * 	@staticmethod
 * 	def getValue(Graph G, v):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */
  __pyx_tuple__599 = PyTuple_Pack(2, __pyx_n_s_G, __pyx_n_s_v); if (unlikely(!__pyx_tuple__599)) __PYX_ERR(0, 7241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__599);
  __Pyx_GIVEREF(__pyx_tuple__599);
  __pyx_codeobj__600 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__599, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_getValue, 7241, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__600)) __PYX_ERR(0, 7241, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":8160
 * 		generalized = 1
 * 
 * class _ClosenessVariant(object):             # <<<<<<<<<<<<<<
 * 	Standard = standard
 * 	Generalized = generalized
 */
  __pyx_tuple__601 = PyTuple_Pack(1, __pyx_builtin_object); if (unlikely(!__pyx_tuple__601)) __PYX_ERR(0, 8160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__601);
  __Pyx_GIVEREF(__pyx_tuple__601);

  /* "networkit/_NetworKit.pyx":10101
 * 
 * 	@staticmethod
 * 	def volume(Graph G, r, count samples=500):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Number of nodes within a given radius (or radii); average for many nodes
 */
  __pyx_tuple__602 = PyTuple_Pack(11, __pyx_n_s_G, __pyx_n_s_r, __pyx_n_s_samples, __pyx_n_s_r_2, __pyx_n_s_rs, __pyx_n_s_v_2, __pyx_n_s_vs, __pyx_n_s_is_number, __pyx_n_s_is_number, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__602)) __PYX_ERR(0, 10101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__602);
  __Pyx_GIVEREF(__pyx_tuple__602);
  __pyx_codeobj__603 = (PyObject*)__Pyx_PyCode_New(3, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__602, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_volume, 10101, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__603)) __PYX_ERR(0, 10101, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":10596
 * 
 * 	@staticmethod
 * 	def byPercentage(Graph G, double percentage):             # <<<<<<<<<<<<<<
 * 		""" Returns a graph that contains percentage percent of links form the given graph G.
 * 
 */
  __pyx_tuple__604 = PyTuple_Pack(2, __pyx_n_s_G, __pyx_n_s_percentage); if (unlikely(!__pyx_tuple__604)) __PYX_ERR(0, 10596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__604);
  __Pyx_GIVEREF(__pyx_tuple__604);
  __pyx_codeobj__605 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__604, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_byPercentage, 10596, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__605)) __PYX_ERR(0, 10596, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":10616
 * 
 * 	@staticmethod
 * 	def byCount(Graph G, count numLinks):             # <<<<<<<<<<<<<<
 * 		""" Returns a graph that contains numLinks links from the given graph G.
 * 
 */
  __pyx_tuple__606 = PyTuple_Pack(2, __pyx_n_s_G, __pyx_n_s_numLinks); if (unlikely(!__pyx_tuple__606)) __PYX_ERR(0, 10616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__606);
  __Pyx_GIVEREF(__pyx_tuple__606);
  __pyx_codeobj__607 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__606, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_byCount, 10616, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__607)) __PYX_ERR(0, 10616, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":10882
 * 
 * 	@staticmethod
 * 	def getNeighborsUnion(Graph G, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the union of the neighboorhoods of u and v.
 * 
 */
  __pyx_tuple__608 = PyTuple_Pack(3, __pyx_n_s_G, __pyx_n_s_u, __pyx_n_s_v); if (unlikely(!__pyx_tuple__608)) __PYX_ERR(0, 10882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__608);
  __Pyx_GIVEREF(__pyx_tuple__608);
  __pyx_codeobj__609 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__608, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_getNeighborsUnion, 10882, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__609)) __PYX_ERR(0, 10882, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":10901
 * 
 * 	@staticmethod
 * 	def getCommonNeighbors(Graph G, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns a vector containing the node-ids of all common neighbors of u and v.
 * 
 */
  __pyx_tuple__610 = PyTuple_Pack(3, __pyx_n_s_G, __pyx_n_s_u, __pyx_n_s_v); if (unlikely(!__pyx_tuple__610)) __PYX_ERR(0, 10901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__610);
  __Pyx_GIVEREF(__pyx_tuple__610);
  __pyx_codeobj__611 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__610, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_getCommonNeighbors, 10901, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__611)) __PYX_ERR(0, 10901, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":10933
 * 
 * 	@staticmethod
 * 	def byScore(vector[pair[pair[node, node], double]] predictions, double minScore):             # <<<<<<<<<<<<<<
 * 		""" Returns the node-pairs whose scores are at least equal to the given minScore.
 * 
 */
  __pyx_tuple__612 = PyTuple_Pack(2, __pyx_n_s_predictions, __pyx_n_s_minScore); if (unlikely(!__pyx_tuple__612)) __PYX_ERR(0, 10933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__612);
  __Pyx_GIVEREF(__pyx_tuple__612);
  __pyx_codeobj__613 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__612, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_byScore, 10933, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__613)) __PYX_ERR(0, 10933, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":10950
 * 
 * 	@staticmethod
 * 	def byCount(vector[pair[pair[node, node], double]] predictions, count numLinks):             # <<<<<<<<<<<<<<
 * 		""" Returns the first numLinks highest scored node-pairs.
 * 
 */
  __pyx_tuple__614 = PyTuple_Pack(2, __pyx_n_s_predictions, __pyx_n_s_numLinks); if (unlikely(!__pyx_tuple__614)) __PYX_ERR(0, 10950, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__614);
  __Pyx_GIVEREF(__pyx_tuple__614);
  __pyx_codeobj__615 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__614, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_byCount, 10950, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__615)) __PYX_ERR(0, 10950, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":10967
 * 
 * 	@staticmethod
 * 	def byPercentage(vector[pair[pair[node, node], double]] predictions, double percentageLinks):             # <<<<<<<<<<<<<<
 * 		""" Returns the first percentageLinks percent of the highest scores node-pairs.
 * 
 */
  __pyx_tuple__616 = PyTuple_Pack(2, __pyx_n_s_predictions, __pyx_n_s_percentageLinks); if (unlikely(!__pyx_tuple__616)) __PYX_ERR(0, 10967, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__616);
  __Pyx_GIVEREF(__pyx_tuple__616);
  __pyx_codeobj__617 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__616, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_byPercentage, 10967, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__617)) __PYX_ERR(0, 10967, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":10992
 * 
 * 	@staticmethod
 * 	def sortByScore(list predictions):             # <<<<<<<<<<<<<<
 * 		""" Sorts the given predictions descendingly by score.
 * 
 */
  __pyx_tuple__618 = PyTuple_Pack(2, __pyx_n_s_predictions, __pyx_n_s_predCopy); if (unlikely(!__pyx_tuple__618)) __PYX_ERR(0, 10992, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__618);
  __Pyx_GIVEREF(__pyx_tuple__618);
  __pyx_codeobj__619 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__618, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_sortByScore, 10992, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__619)) __PYX_ERR(0, 10992, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":11008
 * 
 * 	@staticmethod
 * 	def sortByNodePair(list predictions):             # <<<<<<<<<<<<<<
 * 		""" Sorts the predictions ascendingly by node-pair.
 * 
 */
  __pyx_tuple__620 = PyTuple_Pack(2, __pyx_n_s_predictions, __pyx_n_s_predCopy); if (unlikely(!__pyx_tuple__620)) __PYX_ERR(0, 11008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__620);
  __Pyx_GIVEREF(__pyx_tuple__620);
  __pyx_codeobj__621 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__620, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_sortByNodePair, 11008, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__621)) __PYX_ERR(0, 11008, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":11930
 * # profiling
 * 
 * def ranked(sample):             # <<<<<<<<<<<<<<
 * 	"""
 * 		Given a list of numbers, this function computes the rank of each value
 */
  __pyx_tuple__622 = PyTuple_Pack(8, __pyx_n_s_sample, __pyx_n_s_helper, __pyx_n_s_result, __pyx_n_s_i, __pyx_n_s_value, __pyx_n_s_summ, __pyx_n_s_length, __pyx_n_s_j); if (unlikely(!__pyx_tuple__622)) __PYX_ERR(0, 11930, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__622);
  __Pyx_GIVEREF(__pyx_tuple__622);
  __pyx_codeobj__623 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__622, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_ranked, 11930, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__623)) __PYX_ERR(0, 11930, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":11961
 * 	return result
 * 
 * def sort2(sample):             # <<<<<<<<<<<<<<
 * 	"""
 * 		Sorts a given list of numbers.
 */
  __pyx_tuple__624 = PyTuple_Pack(2, __pyx_n_s_sample, __pyx_n_s_result); if (unlikely(!__pyx_tuple__624)) __PYX_ERR(0, 11961, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__624);
  __Pyx_GIVEREF(__pyx_tuple__624);
  __pyx_codeobj__625 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__624, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_sort2, 11961, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__625)) __PYX_ERR(0, 11961, __pyx_L1_error)

  /* "networkit/_NetworKit.pyx":12035
 * # stats
 * 
 * def gini(values):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Computes the Gini coefficient for the distribution given as a list of values.
 */
  __pyx_tuple__626 = PyTuple_Pack(6, __pyx_n_s_values, __pyx_n_s_sorted_list, __pyx_n_s_height, __pyx_n_s_area, __pyx_n_s_value, __pyx_n_s_fair_area); if (unlikely(!__pyx_tuple__626)) __PYX_ERR(0, 12035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__626);
  __Pyx_GIVEREF(__pyx_tuple__626);
  __pyx_codeobj__627 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__626, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_networkit__NetworKit_pyx, __pyx_n_s_gini, 12035, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__627)) __PYX_ERR(0, 12035, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __pyx_unpickle_GraphClusteringTools(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */
  __pyx_tuple__628 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__628)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__628);
  __Pyx_GIVEREF(__pyx_tuple__628);
  __pyx_codeobj__629 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__628, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_GraphClusteringTo, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__629)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_tuple__630 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__630)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__630);
  __Pyx_GIVEREF(__pyx_tuple__630);
  __pyx_codeobj__631 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__630, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Traversal, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__631)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_tuple__632 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__632)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__632);
  __Pyx_GIVEREF(__pyx_tuple__632);
  __pyx_codeobj__633 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__632, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_GraphTools, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__633)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_tuple__634 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__634)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__634);
  __Pyx_GIVEREF(__pyx_tuple__634);
  __pyx_codeobj__635 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__634, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_DissimilarityMeas, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__635)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_tuple__636 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__636)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__636);
  __Pyx_GIVEREF(__pyx_tuple__636);
  __pyx_codeobj__637 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__636, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_ClusteringCoeffic, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__637)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_tuple__638 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__638)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__638);
  __Pyx_GIVEREF(__pyx_tuple__638);
  __pyx_codeobj__639 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__638, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Eccentricity, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__639)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_tuple__640 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__640)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__640);
  __Pyx_GIVEREF(__pyx_tuple__640);
  __pyx_codeobj__641 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__640, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Volume, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__641)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_tuple__642 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__642)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__642);
  __Pyx_GIVEREF(__pyx_tuple__642);
  __pyx_codeobj__643 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__642, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_RandomLinkSampler, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__643)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_tuple__644 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__644)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__644);
  __Pyx_GIVEREF(__pyx_tuple__644);
  __pyx_codeobj__645 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__644, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_NeighborhoodUtili, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__645)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_tuple__646 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__646)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__646);
  __Pyx_GIVEREF(__pyx_tuple__646);
  __pyx_codeobj__647 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__646, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_LinkThresholder, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__647)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_tuple__648 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__648)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__648);
  __Pyx_GIVEREF(__pyx_tuple__648);
  __pyx_codeobj__649 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__648, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_PredictionsSorter, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__649)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_RefNannyFinishContext();
  return -1;
}

static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
  if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 2, __pyx_L1_error);
  __pyx_float_2_ = PyFloat_FromDouble(2.); if (unlikely(!__pyx_float_2_)) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_float_0_1 = PyFloat_FromDouble(0.1); if (unlikely(!__pyx_float_0_1)) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_float_0_2 = PyFloat_FromDouble(0.2); if (unlikely(!__pyx_float_0_2)) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_float_1_0 = PyFloat_FromDouble(1.0); if (unlikely(!__pyx_float_1_0)) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_float_0_01 = PyFloat_FromDouble(0.01); if (unlikely(!__pyx_float_0_01)) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_float_1_05 = PyFloat_FromDouble(1.05); if (unlikely(!__pyx_float_1_05)) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_float_1eneg_4 = PyFloat_FromDouble(1e-4); if (unlikely(!__pyx_float_1eneg_4)) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_float_1eneg_8 = PyFloat_FromDouble(1e-8); if (unlikely(!__pyx_float_1eneg_8)) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_float_1eneg_9 = PyFloat_FromDouble(1e-9); if (unlikely(!__pyx_float_1eneg_9)) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_float_0_001 = PyFloat_FromDouble(0.001); if (unlikely(!__pyx_float_0_001)) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_float_neg_1_ = PyFloat_FromDouble(-1.); if (unlikely(!__pyx_float_neg_1_)) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_int_6 = PyInt_FromLong(6); if (unlikely(!__pyx_int_6)) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_int_7 = PyInt_FromLong(7); if (unlikely(!__pyx_int_7)) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_int_20 = PyInt_FromLong(20); if (unlikely(!__pyx_int_20)) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_int_32 = PyInt_FromLong(32); if (unlikely(!__pyx_int_32)) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_int_50 = PyInt_FromLong(50); if (unlikely(!__pyx_int_50)) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_int_100 = PyInt_FromLong(100); if (unlikely(!__pyx_int_100)) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_int_222419149 = PyInt_FromLong(222419149L); if (unlikely(!__pyx_int_222419149)) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) __PYX_ERR(0, 2, __pyx_L1_error)
  return 0;
  __pyx_L1_error:;
  return -1;
}

static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/

static int __Pyx_modinit_global_init_code(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0);
  /*--- Global init code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_variable_export_code(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0);
  /*--- Variable export code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_function_export_code(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0);
  /*--- Function export code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_type_init_code(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0);
  /*--- Type init code ---*/
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_Algorithm) < 0) __PYX_ERR(0, 98, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_Algorithm.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_Algorithm.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_Algorithm.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_Algorithm.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Algorithm, (PyObject *)&__pyx_type_9networkit_10_NetworKit_Algorithm) < 0) __PYX_ERR(0, 98, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_Algorithm) < 0) __PYX_ERR(0, 98, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_Algorithm = &__pyx_type_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_StaticGraphGenerator) < 0) __PYX_ERR(0, 173, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_StaticGraphGenerator.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_StaticGraphGenerator.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_StaticGraphGenerator.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_StaticGraphGenerator.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_StaticGraphGenerator, (PyObject *)&__pyx_type_9networkit_10_NetworKit_StaticGraphGenerator) < 0) __PYX_ERR(0, 173, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_StaticGraphGenerator) < 0) __PYX_ERR(0, 173, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_StaticGraphGenerator = &__pyx_type_9networkit_10_NetworKit_StaticGraphGenerator;
  __pyx_vtabptr_9networkit_10_NetworKit_Graph = &__pyx_vtable_9networkit_10_NetworKit_Graph;
  __pyx_vtable_9networkit_10_NetworKit_Graph.setThis = (PyObject *(*)(struct __pyx_obj_9networkit_10_NetworKit_Graph *, NetworKit::Graph &))__pyx_f_9networkit_10_NetworKit_5Graph_setThis;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_Graph) < 0) __PYX_ERR(0, 507, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_Graph.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_Graph.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_Graph.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_Graph.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_9networkit_10_NetworKit_Graph.tp_dict, __pyx_vtabptr_9networkit_10_NetworKit_Graph) < 0) __PYX_ERR(0, 507, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Graph, (PyObject *)&__pyx_type_9networkit_10_NetworKit_Graph) < 0) __PYX_ERR(0, 507, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_Graph) < 0) __PYX_ERR(0, 507, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_Graph = &__pyx_type_9networkit_10_NetworKit_Graph;
  __pyx_type_9networkit_10_NetworKit_STSP.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_STSP) < 0) __PYX_ERR(0, 1564, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_STSP.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_STSP.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_STSP.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_STSP.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #if CYTHON_COMPILING_IN_CPYTHON
  {
    PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_9networkit_10_NetworKit_STSP, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(0, 1564, __pyx_L1_error)
    if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
      __pyx_wrapperbase_9networkit_10_NetworKit_4STSP___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
      __pyx_wrapperbase_9networkit_10_NetworKit_4STSP___init__.doc = __pyx_doc_9networkit_10_NetworKit_4STSP___init__;
      ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_9networkit_10_NetworKit_4STSP___init__;
    }
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_STSP, (PyObject *)&__pyx_type_9networkit_10_NetworKit_STSP) < 0) __PYX_ERR(0, 1564, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_STSP) < 0) __PYX_ERR(0, 1564, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_STSP = &__pyx_type_9networkit_10_NetworKit_STSP;
  __pyx_type_9networkit_10_NetworKit_BidirectionalBFS.tp_base = __pyx_ptype_9networkit_10_NetworKit_STSP;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_BidirectionalBFS) < 0) __PYX_ERR(0, 1630, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_BidirectionalBFS.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_BidirectionalBFS.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_BidirectionalBFS.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_BidirectionalBFS.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_BidirectionalBFS, (PyObject *)&__pyx_type_9networkit_10_NetworKit_BidirectionalBFS) < 0) __PYX_ERR(0, 1630, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_BidirectionalBFS) < 0) __PYX_ERR(0, 1630, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_BidirectionalBFS = &__pyx_type_9networkit_10_NetworKit_BidirectionalBFS;
  __pyx_type_9networkit_10_NetworKit_BidirectionalDijkstra.tp_base = __pyx_ptype_9networkit_10_NetworKit_STSP;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_BidirectionalDijkstra) < 0) __PYX_ERR(0, 1670, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_BidirectionalDijkstra.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_BidirectionalDijkstra.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_BidirectionalDijkstra.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_BidirectionalDijkstra.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_BidirectionalDijkstra, (PyObject *)&__pyx_type_9networkit_10_NetworKit_BidirectionalDijkstra) < 0) __PYX_ERR(0, 1670, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_BidirectionalDijkstra) < 0) __PYX_ERR(0, 1670, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_BidirectionalDijkstra = &__pyx_type_9networkit_10_NetworKit_BidirectionalDijkstra;
  __pyx_type_9networkit_10_NetworKit_AStar.tp_base = __pyx_ptype_9networkit_10_NetworKit_STSP;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_AStar) < 0) __PYX_ERR(0, 1698, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_AStar.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_AStar.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_AStar.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_AStar.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_AStar, (PyObject *)&__pyx_type_9networkit_10_NetworKit_AStar) < 0) __PYX_ERR(0, 1698, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_AStar) < 0) __PYX_ERR(0, 1698, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_AStar = &__pyx_type_9networkit_10_NetworKit_AStar;
  __pyx_type_9networkit_10_NetworKit_SSSP.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_SSSP) < 0) __PYX_ERR(0, 1756, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_SSSP.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_SSSP.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_SSSP.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_SSSP.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SSSP, (PyObject *)&__pyx_type_9networkit_10_NetworKit_SSSP) < 0) __PYX_ERR(0, 1756, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_SSSP) < 0) __PYX_ERR(0, 1756, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_SSSP = &__pyx_type_9networkit_10_NetworKit_SSSP;
  __pyx_type_9networkit_10_NetworKit_DynSSSP.tp_base = __pyx_ptype_9networkit_10_NetworKit_SSSP;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_DynSSSP) < 0) __PYX_ERR(0, 1921, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_DynSSSP.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_DynSSSP.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_DynSSSP.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_DynSSSP.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DynSSSP, (PyObject *)&__pyx_type_9networkit_10_NetworKit_DynSSSP) < 0) __PYX_ERR(0, 1921, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_DynSSSP) < 0) __PYX_ERR(0, 1921, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_DynSSSP = &__pyx_type_9networkit_10_NetworKit_DynSSSP;
  __pyx_type_9networkit_10_NetworKit_BFS.tp_base = __pyx_ptype_9networkit_10_NetworKit_SSSP;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_BFS) < 0) __PYX_ERR(0, 1960, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_BFS.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_BFS.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_BFS.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_BFS.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_BFS, (PyObject *)&__pyx_type_9networkit_10_NetworKit_BFS) < 0) __PYX_ERR(0, 1960, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_BFS) < 0) __PYX_ERR(0, 1960, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_BFS = &__pyx_type_9networkit_10_NetworKit_BFS;
  __pyx_type_9networkit_10_NetworKit_DynBFS.tp_base = __pyx_ptype_9networkit_10_NetworKit_DynSSSP;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_DynBFS) < 0) __PYX_ERR(0, 1988, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_DynBFS.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_DynBFS.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_DynBFS.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_DynBFS.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DynBFS, (PyObject *)&__pyx_type_9networkit_10_NetworKit_DynBFS) < 0) __PYX_ERR(0, 1988, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_DynBFS) < 0) __PYX_ERR(0, 1988, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_DynBFS = &__pyx_type_9networkit_10_NetworKit_DynBFS;
  __pyx_type_9networkit_10_NetworKit_ReverseBFS.tp_base = __pyx_ptype_9networkit_10_NetworKit_SSSP;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_ReverseBFS) < 0) __PYX_ERR(0, 2013, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_ReverseBFS.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_ReverseBFS.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_ReverseBFS.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_ReverseBFS.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ReverseBFS, (PyObject *)&__pyx_type_9networkit_10_NetworKit_ReverseBFS) < 0) __PYX_ERR(0, 2013, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_ReverseBFS) < 0) __PYX_ERR(0, 2013, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_ReverseBFS = &__pyx_type_9networkit_10_NetworKit_ReverseBFS;
  __pyx_type_9networkit_10_NetworKit_Dijkstra.tp_base = __pyx_ptype_9networkit_10_NetworKit_SSSP;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_Dijkstra) < 0) __PYX_ERR(0, 2041, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_Dijkstra.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_Dijkstra.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_Dijkstra.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_Dijkstra.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Dijkstra, (PyObject *)&__pyx_type_9networkit_10_NetworKit_Dijkstra) < 0) __PYX_ERR(0, 2041, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_Dijkstra) < 0) __PYX_ERR(0, 2041, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_Dijkstra = &__pyx_type_9networkit_10_NetworKit_Dijkstra;
  __pyx_type_9networkit_10_NetworKit_DynDijkstra.tp_base = __pyx_ptype_9networkit_10_NetworKit_DynSSSP;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_DynDijkstra) < 0) __PYX_ERR(0, 2072, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_DynDijkstra.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_DynDijkstra.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_DynDijkstra.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_DynDijkstra.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DynDijkstra, (PyObject *)&__pyx_type_9networkit_10_NetworKit_DynDijkstra) < 0) __PYX_ERR(0, 2072, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_DynDijkstra) < 0) __PYX_ERR(0, 2072, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_DynDijkstra = &__pyx_type_9networkit_10_NetworKit_DynDijkstra;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_AllSimplePaths) < 0) __PYX_ERR(0, 2116, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_AllSimplePaths.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_AllSimplePaths.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_AllSimplePaths.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_AllSimplePaths.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_AllSimplePaths, (PyObject *)&__pyx_type_9networkit_10_NetworKit_AllSimplePaths) < 0) __PYX_ERR(0, 2116, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_AllSimplePaths) < 0) __PYX_ERR(0, 2116, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_AllSimplePaths = &__pyx_type_9networkit_10_NetworKit_AllSimplePaths;
  __pyx_type_9networkit_10_NetworKit_APSP.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_APSP) < 0) __PYX_ERR(0, 2197, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_APSP.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_APSP.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_APSP.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_APSP.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_APSP, (PyObject *)&__pyx_type_9networkit_10_NetworKit_APSP) < 0) __PYX_ERR(0, 2197, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_APSP) < 0) __PYX_ERR(0, 2197, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_APSP = &__pyx_type_9networkit_10_NetworKit_APSP;
  __pyx_type_9networkit_10_NetworKit_DynAPSP.tp_base = __pyx_ptype_9networkit_10_NetworKit_APSP;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_DynAPSP) < 0) __PYX_ERR(0, 2252, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_DynAPSP.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_DynAPSP.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_DynAPSP.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_DynAPSP.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DynAPSP, (PyObject *)&__pyx_type_9networkit_10_NetworKit_DynAPSP) < 0) __PYX_ERR(0, 2252, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_DynAPSP) < 0) __PYX_ERR(0, 2252, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_DynAPSP = &__pyx_type_9networkit_10_NetworKit_DynAPSP;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_SpanningForest) < 0) __PYX_ERR(0, 2295, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_SpanningForest.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_SpanningForest.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_SpanningForest.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_SpanningForest.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SpanningForest, (PyObject *)&__pyx_type_9networkit_10_NetworKit_SpanningForest) < 0) __PYX_ERR(0, 2295, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_SpanningForest) < 0) __PYX_ERR(0, 2295, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_SpanningForest = &__pyx_type_9networkit_10_NetworKit_SpanningForest;
  __pyx_type_9networkit_10_NetworKit_UnionMaximumSpanningForest.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_UnionMaximumSpanningForest) < 0) __PYX_ERR(0, 2329, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_UnionMaximumSpanningForest.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_UnionMaximumSpanningForest.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_UnionMaximumSpanningForest.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_UnionMaximumSpanningForest.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_UnionMaximumSpanningForest, (PyObject *)&__pyx_type_9networkit_10_NetworKit_UnionMaximumSpanningForest) < 0) __PYX_ERR(0, 2329, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_UnionMaximumSpanningForest) < 0) __PYX_ERR(0, 2329, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_UnionMaximumSpanningForest = &__pyx_type_9networkit_10_NetworKit_UnionMaximumSpanningForest;
  __pyx_type_9networkit_10_NetworKit_RandomMaximumSpanningForest.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_RandomMaximumSpanningForest) < 0) __PYX_ERR(0, 2415, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_RandomMaximumSpanningForest.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_RandomMaximumSpanningForest.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_RandomMaximumSpanningForest.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_RandomMaximumSpanningForest.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_RandomMaximumSpanningForest, (PyObject *)&__pyx_type_9networkit_10_NetworKit_RandomMaximumSpanningForest) < 0) __PYX_ERR(0, 2415, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_RandomMaximumSpanningForest) < 0) __PYX_ERR(0, 2415, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_RandomMaximumSpanningForest = &__pyx_type_9networkit_10_NetworKit_RandomMaximumSpanningForest;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_Luby) < 0) __PYX_ERR(0, 2501, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_Luby.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_Luby.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_Luby.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_Luby.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Luby, (PyObject *)&__pyx_type_9networkit_10_NetworKit_Luby) < 0) __PYX_ERR(0, 2501, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_Luby) < 0) __PYX_ERR(0, 2501, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_Luby = &__pyx_type_9networkit_10_NetworKit_Luby;
  __pyx_type_9networkit_10_NetworKit_BarabasiAlbertGenerator.tp_base = __pyx_ptype_9networkit_10_NetworKit_StaticGraphGenerator;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_BarabasiAlbertGenerator) < 0) __PYX_ERR(0, 2537, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_BarabasiAlbertGenerator.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_BarabasiAlbertGenerator.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_BarabasiAlbertGenerator.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_BarabasiAlbertGenerator.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_BarabasiAlbertGenerator, (PyObject *)&__pyx_type_9networkit_10_NetworKit_BarabasiAlbertGenerator) < 0) __PYX_ERR(0, 2537, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_BarabasiAlbertGenerator) < 0) __PYX_ERR(0, 2537, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_BarabasiAlbertGenerator = &__pyx_type_9networkit_10_NetworKit_BarabasiAlbertGenerator;
  __pyx_type_9networkit_10_NetworKit_PubWebGenerator.tp_base = __pyx_ptype_9networkit_10_NetworKit_StaticGraphGenerator;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_PubWebGenerator) < 0) __PYX_ERR(0, 2580, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_PubWebGenerator.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_PubWebGenerator.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_PubWebGenerator.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_PubWebGenerator.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PubWebGenerator, (PyObject *)&__pyx_type_9networkit_10_NetworKit_PubWebGenerator) < 0) __PYX_ERR(0, 2580, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_PubWebGenerator) < 0) __PYX_ERR(0, 2580, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_PubWebGenerator = &__pyx_type_9networkit_10_NetworKit_PubWebGenerator;
  __pyx_type_9networkit_10_NetworKit_ErdosRenyiGenerator.tp_base = __pyx_ptype_9networkit_10_NetworKit_StaticGraphGenerator;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_ErdosRenyiGenerator) < 0) __PYX_ERR(0, 2623, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_ErdosRenyiGenerator.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_ErdosRenyiGenerator.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_ErdosRenyiGenerator.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_ErdosRenyiGenerator.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ErdosRenyiGenerator, (PyObject *)&__pyx_type_9networkit_10_NetworKit_ErdosRenyiGenerator) < 0) __PYX_ERR(0, 2623, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_ErdosRenyiGenerator) < 0) __PYX_ERR(0, 2623, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_ErdosRenyiGenerator = &__pyx_type_9networkit_10_NetworKit_ErdosRenyiGenerator;
  __pyx_type_9networkit_10_NetworKit_DorogovtsevMendesGenerator.tp_base = __pyx_ptype_9networkit_10_NetworKit_StaticGraphGenerator;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_DorogovtsevMendesGenerator) < 0) __PYX_ERR(0, 2662, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_DorogovtsevMendesGenerator.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_DorogovtsevMendesGenerator.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_DorogovtsevMendesGenerator.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_DorogovtsevMendesGenerator.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DorogovtsevMendesGenerator, (PyObject *)&__pyx_type_9networkit_10_NetworKit_DorogovtsevMendesGenerator) < 0) __PYX_ERR(0, 2662, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_DorogovtsevMendesGenerator) < 0) __PYX_ERR(0, 2662, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_DorogovtsevMendesGenerator = &__pyx_type_9networkit_10_NetworKit_DorogovtsevMendesGenerator;
  __pyx_type_9networkit_10_NetworKit_RegularRingLatticeGenerator.tp_base = __pyx_ptype_9networkit_10_NetworKit_StaticGraphGenerator;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_RegularRingLatticeGenerator) < 0) __PYX_ERR(0, 2688, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_RegularRingLatticeGenerator.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_RegularRingLatticeGenerator.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_RegularRingLatticeGenerator.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_RegularRingLatticeGenerator.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_RegularRingLatticeGenerator, (PyObject *)&__pyx_type_9networkit_10_NetworKit_RegularRingLatticeGenerator) < 0) __PYX_ERR(0, 2688, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_RegularRingLatticeGenerator) < 0) __PYX_ERR(0, 2688, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_RegularRingLatticeGenerator = &__pyx_type_9networkit_10_NetworKit_RegularRingLatticeGenerator;
  __pyx_type_9networkit_10_NetworKit_WattsStrogatzGenerator.tp_base = __pyx_ptype_9networkit_10_NetworKit_StaticGraphGenerator;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_WattsStrogatzGenerator) < 0) __PYX_ERR(0, 2711, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_WattsStrogatzGenerator.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_WattsStrogatzGenerator.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_WattsStrogatzGenerator.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_WattsStrogatzGenerator.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_WattsStrogatzGenerator, (PyObject *)&__pyx_type_9networkit_10_NetworKit_WattsStrogatzGenerator) < 0) __PYX_ERR(0, 2711, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_WattsStrogatzGenerator) < 0) __PYX_ERR(0, 2711, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_WattsStrogatzGenerator = &__pyx_type_9networkit_10_NetworKit_WattsStrogatzGenerator;
  __pyx_type_9networkit_10_NetworKit_ClusteredRandomGraphGenerator.tp_base = __pyx_ptype_9networkit_10_NetworKit_StaticGraphGenerator;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_ClusteredRandomGraphGenerator) < 0) __PYX_ERR(0, 2738, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_ClusteredRandomGraphGenerator.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_ClusteredRandomGraphGenerator.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_ClusteredRandomGraphGenerator.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_ClusteredRandomGraphGenerator.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ClusteredRandomGraphGenerator, (PyObject *)&__pyx_type_9networkit_10_NetworKit_ClusteredRandomGraphGenerator) < 0) __PYX_ERR(0, 2738, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_ClusteredRandomGraphGenerator) < 0) __PYX_ERR(0, 2738, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_ClusteredRandomGraphGenerator = &__pyx_type_9networkit_10_NetworKit_ClusteredRandomGraphGenerator;
  __pyx_type_9networkit_10_NetworKit_ChungLuGenerator.tp_base = __pyx_ptype_9networkit_10_NetworKit_StaticGraphGenerator;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_ChungLuGenerator) < 0) __PYX_ERR(0, 2779, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_ChungLuGenerator.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_ChungLuGenerator.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_ChungLuGenerator.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_ChungLuGenerator.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ChungLuGenerator, (PyObject *)&__pyx_type_9networkit_10_NetworKit_ChungLuGenerator) < 0) __PYX_ERR(0, 2779, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_ChungLuGenerator) < 0) __PYX_ERR(0, 2779, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_ChungLuGenerator = &__pyx_type_9networkit_10_NetworKit_ChungLuGenerator;
  __pyx_type_9networkit_10_NetworKit_HavelHakimiGenerator.tp_base = __pyx_ptype_9networkit_10_NetworKit_StaticGraphGenerator;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_HavelHakimiGenerator) < 0) __PYX_ERR(0, 2808, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_HavelHakimiGenerator.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_HavelHakimiGenerator.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_HavelHakimiGenerator.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_HavelHakimiGenerator.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_HavelHakimiGenerator, (PyObject *)&__pyx_type_9networkit_10_NetworKit_HavelHakimiGenerator) < 0) __PYX_ERR(0, 2808, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_HavelHakimiGenerator) < 0) __PYX_ERR(0, 2808, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_HavelHakimiGenerator = &__pyx_type_9networkit_10_NetworKit_HavelHakimiGenerator;
  __pyx_type_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator.tp_base = __pyx_ptype_9networkit_10_NetworKit_StaticGraphGenerator;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator) < 0) __PYX_ERR(0, 2849, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_EdgeSwitchingMarkovChainGenerato, (PyObject *)&__pyx_type_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator) < 0) __PYX_ERR(0, 2849, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator) < 0) __PYX_ERR(0, 2849, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator = &__pyx_type_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator;
  __pyx_type_9networkit_10_NetworKit_HyperbolicGenerator.tp_base = __pyx_ptype_9networkit_10_NetworKit_StaticGraphGenerator;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_HyperbolicGenerator) < 0) __PYX_ERR(0, 2899, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_HyperbolicGenerator.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_HyperbolicGenerator.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_HyperbolicGenerator.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_HyperbolicGenerator.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_HyperbolicGenerator, (PyObject *)&__pyx_type_9networkit_10_NetworKit_HyperbolicGenerator) < 0) __PYX_ERR(0, 2899, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_HyperbolicGenerator) < 0) __PYX_ERR(0, 2899, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_HyperbolicGenerator = &__pyx_type_9networkit_10_NetworKit_HyperbolicGenerator;
  __pyx_type_9networkit_10_NetworKit_MocnikGenerator.tp_base = __pyx_ptype_9networkit_10_NetworKit_StaticGraphGenerator;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_MocnikGenerator) < 0) __PYX_ERR(0, 2959, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_MocnikGenerator.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_MocnikGenerator.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_MocnikGenerator.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_MocnikGenerator.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_MocnikGenerator, (PyObject *)&__pyx_type_9networkit_10_NetworKit_MocnikGenerator) < 0) __PYX_ERR(0, 2959, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_MocnikGenerator) < 0) __PYX_ERR(0, 2959, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_MocnikGenerator = &__pyx_type_9networkit_10_NetworKit_MocnikGenerator;
  __pyx_type_9networkit_10_NetworKit_MocnikGeneratorBasic.tp_base = __pyx_ptype_9networkit_10_NetworKit_StaticGraphGenerator;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_MocnikGeneratorBasic) < 0) __PYX_ERR(0, 3018, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_MocnikGeneratorBasic.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_MocnikGeneratorBasic.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_MocnikGeneratorBasic.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_MocnikGeneratorBasic.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_MocnikGeneratorBasic, (PyObject *)&__pyx_type_9networkit_10_NetworKit_MocnikGeneratorBasic) < 0) __PYX_ERR(0, 3018, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_MocnikGeneratorBasic) < 0) __PYX_ERR(0, 3018, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_MocnikGeneratorBasic = &__pyx_type_9networkit_10_NetworKit_MocnikGeneratorBasic;
  __pyx_type_9networkit_10_NetworKit_RmatGenerator.tp_base = __pyx_ptype_9networkit_10_NetworKit_StaticGraphGenerator;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_RmatGenerator) < 0) __PYX_ERR(0, 3057, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_RmatGenerator.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_RmatGenerator.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_RmatGenerator.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_RmatGenerator.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_RmatGenerator, (PyObject *)&__pyx_type_9networkit_10_NetworKit_RmatGenerator) < 0) __PYX_ERR(0, 3057, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_RmatGenerator) < 0) __PYX_ERR(0, 3057, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_RmatGenerator = &__pyx_type_9networkit_10_NetworKit_RmatGenerator;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_PowerlawDegreeSequence) < 0) __PYX_ERR(0, 3153, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_PowerlawDegreeSequence.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_PowerlawDegreeSequence.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_PowerlawDegreeSequence.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_PowerlawDegreeSequence.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PowerlawDegreeSequence, (PyObject *)&__pyx_type_9networkit_10_NetworKit_PowerlawDegreeSequence) < 0) __PYX_ERR(0, 3153, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_PowerlawDegreeSequence) < 0) __PYX_ERR(0, 3153, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_PowerlawDegreeSequence = &__pyx_type_9networkit_10_NetworKit_PowerlawDegreeSequence;
  __pyx_type_9networkit_10_NetworKit_LFRGenerator.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_LFRGenerator) < 0) __PYX_ERR(0, 3325, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_LFRGenerator.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_LFRGenerator.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_LFRGenerator.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_LFRGenerator.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_LFRGenerator, (PyObject *)&__pyx_type_9networkit_10_NetworKit_LFRGenerator) < 0) __PYX_ERR(0, 3325, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_LFRGenerator) < 0) __PYX_ERR(0, 3325, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_LFRGenerator = &__pyx_type_9networkit_10_NetworKit_LFRGenerator;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_GraphReader) < 0) __PYX_ERR(0, 3631, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_GraphReader.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_GraphReader.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_GraphReader.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_GraphReader.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GraphReader, (PyObject *)&__pyx_type_9networkit_10_NetworKit_GraphReader) < 0) __PYX_ERR(0, 3631, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_GraphReader) < 0) __PYX_ERR(0, 3631, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_GraphReader = &__pyx_type_9networkit_10_NetworKit_GraphReader;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_GraphWriter) < 0) __PYX_ERR(0, 3662, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_GraphWriter.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_GraphWriter.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_GraphWriter.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_GraphWriter.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GraphWriter, (PyObject *)&__pyx_type_9networkit_10_NetworKit_GraphWriter) < 0) __PYX_ERR(0, 3662, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_GraphWriter) < 0) __PYX_ERR(0, 3662, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_GraphWriter = &__pyx_type_9networkit_10_NetworKit_GraphWriter;
  __pyx_type_9networkit_10_NetworKit_METISGraphReader.tp_base = __pyx_ptype_9networkit_10_NetworKit_GraphReader;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_METISGraphReader) < 0) __PYX_ERR(0, 3703, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_METISGraphReader.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_METISGraphReader.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_METISGraphReader.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_METISGraphReader.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_METISGraphReader, (PyObject *)&__pyx_type_9networkit_10_NetworKit_METISGraphReader) < 0) __PYX_ERR(0, 3703, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_METISGraphReader) < 0) __PYX_ERR(0, 3703, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_METISGraphReader = &__pyx_type_9networkit_10_NetworKit_METISGraphReader;
  __pyx_type_9networkit_10_NetworKit_NetworkitBinaryReader.tp_base = __pyx_ptype_9networkit_10_NetworKit_GraphReader;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_NetworkitBinaryReader) < 0) __PYX_ERR(0, 3715, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_NetworkitBinaryReader.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_NetworkitBinaryReader.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_NetworkitBinaryReader.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_NetworkitBinaryReader.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_NetworkitBinaryReader, (PyObject *)&__pyx_type_9networkit_10_NetworKit_NetworkitBinaryReader) < 0) __PYX_ERR(0, 3715, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_NetworkitBinaryReader) < 0) __PYX_ERR(0, 3715, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_NetworkitBinaryReader = &__pyx_type_9networkit_10_NetworKit_NetworkitBinaryReader;
  __pyx_type_9networkit_10_NetworKit_NetworkitBinaryWriter.tp_base = __pyx_ptype_9networkit_10_NetworKit_GraphWriter;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_NetworkitBinaryWriter) < 0) __PYX_ERR(0, 3727, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_NetworkitBinaryWriter.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_NetworkitBinaryWriter.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_NetworkitBinaryWriter.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_NetworkitBinaryWriter.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_NetworkitBinaryWriter, (PyObject *)&__pyx_type_9networkit_10_NetworKit_NetworkitBinaryWriter) < 0) __PYX_ERR(0, 3727, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_NetworkitBinaryWriter) < 0) __PYX_ERR(0, 3727, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_NetworkitBinaryWriter = &__pyx_type_9networkit_10_NetworKit_NetworkitBinaryWriter;
  __pyx_type_9networkit_10_NetworKit_GraphToolBinaryReader.tp_base = __pyx_ptype_9networkit_10_NetworKit_GraphReader;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_GraphToolBinaryReader) < 0) __PYX_ERR(0, 3736, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_GraphToolBinaryReader.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_GraphToolBinaryReader.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_GraphToolBinaryReader.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_GraphToolBinaryReader.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GraphToolBinaryReader, (PyObject *)&__pyx_type_9networkit_10_NetworKit_GraphToolBinaryReader) < 0) __PYX_ERR(0, 3736, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_GraphToolBinaryReader) < 0) __PYX_ERR(0, 3736, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_GraphToolBinaryReader = &__pyx_type_9networkit_10_NetworKit_GraphToolBinaryReader;
  __pyx_type_9networkit_10_NetworKit_ThrillGraphBinaryReader.tp_base = __pyx_ptype_9networkit_10_NetworKit_GraphReader;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_ThrillGraphBinaryReader) < 0) __PYX_ERR(0, 3749, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_ThrillGraphBinaryReader.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_ThrillGraphBinaryReader.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_ThrillGraphBinaryReader.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_ThrillGraphBinaryReader.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ThrillGraphBinaryReader, (PyObject *)&__pyx_type_9networkit_10_NetworKit_ThrillGraphBinaryReader) < 0) __PYX_ERR(0, 3749, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_ThrillGraphBinaryReader) < 0) __PYX_ERR(0, 3749, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_ThrillGraphBinaryReader = &__pyx_type_9networkit_10_NetworKit_ThrillGraphBinaryReader;
  __pyx_type_9networkit_10_NetworKit_ThrillGraphBinaryWriter.tp_base = __pyx_ptype_9networkit_10_NetworKit_GraphWriter;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_ThrillGraphBinaryWriter) < 0) __PYX_ERR(0, 3795, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_ThrillGraphBinaryWriter.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_ThrillGraphBinaryWriter.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_ThrillGraphBinaryWriter.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_ThrillGraphBinaryWriter.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ThrillGraphBinaryWriter, (PyObject *)&__pyx_type_9networkit_10_NetworKit_ThrillGraphBinaryWriter) < 0) __PYX_ERR(0, 3795, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_ThrillGraphBinaryWriter) < 0) __PYX_ERR(0, 3795, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_ThrillGraphBinaryWriter = &__pyx_type_9networkit_10_NetworKit_ThrillGraphBinaryWriter;
  __pyx_type_9networkit_10_NetworKit_EdgeListReader.tp_base = __pyx_ptype_9networkit_10_NetworKit_GraphReader;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_EdgeListReader) < 0) __PYX_ERR(0, 3812, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_EdgeListReader.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_EdgeListReader.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_EdgeListReader.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_EdgeListReader.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_EdgeListReader, (PyObject *)&__pyx_type_9networkit_10_NetworKit_EdgeListReader) < 0) __PYX_ERR(0, 3812, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_EdgeListReader) < 0) __PYX_ERR(0, 3812, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_EdgeListReader = &__pyx_type_9networkit_10_NetworKit_EdgeListReader;
  __pyx_type_9networkit_10_NetworKit_KONECTGraphReader.tp_base = __pyx_ptype_9networkit_10_NetworKit_GraphReader;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_KONECTGraphReader) < 0) __PYX_ERR(0, 3875, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_KONECTGraphReader.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_KONECTGraphReader.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_KONECTGraphReader.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_KONECTGraphReader.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_KONECTGraphReader, (PyObject *)&__pyx_type_9networkit_10_NetworKit_KONECTGraphReader) < 0) __PYX_ERR(0, 3875, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_KONECTGraphReader) < 0) __PYX_ERR(0, 3875, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_KONECTGraphReader = &__pyx_type_9networkit_10_NetworKit_KONECTGraphReader;
  __pyx_type_9networkit_10_NetworKit_GMLGraphReader.tp_base = __pyx_ptype_9networkit_10_NetworKit_GraphReader;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_GMLGraphReader) < 0) __PYX_ERR(0, 3888, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_GMLGraphReader.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_GMLGraphReader.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_GMLGraphReader.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_GMLGraphReader.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GMLGraphReader, (PyObject *)&__pyx_type_9networkit_10_NetworKit_GMLGraphReader) < 0) __PYX_ERR(0, 3888, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_GMLGraphReader) < 0) __PYX_ERR(0, 3888, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_GMLGraphReader = &__pyx_type_9networkit_10_NetworKit_GMLGraphReader;
  __pyx_type_9networkit_10_NetworKit_METISGraphWriter.tp_base = __pyx_ptype_9networkit_10_NetworKit_GraphWriter;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_METISGraphWriter) < 0) __PYX_ERR(0, 3902, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_METISGraphWriter.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_METISGraphWriter.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_METISGraphWriter.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_METISGraphWriter.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_METISGraphWriter, (PyObject *)&__pyx_type_9networkit_10_NetworKit_METISGraphWriter) < 0) __PYX_ERR(0, 3902, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_METISGraphWriter) < 0) __PYX_ERR(0, 3902, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_METISGraphWriter = &__pyx_type_9networkit_10_NetworKit_METISGraphWriter;
  __pyx_type_9networkit_10_NetworKit_GraphToolBinaryWriter.tp_base = __pyx_ptype_9networkit_10_NetworKit_GraphWriter;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_GraphToolBinaryWriter) < 0) __PYX_ERR(0, 3914, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_GraphToolBinaryWriter.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_GraphToolBinaryWriter.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_GraphToolBinaryWriter.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_GraphToolBinaryWriter.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GraphToolBinaryWriter, (PyObject *)&__pyx_type_9networkit_10_NetworKit_GraphToolBinaryWriter) < 0) __PYX_ERR(0, 3914, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_GraphToolBinaryWriter) < 0) __PYX_ERR(0, 3914, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_GraphToolBinaryWriter = &__pyx_type_9networkit_10_NetworKit_GraphToolBinaryWriter;
  __pyx_type_9networkit_10_NetworKit_DotGraphWriter.tp_base = __pyx_ptype_9networkit_10_NetworKit_GraphWriter;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_DotGraphWriter) < 0) __PYX_ERR(0, 3926, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_DotGraphWriter.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_DotGraphWriter.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_DotGraphWriter.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_DotGraphWriter.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DotGraphWriter, (PyObject *)&__pyx_type_9networkit_10_NetworKit_DotGraphWriter) < 0) __PYX_ERR(0, 3926, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_DotGraphWriter) < 0) __PYX_ERR(0, 3926, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_DotGraphWriter = &__pyx_type_9networkit_10_NetworKit_DotGraphWriter;
  __pyx_type_9networkit_10_NetworKit_GMLGraphWriter.tp_base = __pyx_ptype_9networkit_10_NetworKit_GraphWriter;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_GMLGraphWriter) < 0) __PYX_ERR(0, 3937, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_GMLGraphWriter.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_GMLGraphWriter.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_GMLGraphWriter.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_GMLGraphWriter.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GMLGraphWriter, (PyObject *)&__pyx_type_9networkit_10_NetworKit_GMLGraphWriter) < 0) __PYX_ERR(0, 3937, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_GMLGraphWriter) < 0) __PYX_ERR(0, 3937, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_GMLGraphWriter = &__pyx_type_9networkit_10_NetworKit_GMLGraphWriter;
  __pyx_type_9networkit_10_NetworKit_EdgeListWriter.tp_base = __pyx_ptype_9networkit_10_NetworKit_GraphWriter;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_EdgeListWriter) < 0) __PYX_ERR(0, 3950, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_EdgeListWriter.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_EdgeListWriter.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_EdgeListWriter.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_EdgeListWriter.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_EdgeListWriter, (PyObject *)&__pyx_type_9networkit_10_NetworKit_EdgeListWriter) < 0) __PYX_ERR(0, 3950, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_EdgeListWriter) < 0) __PYX_ERR(0, 3950, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_EdgeListWriter = &__pyx_type_9networkit_10_NetworKit_EdgeListWriter;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_LineFileReader) < 0) __PYX_ERR(0, 3975, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_LineFileReader.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_LineFileReader.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_LineFileReader.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_LineFileReader.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_LineFileReader, (PyObject *)&__pyx_type_9networkit_10_NetworKit_LineFileReader) < 0) __PYX_ERR(0, 3975, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_LineFileReader) < 0) __PYX_ERR(0, 3975, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_LineFileReader = &__pyx_type_9networkit_10_NetworKit_LineFileReader;
  __pyx_type_9networkit_10_NetworKit_SNAPGraphWriter.tp_base = __pyx_ptype_9networkit_10_NetworKit_GraphWriter;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_SNAPGraphWriter) < 0) __PYX_ERR(0, 3987, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_SNAPGraphWriter.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_SNAPGraphWriter.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_SNAPGraphWriter.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_SNAPGraphWriter.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SNAPGraphWriter, (PyObject *)&__pyx_type_9networkit_10_NetworKit_SNAPGraphWriter) < 0) __PYX_ERR(0, 3987, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_SNAPGraphWriter) < 0) __PYX_ERR(0, 3987, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_SNAPGraphWriter = &__pyx_type_9networkit_10_NetworKit_SNAPGraphWriter;
  __pyx_type_9networkit_10_NetworKit_SNAPGraphReader.tp_base = __pyx_ptype_9networkit_10_NetworKit_GraphReader;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_SNAPGraphReader) < 0) __PYX_ERR(0, 4001, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_SNAPGraphReader.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_SNAPGraphReader.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_SNAPGraphReader.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_SNAPGraphReader.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SNAPGraphReader, (PyObject *)&__pyx_type_9networkit_10_NetworKit_SNAPGraphReader) < 0) __PYX_ERR(0, 4001, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_SNAPGraphReader) < 0) __PYX_ERR(0, 4001, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_SNAPGraphReader = &__pyx_type_9networkit_10_NetworKit_SNAPGraphReader;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_PartitionReader) < 0) __PYX_ERR(0, 4017, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_PartitionReader.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_PartitionReader.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_PartitionReader.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_PartitionReader.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PartitionReader, (PyObject *)&__pyx_type_9networkit_10_NetworKit_PartitionReader) < 0) __PYX_ERR(0, 4017, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_PartitionReader) < 0) __PYX_ERR(0, 4017, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_PartitionReader = &__pyx_type_9networkit_10_NetworKit_PartitionReader;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_PartitionWriter) < 0) __PYX_ERR(0, 4034, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_PartitionWriter.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_PartitionWriter.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_PartitionWriter.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_PartitionWriter.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PartitionWriter, (PyObject *)&__pyx_type_9networkit_10_NetworKit_PartitionWriter) < 0) __PYX_ERR(0, 4034, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_PartitionWriter) < 0) __PYX_ERR(0, 4034, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_PartitionWriter = &__pyx_type_9networkit_10_NetworKit_PartitionWriter;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_BinaryPartitionReader) < 0) __PYX_ERR(0, 4053, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_BinaryPartitionReader.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_BinaryPartitionReader.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_BinaryPartitionReader.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_BinaryPartitionReader.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_BinaryPartitionReader, (PyObject *)&__pyx_type_9networkit_10_NetworKit_BinaryPartitionReader) < 0) __PYX_ERR(0, 4053, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_BinaryPartitionReader) < 0) __PYX_ERR(0, 4053, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_BinaryPartitionReader = &__pyx_type_9networkit_10_NetworKit_BinaryPartitionReader;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_BinaryPartitionWriter) < 0) __PYX_ERR(0, 4079, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_BinaryPartitionWriter.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_BinaryPartitionWriter.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_BinaryPartitionWriter.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_BinaryPartitionWriter.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_BinaryPartitionWriter, (PyObject *)&__pyx_type_9networkit_10_NetworKit_BinaryPartitionWriter) < 0) __PYX_ERR(0, 4079, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_BinaryPartitionWriter) < 0) __PYX_ERR(0, 4079, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_BinaryPartitionWriter = &__pyx_type_9networkit_10_NetworKit_BinaryPartitionWriter;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_EdgeListPartitionReader) < 0) __PYX_ERR(0, 4119, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_EdgeListPartitionReader.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_EdgeListPartitionReader.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_EdgeListPartitionReader.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_EdgeListPartitionReader.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_EdgeListPartitionReader, (PyObject *)&__pyx_type_9networkit_10_NetworKit_EdgeListPartitionReader) < 0) __PYX_ERR(0, 4119, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_EdgeListPartitionReader) < 0) __PYX_ERR(0, 4119, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_EdgeListPartitionReader = &__pyx_type_9networkit_10_NetworKit_EdgeListPartitionReader;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_BinaryEdgeListPartitionReader) < 0) __PYX_ERR(0, 4139, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_BinaryEdgeListPartitionReader.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_BinaryEdgeListPartitionReader.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_BinaryEdgeListPartitionReader.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_BinaryEdgeListPartitionReader.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_BinaryEdgeListPartitionReader, (PyObject *)&__pyx_type_9networkit_10_NetworKit_BinaryEdgeListPartitionReader) < 0) __PYX_ERR(0, 4139, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_BinaryEdgeListPartitionReader) < 0) __PYX_ERR(0, 4139, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_BinaryEdgeListPartitionReader = &__pyx_type_9networkit_10_NetworKit_BinaryEdgeListPartitionReader;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter) < 0) __PYX_ERR(0, 4189, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_BinaryEdgeListPartitionWriter, (PyObject *)&__pyx_type_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter) < 0) __PYX_ERR(0, 4189, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter) < 0) __PYX_ERR(0, 4189, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter = &__pyx_type_9networkit_10_NetworKit_BinaryEdgeListPartitionWriter;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_SNAPEdgeListPartitionReader) < 0) __PYX_ERR(0, 4228, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_SNAPEdgeListPartitionReader.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_SNAPEdgeListPartitionReader.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_SNAPEdgeListPartitionReader.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_SNAPEdgeListPartitionReader.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SNAPEdgeListPartitionReader, (PyObject *)&__pyx_type_9networkit_10_NetworKit_SNAPEdgeListPartitionReader) < 0) __PYX_ERR(0, 4228, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_SNAPEdgeListPartitionReader) < 0) __PYX_ERR(0, 4228, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_SNAPEdgeListPartitionReader = &__pyx_type_9networkit_10_NetworKit_SNAPEdgeListPartitionReader;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_CoverReader) < 0) __PYX_ERR(0, 4265, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_CoverReader.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_CoverReader.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_CoverReader.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_CoverReader.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CoverReader, (PyObject *)&__pyx_type_9networkit_10_NetworKit_CoverReader) < 0) __PYX_ERR(0, 4265, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_CoverReader) < 0) __PYX_ERR(0, 4265, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_CoverReader = &__pyx_type_9networkit_10_NetworKit_CoverReader;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_CoverWriter) < 0) __PYX_ERR(0, 4281, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_CoverWriter.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_CoverWriter.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_CoverWriter.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_CoverWriter.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CoverWriter, (PyObject *)&__pyx_type_9networkit_10_NetworKit_CoverWriter) < 0) __PYX_ERR(0, 4281, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_CoverWriter) < 0) __PYX_ERR(0, 4281, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_CoverWriter = &__pyx_type_9networkit_10_NetworKit_CoverWriter;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_EdgeListCoverReader) < 0) __PYX_ERR(0, 4300, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_EdgeListCoverReader.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_EdgeListCoverReader.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_EdgeListCoverReader.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_EdgeListCoverReader.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_EdgeListCoverReader, (PyObject *)&__pyx_type_9networkit_10_NetworKit_EdgeListCoverReader) < 0) __PYX_ERR(0, 4300, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_EdgeListCoverReader) < 0) __PYX_ERR(0, 4300, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_EdgeListCoverReader = &__pyx_type_9networkit_10_NetworKit_EdgeListCoverReader;
  __pyx_vtabptr_9networkit_10_NetworKit_Partition = &__pyx_vtable_9networkit_10_NetworKit_Partition;
  __pyx_vtable_9networkit_10_NetworKit_Partition.setThis = (PyObject *(*)(struct __pyx_obj_9networkit_10_NetworKit_Partition *, NetworKit::Partition &))__pyx_f_9networkit_10_NetworKit_9Partition_setThis;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_Partition) < 0) __PYX_ERR(0, 4348, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_Partition.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_Partition.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_Partition.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_Partition.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #if CYTHON_COMPILING_IN_CPYTHON
  {
    PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_9networkit_10_NetworKit_Partition, "__len__"); if (unlikely(!wrapper)) __PYX_ERR(0, 4348, __pyx_L1_error)
    if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
      __pyx_wrapperbase_9networkit_10_NetworKit_9Partition_2__len__ = *((PyWrapperDescrObject *)wrapper)->d_base;
      __pyx_wrapperbase_9networkit_10_NetworKit_9Partition_2__len__.doc = __pyx_doc_9networkit_10_NetworKit_9Partition_2__len__;
      ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_9networkit_10_NetworKit_9Partition_2__len__;
    }
  }
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON
  {
    PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_9networkit_10_NetworKit_Partition, "__getitem__"); if (unlikely(!wrapper)) __PYX_ERR(0, 4348, __pyx_L1_error)
    if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
      __pyx_wrapperbase_9networkit_10_NetworKit_9Partition_4__getitem__ = *((PyWrapperDescrObject *)wrapper)->d_base;
      __pyx_wrapperbase_9networkit_10_NetworKit_9Partition_4__getitem__.doc = __pyx_doc_9networkit_10_NetworKit_9Partition_4__getitem__;
      ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_9networkit_10_NetworKit_9Partition_4__getitem__;
    }
  }
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON
  {
    PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_9networkit_10_NetworKit_Partition, "__setitem__"); if (unlikely(!wrapper)) __PYX_ERR(0, 4348, __pyx_L1_error)
    if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
      __pyx_wrapperbase_9networkit_10_NetworKit_9Partition_6__setitem__ = *((PyWrapperDescrObject *)wrapper)->d_base;
      __pyx_wrapperbase_9networkit_10_NetworKit_9Partition_6__setitem__.doc = __pyx_doc_9networkit_10_NetworKit_9Partition_6__setitem__;
      ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_9networkit_10_NetworKit_9Partition_6__setitem__;
    }
  }
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON
  {
    PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_9networkit_10_NetworKit_Partition, "__eq__"); if (unlikely(!wrapper)) __PYX_ERR(0, 4348, __pyx_L1_error)
    if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
      __pyx_wrapperbase_9networkit_10_NetworKit_9Partition_56__eq__ = *((PyWrapperDescrObject *)wrapper)->d_base;
      __pyx_wrapperbase_9networkit_10_NetworKit_9Partition_56__eq__.doc = __pyx_doc_9networkit_10_NetworKit_9Partition_56__eq__;
      ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_9networkit_10_NetworKit_9Partition_56__eq__;
    }
  }
  #endif
  if (__Pyx_SetVtable(__pyx_type_9networkit_10_NetworKit_Partition.tp_dict, __pyx_vtabptr_9networkit_10_NetworKit_Partition) < 0) __PYX_ERR(0, 4348, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Partition, (PyObject *)&__pyx_type_9networkit_10_NetworKit_Partition) < 0) __PYX_ERR(0, 4348, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_Partition) < 0) __PYX_ERR(0, 4348, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_Partition = &__pyx_type_9networkit_10_NetworKit_Partition;
  __pyx_vtabptr_9networkit_10_NetworKit_Cover = &__pyx_vtable_9networkit_10_NetworKit_Cover;
  __pyx_vtable_9networkit_10_NetworKit_Cover.setThis = (PyObject *(*)(struct __pyx_obj_9networkit_10_NetworKit_Cover *, NetworKit::Cover &))__pyx_f_9networkit_10_NetworKit_5Cover_setThis;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_Cover) < 0) __PYX_ERR(0, 4736, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_Cover.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_Cover.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_Cover.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_Cover.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_9networkit_10_NetworKit_Cover.tp_dict, __pyx_vtabptr_9networkit_10_NetworKit_Cover) < 0) __PYX_ERR(0, 4736, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Cover, (PyObject *)&__pyx_type_9networkit_10_NetworKit_Cover) < 0) __PYX_ERR(0, 4736, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_Cover) < 0) __PYX_ERR(0, 4736, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_Cover = &__pyx_type_9networkit_10_NetworKit_Cover;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_ClusteringGenerator) < 0) __PYX_ERR(0, 4986, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_ClusteringGenerator.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_ClusteringGenerator.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_ClusteringGenerator.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_ClusteringGenerator.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ClusteringGenerator, (PyObject *)&__pyx_type_9networkit_10_NetworKit_ClusteringGenerator) < 0) __PYX_ERR(0, 4986, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_ClusteringGenerator) < 0) __PYX_ERR(0, 4986, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_ClusteringGenerator = &__pyx_type_9networkit_10_NetworKit_ClusteringGenerator;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_GraphClusteringTools) < 0) __PYX_ERR(0, 5078, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_GraphClusteringTools.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_GraphClusteringTools.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_GraphClusteringTools.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_GraphClusteringTools.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GraphClusteringTools, (PyObject *)&__pyx_type_9networkit_10_NetworKit_GraphClusteringTools) < 0) __PYX_ERR(0, 5078, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_GraphClusteringTools) < 0) __PYX_ERR(0, 5078, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools = &__pyx_type_9networkit_10_NetworKit_GraphClusteringTools;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_Traversal) < 0) __PYX_ERR(0, 5110, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_Traversal.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_Traversal.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_Traversal.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_Traversal.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Traversal, (PyObject *)&__pyx_type_9networkit_10_NetworKit_Traversal) < 0) __PYX_ERR(0, 5110, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_Traversal) < 0) __PYX_ERR(0, 5110, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_Traversal = &__pyx_type_9networkit_10_NetworKit_Traversal;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_GraphTools) < 0) __PYX_ERR(0, 5231, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_GraphTools.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_GraphTools.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_GraphTools.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_GraphTools.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GraphTools, (PyObject *)&__pyx_type_9networkit_10_NetworKit_GraphTools) < 0) __PYX_ERR(0, 5231, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_GraphTools) < 0) __PYX_ERR(0, 5231, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_GraphTools = &__pyx_type_9networkit_10_NetworKit_GraphTools;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_PartitionIntersection) < 0) __PYX_ERR(0, 5640, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_PartitionIntersection.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_PartitionIntersection.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_PartitionIntersection.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_PartitionIntersection.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PartitionIntersection, (PyObject *)&__pyx_type_9networkit_10_NetworKit_PartitionIntersection) < 0) __PYX_ERR(0, 5640, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_PartitionIntersection) < 0) __PYX_ERR(0, 5640, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_PartitionIntersection = &__pyx_type_9networkit_10_NetworKit_PartitionIntersection;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_Coverage) < 0) __PYX_ERR(0, 5668, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_Coverage.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_Coverage.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_Coverage.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_Coverage.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Coverage, (PyObject *)&__pyx_type_9networkit_10_NetworKit_Coverage) < 0) __PYX_ERR(0, 5668, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_Coverage) < 0) __PYX_ERR(0, 5668, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_Coverage = &__pyx_type_9networkit_10_NetworKit_Coverage;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_EdgeCut) < 0) __PYX_ERR(0, 5682, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_EdgeCut.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_EdgeCut.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_EdgeCut.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_EdgeCut.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_EdgeCut, (PyObject *)&__pyx_type_9networkit_10_NetworKit_EdgeCut) < 0) __PYX_ERR(0, 5682, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_EdgeCut) < 0) __PYX_ERR(0, 5682, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_EdgeCut = &__pyx_type_9networkit_10_NetworKit_EdgeCut;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_Modularity) < 0) __PYX_ERR(0, 5697, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_Modularity.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_Modularity.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_Modularity.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_Modularity.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Modularity, (PyObject *)&__pyx_type_9networkit_10_NetworKit_Modularity) < 0) __PYX_ERR(0, 5697, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_Modularity) < 0) __PYX_ERR(0, 5697, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_Modularity = &__pyx_type_9networkit_10_NetworKit_Modularity;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_HubDominance) < 0) __PYX_ERR(0, 5724, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_HubDominance.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_HubDominance.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_HubDominance.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_HubDominance.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_HubDominance, (PyObject *)&__pyx_type_9networkit_10_NetworKit_HubDominance) < 0) __PYX_ERR(0, 5724, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_HubDominance) < 0) __PYX_ERR(0, 5724, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_HubDominance = &__pyx_type_9networkit_10_NetworKit_HubDominance;
  __pyx_type_9networkit_10_NetworKit_CommunityDetector.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_CommunityDetector) < 0) __PYX_ERR(0, 5768, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_CommunityDetector.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_CommunityDetector.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_CommunityDetector.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_CommunityDetector.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CommunityDetector, (PyObject *)&__pyx_type_9networkit_10_NetworKit_CommunityDetector) < 0) __PYX_ERR(0, 5768, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_CommunityDetector) < 0) __PYX_ERR(0, 5768, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_CommunityDetector = &__pyx_type_9networkit_10_NetworKit_CommunityDetector;
  __pyx_type_9networkit_10_NetworKit_PLP.tp_base = __pyx_ptype_9networkit_10_NetworKit_CommunityDetector;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_PLP) < 0) __PYX_ERR(0, 5797, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_PLP.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_PLP.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_PLP.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_PLP.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PLP, (PyObject *)&__pyx_type_9networkit_10_NetworKit_PLP) < 0) __PYX_ERR(0, 5797, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_PLP) < 0) __PYX_ERR(0, 5797, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_PLP = &__pyx_type_9networkit_10_NetworKit_PLP;
  __pyx_type_9networkit_10_NetworKit_LPDegreeOrdered.tp_base = __pyx_ptype_9networkit_10_NetworKit_CommunityDetector;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_LPDegreeOrdered) < 0) __PYX_ERR(0, 5860, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_LPDegreeOrdered.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_LPDegreeOrdered.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_LPDegreeOrdered.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_LPDegreeOrdered.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_LPDegreeOrdered, (PyObject *)&__pyx_type_9networkit_10_NetworKit_LPDegreeOrdered) < 0) __PYX_ERR(0, 5860, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_LPDegreeOrdered) < 0) __PYX_ERR(0, 5860, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_LPDegreeOrdered = &__pyx_type_9networkit_10_NetworKit_LPDegreeOrdered;
  __pyx_type_9networkit_10_NetworKit_PLM.tp_base = __pyx_ptype_9networkit_10_NetworKit_CommunityDetector;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_PLM) < 0) __PYX_ERR(0, 5892, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_PLM.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_PLM.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_PLM.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_PLM.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PLM, (PyObject *)&__pyx_type_9networkit_10_NetworKit_PLM) < 0) __PYX_ERR(0, 5892, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_PLM) < 0) __PYX_ERR(0, 5892, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_PLM = &__pyx_type_9networkit_10_NetworKit_PLM;
  __pyx_type_9networkit_10_NetworKit_CutClustering.tp_base = __pyx_ptype_9networkit_10_NetworKit_CommunityDetector;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_CutClustering) < 0) __PYX_ERR(0, 5946, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_CutClustering.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_CutClustering.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_CutClustering.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_CutClustering.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CutClustering, (PyObject *)&__pyx_type_9networkit_10_NetworKit_CutClustering) < 0) __PYX_ERR(0, 5946, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_CutClustering) < 0) __PYX_ERR(0, 5946, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_CutClustering = &__pyx_type_9networkit_10_NetworKit_CutClustering;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_DissimilarityMeasure) < 0) __PYX_ERR(0, 5992, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_DissimilarityMeasure.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_DissimilarityMeasure.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_DissimilarityMeasure.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_DissimilarityMeasure.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DissimilarityMeasure, (PyObject *)&__pyx_type_9networkit_10_NetworKit_DissimilarityMeasure) < 0) __PYX_ERR(0, 5992, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_DissimilarityMeasure) < 0) __PYX_ERR(0, 5992, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_DissimilarityMeasure = &__pyx_type_9networkit_10_NetworKit_DissimilarityMeasure;
  __pyx_type_9networkit_10_NetworKit_NodeStructuralRandMeasure.tp_base = __pyx_ptype_9networkit_10_NetworKit_DissimilarityMeasure;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_NodeStructuralRandMeasure) < 0) __PYX_ERR(0, 6004, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_NodeStructuralRandMeasure.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_NodeStructuralRandMeasure.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_NodeStructuralRandMeasure.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_NodeStructuralRandMeasure.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_NodeStructuralRandMeasure, (PyObject *)&__pyx_type_9networkit_10_NetworKit_NodeStructuralRandMeasure) < 0) __PYX_ERR(0, 6004, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_NodeStructuralRandMeasure) < 0) __PYX_ERR(0, 6004, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_NodeStructuralRandMeasure = &__pyx_type_9networkit_10_NetworKit_NodeStructuralRandMeasure;
  __pyx_type_9networkit_10_NetworKit_GraphStructuralRandMeasure.tp_base = __pyx_ptype_9networkit_10_NetworKit_DissimilarityMeasure;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_GraphStructuralRandMeasure) < 0) __PYX_ERR(0, 6023, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_GraphStructuralRandMeasure.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_GraphStructuralRandMeasure.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_GraphStructuralRandMeasure.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_GraphStructuralRandMeasure.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GraphStructuralRandMeasure, (PyObject *)&__pyx_type_9networkit_10_NetworKit_GraphStructuralRandMeasure) < 0) __PYX_ERR(0, 6023, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_GraphStructuralRandMeasure) < 0) __PYX_ERR(0, 6023, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_GraphStructuralRandMeasure = &__pyx_type_9networkit_10_NetworKit_GraphStructuralRandMeasure;
  __pyx_type_9networkit_10_NetworKit_JaccardMeasure.tp_base = __pyx_ptype_9networkit_10_NetworKit_DissimilarityMeasure;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_JaccardMeasure) < 0) __PYX_ERR(0, 6042, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_JaccardMeasure.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_JaccardMeasure.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_JaccardMeasure.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_JaccardMeasure.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_JaccardMeasure, (PyObject *)&__pyx_type_9networkit_10_NetworKit_JaccardMeasure) < 0) __PYX_ERR(0, 6042, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_JaccardMeasure) < 0) __PYX_ERR(0, 6042, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_JaccardMeasure = &__pyx_type_9networkit_10_NetworKit_JaccardMeasure;
  __pyx_type_9networkit_10_NetworKit_NMIDistance.tp_base = __pyx_ptype_9networkit_10_NetworKit_DissimilarityMeasure;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_NMIDistance) < 0) __PYX_ERR(0, 6059, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_NMIDistance.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_NMIDistance.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_NMIDistance.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_NMIDistance.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_NMIDistance, (PyObject *)&__pyx_type_9networkit_10_NetworKit_NMIDistance) < 0) __PYX_ERR(0, 6059, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_NMIDistance) < 0) __PYX_ERR(0, 6059, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_NMIDistance = &__pyx_type_9networkit_10_NetworKit_NMIDistance;
  __pyx_type_9networkit_10_NetworKit_AdjustedRandMeasure.tp_base = __pyx_ptype_9networkit_10_NetworKit_DissimilarityMeasure;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_AdjustedRandMeasure) < 0) __PYX_ERR(0, 6076, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_AdjustedRandMeasure.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_AdjustedRandMeasure.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_AdjustedRandMeasure.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_AdjustedRandMeasure.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_AdjustedRandMeasure, (PyObject *)&__pyx_type_9networkit_10_NetworKit_AdjustedRandMeasure) < 0) __PYX_ERR(0, 6076, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_AdjustedRandMeasure) < 0) __PYX_ERR(0, 6076, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_AdjustedRandMeasure = &__pyx_type_9networkit_10_NetworKit_AdjustedRandMeasure;
  __pyx_type_9networkit_10_NetworKit_LocalCommunityEvaluation.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_LocalCommunityEvaluation) < 0) __PYX_ERR(0, 6118, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_LocalCommunityEvaluation.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_LocalCommunityEvaluation.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_LocalCommunityEvaluation.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_LocalCommunityEvaluation.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_LocalCommunityEvaluation, (PyObject *)&__pyx_type_9networkit_10_NetworKit_LocalCommunityEvaluation) < 0) __PYX_ERR(0, 6118, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_LocalCommunityEvaluation) < 0) __PYX_ERR(0, 6118, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_LocalCommunityEvaluation = &__pyx_type_9networkit_10_NetworKit_LocalCommunityEvaluation;
  __pyx_type_9networkit_10_NetworKit_LocalPartitionEvaluation.tp_base = __pyx_ptype_9networkit_10_NetworKit_LocalCommunityEvaluation;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_LocalPartitionEvaluation) < 0) __PYX_ERR(0, 6221, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_LocalPartitionEvaluation.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_LocalPartitionEvaluation.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_LocalPartitionEvaluation.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_LocalPartitionEvaluation.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_LocalPartitionEvaluation, (PyObject *)&__pyx_type_9networkit_10_NetworKit_LocalPartitionEvaluation) < 0) __PYX_ERR(0, 6221, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_LocalPartitionEvaluation) < 0) __PYX_ERR(0, 6221, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_LocalPartitionEvaluation = &__pyx_type_9networkit_10_NetworKit_LocalPartitionEvaluation;
  __pyx_type_9networkit_10_NetworKit_LocalCoverEvaluation.tp_base = __pyx_ptype_9networkit_10_NetworKit_LocalCommunityEvaluation;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_LocalCoverEvaluation) < 0) __PYX_ERR(0, 6249, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_LocalCoverEvaluation.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_LocalCoverEvaluation.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_LocalCoverEvaluation.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_LocalCoverEvaluation.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_LocalCoverEvaluation, (PyObject *)&__pyx_type_9networkit_10_NetworKit_LocalCoverEvaluation) < 0) __PYX_ERR(0, 6249, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_LocalCoverEvaluation) < 0) __PYX_ERR(0, 6249, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_LocalCoverEvaluation = &__pyx_type_9networkit_10_NetworKit_LocalCoverEvaluation;
  __pyx_type_9networkit_10_NetworKit_IntrapartitionDensity.tp_base = __pyx_ptype_9networkit_10_NetworKit_LocalPartitionEvaluation;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_IntrapartitionDensity) < 0) __PYX_ERR(0, 6276, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_IntrapartitionDensity.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_IntrapartitionDensity.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_IntrapartitionDensity.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_IntrapartitionDensity.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_IntrapartitionDensity, (PyObject *)&__pyx_type_9networkit_10_NetworKit_IntrapartitionDensity) < 0) __PYX_ERR(0, 6276, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_IntrapartitionDensity) < 0) __PYX_ERR(0, 6276, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_IntrapartitionDensity = &__pyx_type_9networkit_10_NetworKit_IntrapartitionDensity;
  __pyx_type_9networkit_10_NetworKit_IsolatedInterpartitionConductance.tp_base = __pyx_ptype_9networkit_10_NetworKit_LocalPartitionEvaluation;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_IsolatedInterpartitionConductance) < 0) __PYX_ERR(0, 6309, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_IsolatedInterpartitionConductance.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_IsolatedInterpartitionConductance.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_IsolatedInterpartitionConductance.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_IsolatedInterpartitionConductance.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_IsolatedInterpartitionConductanc, (PyObject *)&__pyx_type_9networkit_10_NetworKit_IsolatedInterpartitionConductance) < 0) __PYX_ERR(0, 6309, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_IsolatedInterpartitionConductance) < 0) __PYX_ERR(0, 6309, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_IsolatedInterpartitionConductance = &__pyx_type_9networkit_10_NetworKit_IsolatedInterpartitionConductance;
  __pyx_type_9networkit_10_NetworKit_IsolatedInterpartitionExpansion.tp_base = __pyx_ptype_9networkit_10_NetworKit_LocalPartitionEvaluation;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_IsolatedInterpartitionExpansion) < 0) __PYX_ERR(0, 6340, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_IsolatedInterpartitionExpansion.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_IsolatedInterpartitionExpansion.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_IsolatedInterpartitionExpansion.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_IsolatedInterpartitionExpansion.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_IsolatedInterpartitionExpansion, (PyObject *)&__pyx_type_9networkit_10_NetworKit_IsolatedInterpartitionExpansion) < 0) __PYX_ERR(0, 6340, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_IsolatedInterpartitionExpansion) < 0) __PYX_ERR(0, 6340, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_IsolatedInterpartitionExpansion = &__pyx_type_9networkit_10_NetworKit_IsolatedInterpartitionExpansion;
  __pyx_type_9networkit_10_NetworKit_CoverHubDominance.tp_base = __pyx_ptype_9networkit_10_NetworKit_LocalCoverEvaluation;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_CoverHubDominance) < 0) __PYX_ERR(0, 6371, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_CoverHubDominance.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_CoverHubDominance.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_CoverHubDominance.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_CoverHubDominance.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CoverHubDominance, (PyObject *)&__pyx_type_9networkit_10_NetworKit_CoverHubDominance) < 0) __PYX_ERR(0, 6371, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_CoverHubDominance) < 0) __PYX_ERR(0, 6371, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_CoverHubDominance = &__pyx_type_9networkit_10_NetworKit_CoverHubDominance;
  __pyx_type_9networkit_10_NetworKit_PartitionHubDominance.tp_base = __pyx_ptype_9networkit_10_NetworKit_LocalPartitionEvaluation;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_PartitionHubDominance) < 0) __PYX_ERR(0, 6400, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_PartitionHubDominance.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_PartitionHubDominance.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_PartitionHubDominance.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_PartitionHubDominance.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PartitionHubDominance, (PyObject *)&__pyx_type_9networkit_10_NetworKit_PartitionHubDominance) < 0) __PYX_ERR(0, 6400, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_PartitionHubDominance) < 0) __PYX_ERR(0, 6400, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_PartitionHubDominance = &__pyx_type_9networkit_10_NetworKit_PartitionHubDominance;
  __pyx_type_9networkit_10_NetworKit_PartitionFragmentation.tp_base = __pyx_ptype_9networkit_10_NetworKit_LocalPartitionEvaluation;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_PartitionFragmentation) < 0) __PYX_ERR(0, 6428, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_PartitionFragmentation.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_PartitionFragmentation.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_PartitionFragmentation.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_PartitionFragmentation.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PartitionFragmentation, (PyObject *)&__pyx_type_9networkit_10_NetworKit_PartitionFragmentation) < 0) __PYX_ERR(0, 6428, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_PartitionFragmentation) < 0) __PYX_ERR(0, 6428, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_PartitionFragmentation = &__pyx_type_9networkit_10_NetworKit_PartitionFragmentation;
  __pyx_type_9networkit_10_NetworKit_StablePartitionNodes.tp_base = __pyx_ptype_9networkit_10_NetworKit_LocalPartitionEvaluation;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_StablePartitionNodes) < 0) __PYX_ERR(0, 6449, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_StablePartitionNodes.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_StablePartitionNodes.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_StablePartitionNodes.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_StablePartitionNodes.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_StablePartitionNodes, (PyObject *)&__pyx_type_9networkit_10_NetworKit_StablePartitionNodes) < 0) __PYX_ERR(0, 6449, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_StablePartitionNodes) < 0) __PYX_ERR(0, 6449, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_StablePartitionNodes = &__pyx_type_9networkit_10_NetworKit_StablePartitionNodes;
  __pyx_type_9networkit_10_NetworKit_CoverF1Similarity.tp_base = __pyx_ptype_9networkit_10_NetworKit_LocalCoverEvaluation;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_CoverF1Similarity) < 0) __PYX_ERR(0, 6491, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_CoverF1Similarity.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_CoverF1Similarity.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_CoverF1Similarity.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_CoverF1Similarity.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CoverF1Similarity, (PyObject *)&__pyx_type_9networkit_10_NetworKit_CoverF1Similarity) < 0) __PYX_ERR(0, 6491, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_CoverF1Similarity) < 0) __PYX_ERR(0, 6491, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_CoverF1Similarity = &__pyx_type_9networkit_10_NetworKit_CoverF1Similarity;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_EdmondsKarp) < 0) __PYX_ERR(0, 6538, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_EdmondsKarp.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_EdmondsKarp.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_EdmondsKarp.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_EdmondsKarp.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_EdmondsKarp, (PyObject *)&__pyx_type_9networkit_10_NetworKit_EdmondsKarp) < 0) __PYX_ERR(0, 6538, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_EdmondsKarp) < 0) __PYX_ERR(0, 6538, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_EdmondsKarp = &__pyx_type_9networkit_10_NetworKit_EdmondsKarp;
  __pyx_type_9networkit_10_NetworKit_ConnectedComponents.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_ConnectedComponents) < 0) __PYX_ERR(0, 6638, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_ConnectedComponents.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_ConnectedComponents.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_ConnectedComponents.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_ConnectedComponents.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ConnectedComponents, (PyObject *)&__pyx_type_9networkit_10_NetworKit_ConnectedComponents) < 0) __PYX_ERR(0, 6638, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_ConnectedComponents) < 0) __PYX_ERR(0, 6638, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_ConnectedComponents = &__pyx_type_9networkit_10_NetworKit_ConnectedComponents;
  __pyx_type_9networkit_10_NetworKit_ParallelConnectedComponents.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_ParallelConnectedComponents) < 0) __PYX_ERR(0, 6741, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_ParallelConnectedComponents.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_ParallelConnectedComponents.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_ParallelConnectedComponents.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_ParallelConnectedComponents.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ParallelConnectedComponents, (PyObject *)&__pyx_type_9networkit_10_NetworKit_ParallelConnectedComponents) < 0) __PYX_ERR(0, 6741, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_ParallelConnectedComponents) < 0) __PYX_ERR(0, 6741, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_ParallelConnectedComponents = &__pyx_type_9networkit_10_NetworKit_ParallelConnectedComponents;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_StronglyConnectedComponents) < 0) __PYX_ERR(0, 6773, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_StronglyConnectedComponents.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_StronglyConnectedComponents.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_StronglyConnectedComponents.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_StronglyConnectedComponents.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_StronglyConnectedComponents, (PyObject *)&__pyx_type_9networkit_10_NetworKit_StronglyConnectedComponents) < 0) __PYX_ERR(0, 6773, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_StronglyConnectedComponents) < 0) __PYX_ERR(0, 6773, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_StronglyConnectedComponents = &__pyx_type_9networkit_10_NetworKit_StronglyConnectedComponents;
  __pyx_type_9networkit_10_NetworKit_WeaklyConnectedComponents.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_WeaklyConnectedComponents) < 0) __PYX_ERR(0, 6831, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_WeaklyConnectedComponents.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_WeaklyConnectedComponents.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_WeaklyConnectedComponents.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_WeaklyConnectedComponents.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_WeaklyConnectedComponents, (PyObject *)&__pyx_type_9networkit_10_NetworKit_WeaklyConnectedComponents) < 0) __PYX_ERR(0, 6831, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_WeaklyConnectedComponents) < 0) __PYX_ERR(0, 6831, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_WeaklyConnectedComponents = &__pyx_type_9networkit_10_NetworKit_WeaklyConnectedComponents;
  __pyx_type_9networkit_10_NetworKit_BiconnectedComponents.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_BiconnectedComponents) < 0) __PYX_ERR(0, 6891, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_BiconnectedComponents.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_BiconnectedComponents.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_BiconnectedComponents.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_BiconnectedComponents.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_BiconnectedComponents, (PyObject *)&__pyx_type_9networkit_10_NetworKit_BiconnectedComponents) < 0) __PYX_ERR(0, 6891, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_BiconnectedComponents) < 0) __PYX_ERR(0, 6891, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_BiconnectedComponents = &__pyx_type_9networkit_10_NetworKit_BiconnectedComponents;
  __pyx_type_9networkit_10_NetworKit_DynConnectedComponents.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_DynConnectedComponents) < 0) __PYX_ERR(0, 6947, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_DynConnectedComponents.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_DynConnectedComponents.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_DynConnectedComponents.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_DynConnectedComponents.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DynConnectedComponents, (PyObject *)&__pyx_type_9networkit_10_NetworKit_DynConnectedComponents) < 0) __PYX_ERR(0, 6947, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_DynConnectedComponents) < 0) __PYX_ERR(0, 6947, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_DynConnectedComponents = &__pyx_type_9networkit_10_NetworKit_DynConnectedComponents;
  __pyx_type_9networkit_10_NetworKit_DynWeaklyConnectedComponents.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_DynWeaklyConnectedComponents) < 0) __PYX_ERR(0, 7036, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_DynWeaklyConnectedComponents.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_DynWeaklyConnectedComponents.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_DynWeaklyConnectedComponents.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_DynWeaklyConnectedComponents.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DynWeaklyConnectedComponents, (PyObject *)&__pyx_type_9networkit_10_NetworKit_DynWeaklyConnectedComponents) < 0) __PYX_ERR(0, 7036, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_DynWeaklyConnectedComponents) < 0) __PYX_ERR(0, 7036, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_DynWeaklyConnectedComponents = &__pyx_type_9networkit_10_NetworKit_DynWeaklyConnectedComponents;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_ClusteringCoefficient) < 0) __PYX_ERR(0, 7123, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_ClusteringCoefficient.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_ClusteringCoefficient.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_ClusteringCoefficient.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_ClusteringCoefficient.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ClusteringCoefficient, (PyObject *)&__pyx_type_9networkit_10_NetworKit_ClusteringCoefficient) < 0) __PYX_ERR(0, 7123, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_ClusteringCoefficient) < 0) __PYX_ERR(0, 7123, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient = &__pyx_type_9networkit_10_NetworKit_ClusteringCoefficient;
  __pyx_type_9networkit_10_NetworKit_Diameter.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_Diameter) < 0) __PYX_ERR(0, 7218, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_Diameter.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_Diameter.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_Diameter.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_Diameter.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Diameter, (PyObject *)&__pyx_type_9networkit_10_NetworKit_Diameter) < 0) __PYX_ERR(0, 7218, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_Diameter) < 0) __PYX_ERR(0, 7218, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_Diameter = &__pyx_type_9networkit_10_NetworKit_Diameter;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_Eccentricity) < 0) __PYX_ERR(0, 7235, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_Eccentricity.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_Eccentricity.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_Eccentricity.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_Eccentricity.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Eccentricity, (PyObject *)&__pyx_type_9networkit_10_NetworKit_Eccentricity) < 0) __PYX_ERR(0, 7235, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_Eccentricity) < 0) __PYX_ERR(0, 7235, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_Eccentricity = &__pyx_type_9networkit_10_NetworKit_Eccentricity;
  __pyx_type_9networkit_10_NetworKit_EffectiveDiameter.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_EffectiveDiameter) < 0) __PYX_ERR(0, 7257, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_EffectiveDiameter.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_EffectiveDiameter.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_EffectiveDiameter.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_EffectiveDiameter.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_EffectiveDiameter, (PyObject *)&__pyx_type_9networkit_10_NetworKit_EffectiveDiameter) < 0) __PYX_ERR(0, 7257, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_EffectiveDiameter) < 0) __PYX_ERR(0, 7257, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_EffectiveDiameter = &__pyx_type_9networkit_10_NetworKit_EffectiveDiameter;
  __pyx_type_9networkit_10_NetworKit_EffectiveDiameterApproximation.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_EffectiveDiameterApproximation) < 0) __PYX_ERR(0, 7291, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_EffectiveDiameterApproximation.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_EffectiveDiameterApproximation.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_EffectiveDiameterApproximation.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_EffectiveDiameterApproximation.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_EffectiveDiameterApproximation, (PyObject *)&__pyx_type_9networkit_10_NetworKit_EffectiveDiameterApproximation) < 0) __PYX_ERR(0, 7291, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_EffectiveDiameterApproximation) < 0) __PYX_ERR(0, 7291, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_EffectiveDiameterApproximation = &__pyx_type_9networkit_10_NetworKit_EffectiveDiameterApproximation;
  __pyx_type_9networkit_10_NetworKit_HopPlotApproximation.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_HopPlotApproximation) < 0) __PYX_ERR(0, 7333, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_HopPlotApproximation.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_HopPlotApproximation.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_HopPlotApproximation.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_HopPlotApproximation.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_HopPlotApproximation, (PyObject *)&__pyx_type_9networkit_10_NetworKit_HopPlotApproximation) < 0) __PYX_ERR(0, 7333, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_HopPlotApproximation) < 0) __PYX_ERR(0, 7333, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_HopPlotApproximation = &__pyx_type_9networkit_10_NetworKit_HopPlotApproximation;
  __pyx_type_9networkit_10_NetworKit_NeighborhoodFunction.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_NeighborhoodFunction) < 0) __PYX_ERR(0, 7381, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_NeighborhoodFunction.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_NeighborhoodFunction.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_NeighborhoodFunction.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_NeighborhoodFunction.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_NeighborhoodFunction, (PyObject *)&__pyx_type_9networkit_10_NetworKit_NeighborhoodFunction) < 0) __PYX_ERR(0, 7381, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_NeighborhoodFunction) < 0) __PYX_ERR(0, 7381, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_NeighborhoodFunction = &__pyx_type_9networkit_10_NetworKit_NeighborhoodFunction;
  __pyx_type_9networkit_10_NetworKit_NeighborhoodFunctionApproximation.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_NeighborhoodFunctionApproximation) < 0) __PYX_ERR(0, 7414, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_NeighborhoodFunctionApproximation.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_NeighborhoodFunctionApproximation.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_NeighborhoodFunctionApproximation.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_NeighborhoodFunctionApproximation.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_NeighborhoodFunctionApproximatio, (PyObject *)&__pyx_type_9networkit_10_NetworKit_NeighborhoodFunctionApproximation) < 0) __PYX_ERR(0, 7414, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_NeighborhoodFunctionApproximation) < 0) __PYX_ERR(0, 7414, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_NeighborhoodFunctionApproximation = &__pyx_type_9networkit_10_NetworKit_NeighborhoodFunctionApproximation;
  __pyx_type_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic) < 0) __PYX_ERR(0, 7460, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_NeighborhoodFunctionHeuristic, (PyObject *)&__pyx_type_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic) < 0) __PYX_ERR(0, 7460, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic) < 0) __PYX_ERR(0, 7460, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic = &__pyx_type_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic;
  __pyx_type_9networkit_10_NetworKit_Assortativity.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_Assortativity) < 0) __PYX_ERR(0, 7501, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_Assortativity.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_Assortativity.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_Assortativity.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_Assortativity.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Assortativity, (PyObject *)&__pyx_type_9networkit_10_NetworKit_Assortativity) < 0) __PYX_ERR(0, 7501, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_Assortativity) < 0) __PYX_ERR(0, 7501, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_Assortativity = &__pyx_type_9networkit_10_NetworKit_Assortativity;
  __pyx_type_9networkit_10_NetworKit_Centrality.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_Centrality) < 0) __PYX_ERR(0, 7539, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_Centrality.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_Centrality.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_Centrality.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_Centrality.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Centrality, (PyObject *)&__pyx_type_9networkit_10_NetworKit_Centrality) < 0) __PYX_ERR(0, 7539, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_Centrality) < 0) __PYX_ERR(0, 7539, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_Centrality = &__pyx_type_9networkit_10_NetworKit_Centrality;
  __pyx_type_9networkit_10_NetworKit_TopCloseness.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_TopCloseness) < 0) __PYX_ERR(0, 7621, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_TopCloseness.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_TopCloseness.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_TopCloseness.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_TopCloseness.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_TopCloseness, (PyObject *)&__pyx_type_9networkit_10_NetworKit_TopCloseness) < 0) __PYX_ERR(0, 7621, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_TopCloseness) < 0) __PYX_ERR(0, 7621, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_TopCloseness = &__pyx_type_9networkit_10_NetworKit_TopCloseness;
  __pyx_type_9networkit_10_NetworKit_TopHarmonicCloseness.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_TopHarmonicCloseness) < 0) __PYX_ERR(0, 7688, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_TopHarmonicCloseness.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_TopHarmonicCloseness.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_TopHarmonicCloseness.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_TopHarmonicCloseness.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_TopHarmonicCloseness, (PyObject *)&__pyx_type_9networkit_10_NetworKit_TopHarmonicCloseness) < 0) __PYX_ERR(0, 7688, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_TopHarmonicCloseness) < 0) __PYX_ERR(0, 7688, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_TopHarmonicCloseness = &__pyx_type_9networkit_10_NetworKit_TopHarmonicCloseness;
  __pyx_type_9networkit_10_NetworKit_DynKatzCentrality.tp_base = __pyx_ptype_9networkit_10_NetworKit_Centrality;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_DynKatzCentrality) < 0) __PYX_ERR(0, 7763, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_DynKatzCentrality.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_DynKatzCentrality.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_DynKatzCentrality.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_DynKatzCentrality.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DynKatzCentrality, (PyObject *)&__pyx_type_9networkit_10_NetworKit_DynKatzCentrality) < 0) __PYX_ERR(0, 7763, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_DynKatzCentrality) < 0) __PYX_ERR(0, 7763, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_DynKatzCentrality = &__pyx_type_9networkit_10_NetworKit_DynKatzCentrality;
  __pyx_type_9networkit_10_NetworKit_DynTopHarmonicCloseness.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_DynTopHarmonicCloseness) < 0) __PYX_ERR(0, 7801, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_DynTopHarmonicCloseness.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_DynTopHarmonicCloseness.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_DynTopHarmonicCloseness.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_DynTopHarmonicCloseness.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DynTopHarmonicCloseness, (PyObject *)&__pyx_type_9networkit_10_NetworKit_DynTopHarmonicCloseness) < 0) __PYX_ERR(0, 7801, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_DynTopHarmonicCloseness) < 0) __PYX_ERR(0, 7801, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_DynTopHarmonicCloseness = &__pyx_type_9networkit_10_NetworKit_DynTopHarmonicCloseness;
  __pyx_type_9networkit_10_NetworKit_GroupDegree.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_GroupDegree) < 0) __PYX_ERR(0, 7913, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_GroupDegree.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_GroupDegree.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_GroupDegree.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_GroupDegree.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GroupDegree, (PyObject *)&__pyx_type_9networkit_10_NetworKit_GroupDegree) < 0) __PYX_ERR(0, 7913, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_GroupDegree) < 0) __PYX_ERR(0, 7913, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_GroupDegree = &__pyx_type_9networkit_10_NetworKit_GroupDegree;
  __pyx_type_9networkit_10_NetworKit_GroupCloseness.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_GroupCloseness) < 0) __PYX_ERR(0, 7990, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_GroupCloseness.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_GroupCloseness.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_GroupCloseness.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_GroupCloseness.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GroupCloseness, (PyObject *)&__pyx_type_9networkit_10_NetworKit_GroupCloseness) < 0) __PYX_ERR(0, 7990, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_GroupCloseness) < 0) __PYX_ERR(0, 7990, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_GroupCloseness = &__pyx_type_9networkit_10_NetworKit_GroupCloseness;
  __pyx_type_9networkit_10_NetworKit_DegreeCentrality.tp_base = __pyx_ptype_9networkit_10_NetworKit_Centrality;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_DegreeCentrality) < 0) __PYX_ERR(0, 8046, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_DegreeCentrality.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_DegreeCentrality.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_DegreeCentrality.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_DegreeCentrality.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DegreeCentrality, (PyObject *)&__pyx_type_9networkit_10_NetworKit_DegreeCentrality) < 0) __PYX_ERR(0, 8046, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_DegreeCentrality) < 0) __PYX_ERR(0, 8046, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_DegreeCentrality = &__pyx_type_9networkit_10_NetworKit_DegreeCentrality;
  __pyx_type_9networkit_10_NetworKit_Betweenness.tp_base = __pyx_ptype_9networkit_10_NetworKit_Centrality;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_Betweenness) < 0) __PYX_ERR(0, 8080, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_Betweenness.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_Betweenness.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_Betweenness.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_Betweenness.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Betweenness, (PyObject *)&__pyx_type_9networkit_10_NetworKit_Betweenness) < 0) __PYX_ERR(0, 8080, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_Betweenness) < 0) __PYX_ERR(0, 8080, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_Betweenness = &__pyx_type_9networkit_10_NetworKit_Betweenness;
  __pyx_type_9networkit_10_NetworKit_ApproxGroupBetweenness.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_ApproxGroupBetweenness) < 0) __PYX_ERR(0, 8120, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_ApproxGroupBetweenness.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_ApproxGroupBetweenness.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_ApproxGroupBetweenness.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_ApproxGroupBetweenness.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ApproxGroupBetweenness, (PyObject *)&__pyx_type_9networkit_10_NetworKit_ApproxGroupBetweenness) < 0) __PYX_ERR(0, 8120, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_ApproxGroupBetweenness) < 0) __PYX_ERR(0, 8120, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_ApproxGroupBetweenness = &__pyx_type_9networkit_10_NetworKit_ApproxGroupBetweenness;
  __pyx_type_9networkit_10_NetworKit_Closeness.tp_base = __pyx_ptype_9networkit_10_NetworKit_Centrality;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_Closeness) < 0) __PYX_ERR(0, 8170, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_Closeness.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_Closeness.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_Closeness.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_Closeness.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Closeness, (PyObject *)&__pyx_type_9networkit_10_NetworKit_Closeness) < 0) __PYX_ERR(0, 8170, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_Closeness) < 0) __PYX_ERR(0, 8170, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_Closeness = &__pyx_type_9networkit_10_NetworKit_Closeness;
  __pyx_type_9networkit_10_NetworKit_HarmonicCloseness.tp_base = __pyx_ptype_9networkit_10_NetworKit_Centrality;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_HarmonicCloseness) < 0) __PYX_ERR(0, 8214, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_HarmonicCloseness.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_HarmonicCloseness.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_HarmonicCloseness.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_HarmonicCloseness.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_HarmonicCloseness, (PyObject *)&__pyx_type_9networkit_10_NetworKit_HarmonicCloseness) < 0) __PYX_ERR(0, 8214, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_HarmonicCloseness) < 0) __PYX_ERR(0, 8214, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_HarmonicCloseness = &__pyx_type_9networkit_10_NetworKit_HarmonicCloseness;
  __pyx_type_9networkit_10_NetworKit_KPathCentrality.tp_base = __pyx_ptype_9networkit_10_NetworKit_Centrality;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_KPathCentrality) < 0) __PYX_ERR(0, 8244, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_KPathCentrality.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_KPathCentrality.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_KPathCentrality.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_KPathCentrality.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_KPathCentrality, (PyObject *)&__pyx_type_9networkit_10_NetworKit_KPathCentrality) < 0) __PYX_ERR(0, 8244, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_KPathCentrality) < 0) __PYX_ERR(0, 8244, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_KPathCentrality = &__pyx_type_9networkit_10_NetworKit_KPathCentrality;
  __pyx_type_9networkit_10_NetworKit_KatzCentrality.tp_base = __pyx_ptype_9networkit_10_NetworKit_Centrality;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_KatzCentrality) < 0) __PYX_ERR(0, 8271, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_KatzCentrality.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_KatzCentrality.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_KatzCentrality.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_KatzCentrality.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_KatzCentrality, (PyObject *)&__pyx_type_9networkit_10_NetworKit_KatzCentrality) < 0) __PYX_ERR(0, 8271, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_KatzCentrality) < 0) __PYX_ERR(0, 8271, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_KatzCentrality = &__pyx_type_9networkit_10_NetworKit_KatzCentrality;
  __pyx_type_9networkit_10_NetworKit_GraphDifference.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_GraphDifference) < 0) __PYX_ERR(0, 8309, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_GraphDifference.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_GraphDifference.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_GraphDifference.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_GraphDifference.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GraphDifference, (PyObject *)&__pyx_type_9networkit_10_NetworKit_GraphDifference) < 0) __PYX_ERR(0, 8309, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_GraphDifference) < 0) __PYX_ERR(0, 8309, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_GraphDifference = &__pyx_type_9networkit_10_NetworKit_GraphDifference;
  __pyx_type_9networkit_10_NetworKit_ApproxBetweenness.tp_base = __pyx_ptype_9networkit_10_NetworKit_Centrality;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_ApproxBetweenness) < 0) __PYX_ERR(0, 8423, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_ApproxBetweenness.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_ApproxBetweenness.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_ApproxBetweenness.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_ApproxBetweenness.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ApproxBetweenness, (PyObject *)&__pyx_type_9networkit_10_NetworKit_ApproxBetweenness) < 0) __PYX_ERR(0, 8423, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_ApproxBetweenness) < 0) __PYX_ERR(0, 8423, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_ApproxBetweenness = &__pyx_type_9networkit_10_NetworKit_ApproxBetweenness;
  __pyx_type_9networkit_10_NetworKit_KadabraBetweenness.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_KadabraBetweenness) < 0) __PYX_ERR(0, 8469, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_KadabraBetweenness.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_KadabraBetweenness.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_KadabraBetweenness.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_KadabraBetweenness.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_KadabraBetweenness, (PyObject *)&__pyx_type_9networkit_10_NetworKit_KadabraBetweenness) < 0) __PYX_ERR(0, 8469, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_KadabraBetweenness) < 0) __PYX_ERR(0, 8469, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_KadabraBetweenness = &__pyx_type_9networkit_10_NetworKit_KadabraBetweenness;
  __pyx_type_9networkit_10_NetworKit_EstimateBetweenness.tp_base = __pyx_ptype_9networkit_10_NetworKit_Centrality;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_EstimateBetweenness) < 0) __PYX_ERR(0, 8594, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_EstimateBetweenness.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_EstimateBetweenness.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_EstimateBetweenness.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_EstimateBetweenness.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_EstimateBetweenness, (PyObject *)&__pyx_type_9networkit_10_NetworKit_EstimateBetweenness) < 0) __PYX_ERR(0, 8594, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_EstimateBetweenness) < 0) __PYX_ERR(0, 8594, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_EstimateBetweenness = &__pyx_type_9networkit_10_NetworKit_EstimateBetweenness;
  __pyx_type_9networkit_10_NetworKit_ApproxBetweenness2.tp_base = __pyx_ptype_9networkit_10_NetworKit_Centrality;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_ApproxBetweenness2) < 0) __PYX_ERR(0, 8624, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_ApproxBetweenness2.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_ApproxBetweenness2.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_ApproxBetweenness2.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_ApproxBetweenness2.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ApproxBetweenness2, (PyObject *)&__pyx_type_9networkit_10_NetworKit_ApproxBetweenness2) < 0) __PYX_ERR(0, 8624, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_ApproxBetweenness2) < 0) __PYX_ERR(0, 8624, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_ApproxBetweenness2 = &__pyx_type_9networkit_10_NetworKit_ApproxBetweenness2;
  __pyx_type_9networkit_10_NetworKit_ApproxCloseness.tp_base = __pyx_ptype_9networkit_10_NetworKit_Centrality;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_ApproxCloseness) < 0) __PYX_ERR(0, 8674, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_ApproxCloseness.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_ApproxCloseness.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_ApproxCloseness.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_ApproxCloseness.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ApproxCloseness, (PyObject *)&__pyx_type_9networkit_10_NetworKit_ApproxCloseness) < 0) __PYX_ERR(0, 8674, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_ApproxCloseness) < 0) __PYX_ERR(0, 8674, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_ApproxCloseness = &__pyx_type_9networkit_10_NetworKit_ApproxCloseness;
  __pyx_type_9networkit_10_NetworKit_PageRank.tp_base = __pyx_ptype_9networkit_10_NetworKit_Centrality;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_PageRank) < 0) __PYX_ERR(0, 8725, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_PageRank.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_PageRank.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_PageRank.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_PageRank.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PageRank, (PyObject *)&__pyx_type_9networkit_10_NetworKit_PageRank) < 0) __PYX_ERR(0, 8725, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_PageRank) < 0) __PYX_ERR(0, 8725, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_PageRank = &__pyx_type_9networkit_10_NetworKit_PageRank;
  __pyx_type_9networkit_10_NetworKit_EigenvectorCentrality.tp_base = __pyx_ptype_9networkit_10_NetworKit_Centrality;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_EigenvectorCentrality) < 0) __PYX_ERR(0, 8751, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_EigenvectorCentrality.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_EigenvectorCentrality.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_EigenvectorCentrality.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_EigenvectorCentrality.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_EigenvectorCentrality, (PyObject *)&__pyx_type_9networkit_10_NetworKit_EigenvectorCentrality) < 0) __PYX_ERR(0, 8751, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_EigenvectorCentrality) < 0) __PYX_ERR(0, 8751, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_EigenvectorCentrality = &__pyx_type_9networkit_10_NetworKit_EigenvectorCentrality;
  __pyx_type_9networkit_10_NetworKit_CoreDecomposition.tp_base = __pyx_ptype_9networkit_10_NetworKit_Centrality;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_CoreDecomposition) < 0) __PYX_ERR(0, 8781, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_CoreDecomposition.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_CoreDecomposition.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_CoreDecomposition.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_CoreDecomposition.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CoreDecomposition, (PyObject *)&__pyx_type_9networkit_10_NetworKit_CoreDecomposition) < 0) __PYX_ERR(0, 8781, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_CoreDecomposition) < 0) __PYX_ERR(0, 8781, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_CoreDecomposition = &__pyx_type_9networkit_10_NetworKit_CoreDecomposition;
  __pyx_type_9networkit_10_NetworKit_LocalClusteringCoefficient.tp_base = __pyx_ptype_9networkit_10_NetworKit_Centrality;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_LocalClusteringCoefficient) < 0) __PYX_ERR(0, 8853, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_LocalClusteringCoefficient.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_LocalClusteringCoefficient.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_LocalClusteringCoefficient.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_LocalClusteringCoefficient.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_LocalClusteringCoefficient, (PyObject *)&__pyx_type_9networkit_10_NetworKit_LocalClusteringCoefficient) < 0) __PYX_ERR(0, 8853, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_LocalClusteringCoefficient) < 0) __PYX_ERR(0, 8853, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_LocalClusteringCoefficient = &__pyx_type_9networkit_10_NetworKit_LocalClusteringCoefficient;
  __pyx_type_9networkit_10_NetworKit_Sfigality.tp_base = __pyx_ptype_9networkit_10_NetworKit_Centrality;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_Sfigality) < 0) __PYX_ERR(0, 8888, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_Sfigality.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_Sfigality.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_Sfigality.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_Sfigality.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Sfigality, (PyObject *)&__pyx_type_9networkit_10_NetworKit_Sfigality) < 0) __PYX_ERR(0, 8888, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_Sfigality) < 0) __PYX_ERR(0, 8888, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_Sfigality = &__pyx_type_9networkit_10_NetworKit_Sfigality;
  __pyx_type_9networkit_10_NetworKit_DynApproxBetweenness.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_DynApproxBetweenness) < 0) __PYX_ERR(0, 8917, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_DynApproxBetweenness.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_DynApproxBetweenness.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_DynApproxBetweenness.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_DynApproxBetweenness.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DynApproxBetweenness, (PyObject *)&__pyx_type_9networkit_10_NetworKit_DynApproxBetweenness) < 0) __PYX_ERR(0, 8917, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_DynApproxBetweenness) < 0) __PYX_ERR(0, 8917, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_DynApproxBetweenness = &__pyx_type_9networkit_10_NetworKit_DynApproxBetweenness;
  __pyx_type_9networkit_10_NetworKit_DynBetweenness.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_DynBetweenness) < 0) __PYX_ERR(0, 9022, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_DynBetweenness.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_DynBetweenness.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_DynBetweenness.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_DynBetweenness.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DynBetweenness, (PyObject *)&__pyx_type_9networkit_10_NetworKit_DynBetweenness) < 0) __PYX_ERR(0, 9022, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_DynBetweenness) < 0) __PYX_ERR(0, 9022, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_DynBetweenness = &__pyx_type_9networkit_10_NetworKit_DynBetweenness;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_DynBetweennessOneNode) < 0) __PYX_ERR(0, 9109, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_DynBetweennessOneNode.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_DynBetweennessOneNode.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_DynBetweennessOneNode.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_DynBetweennessOneNode.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DynBetweennessOneNode, (PyObject *)&__pyx_type_9networkit_10_NetworKit_DynBetweennessOneNode) < 0) __PYX_ERR(0, 9109, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_DynBetweennessOneNode) < 0) __PYX_ERR(0, 9109, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_DynBetweennessOneNode = &__pyx_type_9networkit_10_NetworKit_DynBetweennessOneNode;
  __pyx_type_9networkit_10_NetworKit_PermanenceCentrality.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_PermanenceCentrality) < 0) __PYX_ERR(0, 9189, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_PermanenceCentrality.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_PermanenceCentrality.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_PermanenceCentrality.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_PermanenceCentrality.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PermanenceCentrality, (PyObject *)&__pyx_type_9networkit_10_NetworKit_PermanenceCentrality) < 0) __PYX_ERR(0, 9189, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_PermanenceCentrality) < 0) __PYX_ERR(0, 9189, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_PermanenceCentrality = &__pyx_type_9networkit_10_NetworKit_PermanenceCentrality;
  __pyx_type_9networkit_10_NetworKit_LocalPartitionCoverage.tp_base = __pyx_ptype_9networkit_10_NetworKit_Centrality;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_LocalPartitionCoverage) < 0) __PYX_ERR(0, 9222, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_LocalPartitionCoverage.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_LocalPartitionCoverage.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_LocalPartitionCoverage.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_LocalPartitionCoverage.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_LocalPartitionCoverage, (PyObject *)&__pyx_type_9networkit_10_NetworKit_LocalPartitionCoverage) < 0) __PYX_ERR(0, 9222, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_LocalPartitionCoverage) < 0) __PYX_ERR(0, 9222, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_LocalPartitionCoverage = &__pyx_type_9networkit_10_NetworKit_LocalPartitionCoverage;
  __pyx_type_9networkit_10_NetworKit_LaplacianCentrality.tp_base = __pyx_ptype_9networkit_10_NetworKit_Centrality;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_LaplacianCentrality) < 0) __PYX_ERR(0, 9248, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_LaplacianCentrality.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_LaplacianCentrality.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_LaplacianCentrality.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_LaplacianCentrality.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_LaplacianCentrality, (PyObject *)&__pyx_type_9networkit_10_NetworKit_LaplacianCentrality) < 0) __PYX_ERR(0, 9248, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_LaplacianCentrality) < 0) __PYX_ERR(0, 9248, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_LaplacianCentrality = &__pyx_type_9networkit_10_NetworKit_LaplacianCentrality;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_GraphEvent) < 0) __PYX_ERR(0, 9299, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_GraphEvent.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_GraphEvent.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_GraphEvent.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_GraphEvent.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GraphEvent, (PyObject *)&__pyx_type_9networkit_10_NetworKit_GraphEvent) < 0) __PYX_ERR(0, 9299, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_GraphEvent) < 0) __PYX_ERR(0, 9299, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_GraphEvent = &__pyx_type_9networkit_10_NetworKit_GraphEvent;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_DGSStreamParser) < 0) __PYX_ERR(0, 9353, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_DGSStreamParser.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_DGSStreamParser.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_DGSStreamParser.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_DGSStreamParser.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DGSStreamParser, (PyObject *)&__pyx_type_9networkit_10_NetworKit_DGSStreamParser) < 0) __PYX_ERR(0, 9353, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_DGSStreamParser) < 0) __PYX_ERR(0, 9353, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_DGSStreamParser = &__pyx_type_9networkit_10_NetworKit_DGSStreamParser;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_DGSWriter) < 0) __PYX_ERR(0, 9372, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_DGSWriter.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_DGSWriter.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_DGSWriter.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_DGSWriter.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DGSWriter, (PyObject *)&__pyx_type_9networkit_10_NetworKit_DGSWriter) < 0) __PYX_ERR(0, 9372, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_DGSWriter) < 0) __PYX_ERR(0, 9372, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_DGSWriter = &__pyx_type_9networkit_10_NetworKit_DGSWriter;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_DynamicPathGenerator) < 0) __PYX_ERR(0, 9429, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_DynamicPathGenerator.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_DynamicPathGenerator.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_DynamicPathGenerator.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_DynamicPathGenerator.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DynamicPathGenerator, (PyObject *)&__pyx_type_9networkit_10_NetworKit_DynamicPathGenerator) < 0) __PYX_ERR(0, 9429, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_DynamicPathGenerator) < 0) __PYX_ERR(0, 9429, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_DynamicPathGenerator = &__pyx_type_9networkit_10_NetworKit_DynamicPathGenerator;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator) < 0) __PYX_ERR(0, 9450, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DynamicDorogovtsevMendesGenerato, (PyObject *)&__pyx_type_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator) < 0) __PYX_ERR(0, 9450, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator) < 0) __PYX_ERR(0, 9450, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator = &__pyx_type_9networkit_10_NetworKit_DynamicDorogovtsevMendesGenerator;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_DynamicPubWebGenerator) < 0) __PYX_ERR(0, 9484, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_DynamicPubWebGenerator.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_DynamicPubWebGenerator.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_DynamicPubWebGenerator.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_DynamicPubWebGenerator.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DynamicPubWebGenerator, (PyObject *)&__pyx_type_9networkit_10_NetworKit_DynamicPubWebGenerator) < 0) __PYX_ERR(0, 9484, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_DynamicPubWebGenerator) < 0) __PYX_ERR(0, 9484, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_DynamicPubWebGenerator = &__pyx_type_9networkit_10_NetworKit_DynamicPubWebGenerator;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_DynamicHyperbolicGenerator) < 0) __PYX_ERR(0, 9523, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_DynamicHyperbolicGenerator.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_DynamicHyperbolicGenerator.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_DynamicHyperbolicGenerator.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_DynamicHyperbolicGenerator.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DynamicHyperbolicGenerator, (PyObject *)&__pyx_type_9networkit_10_NetworKit_DynamicHyperbolicGenerator) < 0) __PYX_ERR(0, 9523, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_DynamicHyperbolicGenerator) < 0) __PYX_ERR(0, 9523, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_DynamicHyperbolicGenerator = &__pyx_type_9networkit_10_NetworKit_DynamicHyperbolicGenerator;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_DynamicForestFireGenerator) < 0) __PYX_ERR(0, 9576, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_DynamicForestFireGenerator.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_DynamicForestFireGenerator.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_DynamicForestFireGenerator.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_DynamicForestFireGenerator.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DynamicForestFireGenerator, (PyObject *)&__pyx_type_9networkit_10_NetworKit_DynamicForestFireGenerator) < 0) __PYX_ERR(0, 9576, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_DynamicForestFireGenerator) < 0) __PYX_ERR(0, 9576, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_DynamicForestFireGenerator = &__pyx_type_9networkit_10_NetworKit_DynamicForestFireGenerator;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_GraphUpdater) < 0) __PYX_ERR(0, 9625, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_GraphUpdater.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_GraphUpdater.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_GraphUpdater.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_GraphUpdater.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GraphUpdater, (PyObject *)&__pyx_type_9networkit_10_NetworKit_GraphUpdater) < 0) __PYX_ERR(0, 9625, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_GraphUpdater) < 0) __PYX_ERR(0, 9625, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_GraphUpdater = &__pyx_type_9networkit_10_NetworKit_GraphUpdater;
  __pyx_type_9networkit_10_NetworKit_GraphCoarsening.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_GraphCoarsening) < 0) __PYX_ERR(0, 9661, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_GraphCoarsening.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_GraphCoarsening.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_GraphCoarsening.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_GraphCoarsening.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GraphCoarsening, (PyObject *)&__pyx_type_9networkit_10_NetworKit_GraphCoarsening) < 0) __PYX_ERR(0, 9661, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_GraphCoarsening) < 0) __PYX_ERR(0, 9661, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_GraphCoarsening = &__pyx_type_9networkit_10_NetworKit_GraphCoarsening;
  __pyx_type_9networkit_10_NetworKit_ParallelPartitionCoarsening.tp_base = __pyx_ptype_9networkit_10_NetworKit_GraphCoarsening;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_ParallelPartitionCoarsening) < 0) __PYX_ERR(0, 9684, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_ParallelPartitionCoarsening.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_ParallelPartitionCoarsening.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_ParallelPartitionCoarsening.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_ParallelPartitionCoarsening.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ParallelPartitionCoarsening, (PyObject *)&__pyx_type_9networkit_10_NetworKit_ParallelPartitionCoarsening) < 0) __PYX_ERR(0, 9684, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_ParallelPartitionCoarsening) < 0) __PYX_ERR(0, 9684, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_ParallelPartitionCoarsening = &__pyx_type_9networkit_10_NetworKit_ParallelPartitionCoarsening;
  __pyx_type_9networkit_10_NetworKit_MatchingCoarsening.tp_base = __pyx_ptype_9networkit_10_NetworKit_GraphCoarsening;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_MatchingCoarsening) < 0) __PYX_ERR(0, 9694, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_MatchingCoarsening.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_MatchingCoarsening.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_MatchingCoarsening.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_MatchingCoarsening.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_MatchingCoarsening, (PyObject *)&__pyx_type_9networkit_10_NetworKit_MatchingCoarsening) < 0) __PYX_ERR(0, 9694, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_MatchingCoarsening) < 0) __PYX_ERR(0, 9694, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_MatchingCoarsening = &__pyx_type_9networkit_10_NetworKit_MatchingCoarsening;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_PageRankNibble) < 0) __PYX_ERR(0, 9716, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_PageRankNibble.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_PageRankNibble.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_PageRankNibble.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_PageRankNibble.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PageRankNibble, (PyObject *)&__pyx_type_9networkit_10_NetworKit_PageRankNibble) < 0) __PYX_ERR(0, 9716, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_PageRankNibble) < 0) __PYX_ERR(0, 9716, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_PageRankNibble = &__pyx_type_9networkit_10_NetworKit_PageRankNibble;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_GCE) < 0) __PYX_ERR(0, 9750, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_GCE.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_GCE.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_GCE.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_GCE.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GCE, (PyObject *)&__pyx_type_9networkit_10_NetworKit_GCE) < 0) __PYX_ERR(0, 9750, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_GCE) < 0) __PYX_ERR(0, 9750, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_GCE = &__pyx_type_9networkit_10_NetworKit_GCE;
  __pyx_type_9networkit_10_NetworKit_MaximalCliques.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_MaximalCliques) < 0) __PYX_ERR(0, 9803, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_MaximalCliques.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_MaximalCliques.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_MaximalCliques.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_MaximalCliques.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_MaximalCliques, (PyObject *)&__pyx_type_9networkit_10_NetworKit_MaximalCliques) < 0) __PYX_ERR(0, 9803, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_MaximalCliques) < 0) __PYX_ERR(0, 9803, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_MaximalCliques = &__pyx_type_9networkit_10_NetworKit_MaximalCliques;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_LinkPredictor) < 0) __PYX_ERR(0, 9885, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_LinkPredictor.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_LinkPredictor.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_LinkPredictor.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_LinkPredictor.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_LinkPredictor, (PyObject *)&__pyx_type_9networkit_10_NetworKit_LinkPredictor) < 0) __PYX_ERR(0, 9885, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_LinkPredictor) < 0) __PYX_ERR(0, 9885, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_LinkPredictor = &__pyx_type_9networkit_10_NetworKit_LinkPredictor;
  __pyx_type_9networkit_10_NetworKit_KatzIndex.tp_base = __pyx_ptype_9networkit_10_NetworKit_LinkPredictor;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_KatzIndex) < 0) __PYX_ERR(0, 9973, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_KatzIndex.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_KatzIndex.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_KatzIndex.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_KatzIndex.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_KatzIndex, (PyObject *)&__pyx_type_9networkit_10_NetworKit_KatzIndex) < 0) __PYX_ERR(0, 9973, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_KatzIndex) < 0) __PYX_ERR(0, 9973, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_KatzIndex = &__pyx_type_9networkit_10_NetworKit_KatzIndex;
  __pyx_type_9networkit_10_NetworKit_CommonNeighborsIndex.tp_base = __pyx_ptype_9networkit_10_NetworKit_LinkPredictor;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_CommonNeighborsIndex) < 0) __PYX_ERR(0, 10021, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_CommonNeighborsIndex.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_CommonNeighborsIndex.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_CommonNeighborsIndex.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_CommonNeighborsIndex.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CommonNeighborsIndex, (PyObject *)&__pyx_type_9networkit_10_NetworKit_CommonNeighborsIndex) < 0) __PYX_ERR(0, 10021, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_CommonNeighborsIndex) < 0) __PYX_ERR(0, 10021, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_CommonNeighborsIndex = &__pyx_type_9networkit_10_NetworKit_CommonNeighborsIndex;
  __pyx_type_9networkit_10_NetworKit_PreferentialAttachmentIndex.tp_base = __pyx_ptype_9networkit_10_NetworKit_LinkPredictor;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_PreferentialAttachmentIndex) < 0) __PYX_ERR(0, 10058, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_PreferentialAttachmentIndex.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_PreferentialAttachmentIndex.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_PreferentialAttachmentIndex.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_PreferentialAttachmentIndex.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PreferentialAttachmentIndex, (PyObject *)&__pyx_type_9networkit_10_NetworKit_PreferentialAttachmentIndex) < 0) __PYX_ERR(0, 10058, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_PreferentialAttachmentIndex) < 0) __PYX_ERR(0, 10058, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_PreferentialAttachmentIndex = &__pyx_type_9networkit_10_NetworKit_PreferentialAttachmentIndex;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_Volume) < 0) __PYX_ERR(0, 10098, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_Volume.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_Volume.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_Volume.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_Volume.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Volume, (PyObject *)&__pyx_type_9networkit_10_NetworKit_Volume) < 0) __PYX_ERR(0, 10098, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_Volume) < 0) __PYX_ERR(0, 10098, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_Volume = &__pyx_type_9networkit_10_NetworKit_Volume;
  __pyx_type_9networkit_10_NetworKit_JaccardIndex.tp_base = __pyx_ptype_9networkit_10_NetworKit_LinkPredictor;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_JaccardIndex) < 0) __PYX_ERR(0, 10151, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_JaccardIndex.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_JaccardIndex.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_JaccardIndex.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_JaccardIndex.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_JaccardIndex, (PyObject *)&__pyx_type_9networkit_10_NetworKit_JaccardIndex) < 0) __PYX_ERR(0, 10151, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_JaccardIndex) < 0) __PYX_ERR(0, 10151, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_JaccardIndex = &__pyx_type_9networkit_10_NetworKit_JaccardIndex;
  __pyx_type_9networkit_10_NetworKit_AdamicAdarIndex.tp_base = __pyx_ptype_9networkit_10_NetworKit_LinkPredictor;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_AdamicAdarIndex) < 0) __PYX_ERR(0, 10190, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_AdamicAdarIndex.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_AdamicAdarIndex.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_AdamicAdarIndex.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_AdamicAdarIndex.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_AdamicAdarIndex, (PyObject *)&__pyx_type_9networkit_10_NetworKit_AdamicAdarIndex) < 0) __PYX_ERR(0, 10190, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_AdamicAdarIndex) < 0) __PYX_ERR(0, 10190, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_AdamicAdarIndex = &__pyx_type_9networkit_10_NetworKit_AdamicAdarIndex;
  __pyx_type_9networkit_10_NetworKit_UDegreeIndex.tp_base = __pyx_ptype_9networkit_10_NetworKit_LinkPredictor;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_UDegreeIndex) < 0) __PYX_ERR(0, 10230, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_UDegreeIndex.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_UDegreeIndex.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_UDegreeIndex.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_UDegreeIndex.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_UDegreeIndex, (PyObject *)&__pyx_type_9networkit_10_NetworKit_UDegreeIndex) < 0) __PYX_ERR(0, 10230, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_UDegreeIndex) < 0) __PYX_ERR(0, 10230, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_UDegreeIndex = &__pyx_type_9networkit_10_NetworKit_UDegreeIndex;
  __pyx_type_9networkit_10_NetworKit_VDegreeIndex.tp_base = __pyx_ptype_9networkit_10_NetworKit_LinkPredictor;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_VDegreeIndex) < 0) __PYX_ERR(0, 10267, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_VDegreeIndex.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_VDegreeIndex.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_VDegreeIndex.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_VDegreeIndex.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_VDegreeIndex, (PyObject *)&__pyx_type_9networkit_10_NetworKit_VDegreeIndex) < 0) __PYX_ERR(0, 10267, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_VDegreeIndex) < 0) __PYX_ERR(0, 10267, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_VDegreeIndex = &__pyx_type_9networkit_10_NetworKit_VDegreeIndex;
  __pyx_type_9networkit_10_NetworKit_AlgebraicDistanceIndex.tp_base = __pyx_ptype_9networkit_10_NetworKit_LinkPredictor;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_AlgebraicDistanceIndex) < 0) __PYX_ERR(0, 10306, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_AlgebraicDistanceIndex.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_AlgebraicDistanceIndex.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_AlgebraicDistanceIndex.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_AlgebraicDistanceIndex.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_AlgebraicDistanceIndex, (PyObject *)&__pyx_type_9networkit_10_NetworKit_AlgebraicDistanceIndex) < 0) __PYX_ERR(0, 10306, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_AlgebraicDistanceIndex) < 0) __PYX_ERR(0, 10306, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_AlgebraicDistanceIndex = &__pyx_type_9networkit_10_NetworKit_AlgebraicDistanceIndex;
  __pyx_type_9networkit_10_NetworKit_NeighborhoodDistanceIndex.tp_base = __pyx_ptype_9networkit_10_NetworKit_LinkPredictor;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_NeighborhoodDistanceIndex) < 0) __PYX_ERR(0, 10363, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_NeighborhoodDistanceIndex.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_NeighborhoodDistanceIndex.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_NeighborhoodDistanceIndex.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_NeighborhoodDistanceIndex.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_NeighborhoodDistanceIndex, (PyObject *)&__pyx_type_9networkit_10_NetworKit_NeighborhoodDistanceIndex) < 0) __PYX_ERR(0, 10363, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_NeighborhoodDistanceIndex) < 0) __PYX_ERR(0, 10363, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_NeighborhoodDistanceIndex = &__pyx_type_9networkit_10_NetworKit_NeighborhoodDistanceIndex;
  __pyx_type_9networkit_10_NetworKit_TotalNeighborsIndex.tp_base = __pyx_ptype_9networkit_10_NetworKit_LinkPredictor;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_TotalNeighborsIndex) < 0) __PYX_ERR(0, 10399, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_TotalNeighborsIndex.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_TotalNeighborsIndex.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_TotalNeighborsIndex.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_TotalNeighborsIndex.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_TotalNeighborsIndex, (PyObject *)&__pyx_type_9networkit_10_NetworKit_TotalNeighborsIndex) < 0) __PYX_ERR(0, 10399, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_TotalNeighborsIndex) < 0) __PYX_ERR(0, 10399, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_TotalNeighborsIndex = &__pyx_type_9networkit_10_NetworKit_TotalNeighborsIndex;
  __pyx_type_9networkit_10_NetworKit_NeighborsMeasureIndex.tp_base = __pyx_ptype_9networkit_10_NetworKit_LinkPredictor;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_NeighborsMeasureIndex) < 0) __PYX_ERR(0, 10439, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_NeighborsMeasureIndex.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_NeighborsMeasureIndex.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_NeighborsMeasureIndex.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_NeighborsMeasureIndex.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_NeighborsMeasureIndex, (PyObject *)&__pyx_type_9networkit_10_NetworKit_NeighborsMeasureIndex) < 0) __PYX_ERR(0, 10439, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_NeighborsMeasureIndex) < 0) __PYX_ERR(0, 10439, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_NeighborsMeasureIndex = &__pyx_type_9networkit_10_NetworKit_NeighborsMeasureIndex;
  __pyx_type_9networkit_10_NetworKit_SameCommunityIndex.tp_base = __pyx_ptype_9networkit_10_NetworKit_LinkPredictor;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_SameCommunityIndex) < 0) __PYX_ERR(0, 10479, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_SameCommunityIndex.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_SameCommunityIndex.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_SameCommunityIndex.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_SameCommunityIndex.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SameCommunityIndex, (PyObject *)&__pyx_type_9networkit_10_NetworKit_SameCommunityIndex) < 0) __PYX_ERR(0, 10479, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_SameCommunityIndex) < 0) __PYX_ERR(0, 10479, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_SameCommunityIndex = &__pyx_type_9networkit_10_NetworKit_SameCommunityIndex;
  __pyx_type_9networkit_10_NetworKit_AdjustedRandIndex.tp_base = __pyx_ptype_9networkit_10_NetworKit_LinkPredictor;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_AdjustedRandIndex) < 0) __PYX_ERR(0, 10516, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_AdjustedRandIndex.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_AdjustedRandIndex.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_AdjustedRandIndex.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_AdjustedRandIndex.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_AdjustedRandIndex, (PyObject *)&__pyx_type_9networkit_10_NetworKit_AdjustedRandIndex) < 0) __PYX_ERR(0, 10516, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_AdjustedRandIndex) < 0) __PYX_ERR(0, 10516, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_AdjustedRandIndex = &__pyx_type_9networkit_10_NetworKit_AdjustedRandIndex;
  __pyx_type_9networkit_10_NetworKit_ResourceAllocationIndex.tp_base = __pyx_ptype_9networkit_10_NetworKit_LinkPredictor;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_ResourceAllocationIndex) < 0) __PYX_ERR(0, 10553, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_ResourceAllocationIndex.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_ResourceAllocationIndex.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_ResourceAllocationIndex.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_ResourceAllocationIndex.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ResourceAllocationIndex, (PyObject *)&__pyx_type_9networkit_10_NetworKit_ResourceAllocationIndex) < 0) __PYX_ERR(0, 10553, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_ResourceAllocationIndex) < 0) __PYX_ERR(0, 10553, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_ResourceAllocationIndex = &__pyx_type_9networkit_10_NetworKit_ResourceAllocationIndex;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_RandomLinkSampler) < 0) __PYX_ERR(0, 10592, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_RandomLinkSampler.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_RandomLinkSampler.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_RandomLinkSampler.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_RandomLinkSampler.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_RandomLinkSampler, (PyObject *)&__pyx_type_9networkit_10_NetworKit_RandomLinkSampler) < 0) __PYX_ERR(0, 10592, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_RandomLinkSampler) < 0) __PYX_ERR(0, 10592, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_RandomLinkSampler = &__pyx_type_9networkit_10_NetworKit_RandomLinkSampler;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_EvaluationMetric) < 0) __PYX_ERR(0, 10644, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_EvaluationMetric.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_EvaluationMetric.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_EvaluationMetric.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_EvaluationMetric.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_EvaluationMetric, (PyObject *)&__pyx_type_9networkit_10_NetworKit_EvaluationMetric) < 0) __PYX_ERR(0, 10644, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_EvaluationMetric) < 0) __PYX_ERR(0, 10644, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_EvaluationMetric = &__pyx_type_9networkit_10_NetworKit_EvaluationMetric;
  __pyx_type_9networkit_10_NetworKit_ROCMetric.tp_base = __pyx_ptype_9networkit_10_NetworKit_EvaluationMetric;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_ROCMetric) < 0) __PYX_ERR(0, 10727, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_ROCMetric.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_ROCMetric.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_ROCMetric.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_ROCMetric.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ROCMetric, (PyObject *)&__pyx_type_9networkit_10_NetworKit_ROCMetric) < 0) __PYX_ERR(0, 10727, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_ROCMetric) < 0) __PYX_ERR(0, 10727, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_ROCMetric = &__pyx_type_9networkit_10_NetworKit_ROCMetric;
  __pyx_type_9networkit_10_NetworKit_PrecisionRecallMetric.tp_base = __pyx_ptype_9networkit_10_NetworKit_EvaluationMetric;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_PrecisionRecallMetric) < 0) __PYX_ERR(0, 10770, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_PrecisionRecallMetric.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_PrecisionRecallMetric.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_PrecisionRecallMetric.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_PrecisionRecallMetric.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PrecisionRecallMetric, (PyObject *)&__pyx_type_9networkit_10_NetworKit_PrecisionRecallMetric) < 0) __PYX_ERR(0, 10770, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_PrecisionRecallMetric) < 0) __PYX_ERR(0, 10770, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_PrecisionRecallMetric = &__pyx_type_9networkit_10_NetworKit_PrecisionRecallMetric;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_MissingLinksFinder) < 0) __PYX_ERR(0, 10814, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_MissingLinksFinder.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_MissingLinksFinder.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_MissingLinksFinder.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_MissingLinksFinder.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_MissingLinksFinder, (PyObject *)&__pyx_type_9networkit_10_NetworKit_MissingLinksFinder) < 0) __PYX_ERR(0, 10814, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_MissingLinksFinder) < 0) __PYX_ERR(0, 10814, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_MissingLinksFinder = &__pyx_type_9networkit_10_NetworKit_MissingLinksFinder;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_NeighborhoodUtility) < 0) __PYX_ERR(0, 10878, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_NeighborhoodUtility.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_NeighborhoodUtility.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_NeighborhoodUtility.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_NeighborhoodUtility.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_NeighborhoodUtility, (PyObject *)&__pyx_type_9networkit_10_NetworKit_NeighborhoodUtility) < 0) __PYX_ERR(0, 10878, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_NeighborhoodUtility) < 0) __PYX_ERR(0, 10878, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_NeighborhoodUtility = &__pyx_type_9networkit_10_NetworKit_NeighborhoodUtility;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_LinkThresholder) < 0) __PYX_ERR(0, 10925, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_LinkThresholder.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_LinkThresholder.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_LinkThresholder.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_LinkThresholder.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_LinkThresholder, (PyObject *)&__pyx_type_9networkit_10_NetworKit_LinkThresholder) < 0) __PYX_ERR(0, 10925, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_LinkThresholder) < 0) __PYX_ERR(0, 10925, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_LinkThresholder = &__pyx_type_9networkit_10_NetworKit_LinkThresholder;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_PredictionsSorter) < 0) __PYX_ERR(0, 10988, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_PredictionsSorter.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_PredictionsSorter.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_PredictionsSorter.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_PredictionsSorter.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PredictionsSorter, (PyObject *)&__pyx_type_9networkit_10_NetworKit_PredictionsSorter) < 0) __PYX_ERR(0, 10988, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_PredictionsSorter) < 0) __PYX_ERR(0, 10988, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_PredictionsSorter = &__pyx_type_9networkit_10_NetworKit_PredictionsSorter;
  __pyx_vtabptr_9networkit_10_NetworKit_EdgeScore = &__pyx_vtable_9networkit_10_NetworKit_EdgeScore;
  __pyx_vtable_9networkit_10_NetworKit_EdgeScore.isDoubleValue = (bool (*)(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *))__pyx_f_9networkit_10_NetworKit_9EdgeScore_isDoubleValue;
  __pyx_type_9networkit_10_NetworKit_EdgeScore.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_EdgeScore) < 0) __PYX_ERR(0, 11032, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_EdgeScore.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_EdgeScore.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_EdgeScore.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_EdgeScore.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_9networkit_10_NetworKit_EdgeScore.tp_dict, __pyx_vtabptr_9networkit_10_NetworKit_EdgeScore) < 0) __PYX_ERR(0, 11032, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_EdgeScore, (PyObject *)&__pyx_type_9networkit_10_NetworKit_EdgeScore) < 0) __PYX_ERR(0, 11032, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_EdgeScore) < 0) __PYX_ERR(0, 11032, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_EdgeScore = &__pyx_type_9networkit_10_NetworKit_EdgeScore;
  __pyx_vtabptr_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore = &__pyx_vtable_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore;
  __pyx_vtable_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore.__pyx_base = *__pyx_vtabptr_9networkit_10_NetworKit_EdgeScore;
  __pyx_vtable_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore.__pyx_base.isDoubleValue = (bool (*)(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *))__pyx_f_9networkit_10_NetworKit_31ChibaNishizekiTriangleEdgeScore_isDoubleValue;
  __pyx_type_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore.tp_base = __pyx_ptype_9networkit_10_NetworKit_EdgeScore;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore) < 0) __PYX_ERR(0, 11072, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore.tp_dict, __pyx_vtabptr_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore) < 0) __PYX_ERR(0, 11072, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ChibaNishizekiTriangleEdgeScore, (PyObject *)&__pyx_type_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore) < 0) __PYX_ERR(0, 11072, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore) < 0) __PYX_ERR(0, 11072, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore = &__pyx_type_9networkit_10_NetworKit_ChibaNishizekiTriangleEdgeScore;
  __pyx_vtabptr_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore = &__pyx_vtable_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore;
  __pyx_vtable_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore.__pyx_base = *__pyx_vtabptr_9networkit_10_NetworKit_EdgeScore;
  __pyx_vtable_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore.__pyx_base.isDoubleValue = (bool (*)(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *))__pyx_f_9networkit_10_NetworKit_33ChibaNishizekiQuadrangleEdgeScore_isDoubleValue;
  __pyx_type_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore.tp_base = __pyx_ptype_9networkit_10_NetworKit_EdgeScore;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore) < 0) __PYX_ERR(0, 11098, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore.tp_dict, __pyx_vtabptr_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore) < 0) __PYX_ERR(0, 11098, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ChibaNishizekiQuadrangleEdgeScor, (PyObject *)&__pyx_type_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore) < 0) __PYX_ERR(0, 11098, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore) < 0) __PYX_ERR(0, 11098, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore = &__pyx_type_9networkit_10_NetworKit_ChibaNishizekiQuadrangleEdgeScore;
  __pyx_vtabptr_9networkit_10_NetworKit_TriangleEdgeScore = &__pyx_vtable_9networkit_10_NetworKit_TriangleEdgeScore;
  __pyx_vtable_9networkit_10_NetworKit_TriangleEdgeScore.__pyx_base = *__pyx_vtabptr_9networkit_10_NetworKit_EdgeScore;
  __pyx_vtable_9networkit_10_NetworKit_TriangleEdgeScore.__pyx_base.isDoubleValue = (bool (*)(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *))__pyx_f_9networkit_10_NetworKit_17TriangleEdgeScore_isDoubleValue;
  __pyx_type_9networkit_10_NetworKit_TriangleEdgeScore.tp_base = __pyx_ptype_9networkit_10_NetworKit_EdgeScore;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_TriangleEdgeScore) < 0) __PYX_ERR(0, 11126, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_TriangleEdgeScore.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_TriangleEdgeScore.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_TriangleEdgeScore.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_TriangleEdgeScore.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_9networkit_10_NetworKit_TriangleEdgeScore.tp_dict, __pyx_vtabptr_9networkit_10_NetworKit_TriangleEdgeScore) < 0) __PYX_ERR(0, 11126, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_TriangleEdgeScore, (PyObject *)&__pyx_type_9networkit_10_NetworKit_TriangleEdgeScore) < 0) __PYX_ERR(0, 11126, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_TriangleEdgeScore) < 0) __PYX_ERR(0, 11126, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_TriangleEdgeScore = &__pyx_type_9networkit_10_NetworKit_TriangleEdgeScore;
  __pyx_vtabptr_9networkit_10_NetworKit_EdgeScoreLinearizer = &__pyx_vtable_9networkit_10_NetworKit_EdgeScoreLinearizer;
  __pyx_vtable_9networkit_10_NetworKit_EdgeScoreLinearizer.__pyx_base = *__pyx_vtabptr_9networkit_10_NetworKit_EdgeScore;
  __pyx_vtable_9networkit_10_NetworKit_EdgeScoreLinearizer.__pyx_base.isDoubleValue = (bool (*)(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *))__pyx_f_9networkit_10_NetworKit_19EdgeScoreLinearizer_isDoubleValue;
  __pyx_type_9networkit_10_NetworKit_EdgeScoreLinearizer.tp_base = __pyx_ptype_9networkit_10_NetworKit_EdgeScore;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_EdgeScoreLinearizer) < 0) __PYX_ERR(0, 11154, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_EdgeScoreLinearizer.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_EdgeScoreLinearizer.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_EdgeScoreLinearizer.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_EdgeScoreLinearizer.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_9networkit_10_NetworKit_EdgeScoreLinearizer.tp_dict, __pyx_vtabptr_9networkit_10_NetworKit_EdgeScoreLinearizer) < 0) __PYX_ERR(0, 11154, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_EdgeScoreLinearizer, (PyObject *)&__pyx_type_9networkit_10_NetworKit_EdgeScoreLinearizer) < 0) __PYX_ERR(0, 11154, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_EdgeScoreLinearizer) < 0) __PYX_ERR(0, 11154, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_EdgeScoreLinearizer = &__pyx_type_9networkit_10_NetworKit_EdgeScoreLinearizer;
  __pyx_vtabptr_9networkit_10_NetworKit_EdgeScoreNormalizer = &__pyx_vtable_9networkit_10_NetworKit_EdgeScoreNormalizer;
  __pyx_vtable_9networkit_10_NetworKit_EdgeScoreNormalizer.__pyx_base = *__pyx_vtabptr_9networkit_10_NetworKit_EdgeScore;
  __pyx_vtable_9networkit_10_NetworKit_EdgeScoreNormalizer.__pyx_base.isDoubleValue = (bool (*)(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *))__pyx_f_9networkit_10_NetworKit_19EdgeScoreNormalizer_isDoubleValue;
  __pyx_type_9networkit_10_NetworKit_EdgeScoreNormalizer.tp_base = __pyx_ptype_9networkit_10_NetworKit_EdgeScore;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_EdgeScoreNormalizer) < 0) __PYX_ERR(0, 11181, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_EdgeScoreNormalizer.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_EdgeScoreNormalizer.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_EdgeScoreNormalizer.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_EdgeScoreNormalizer.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_9networkit_10_NetworKit_EdgeScoreNormalizer.tp_dict, __pyx_vtabptr_9networkit_10_NetworKit_EdgeScoreNormalizer) < 0) __PYX_ERR(0, 11181, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_EdgeScoreNormalizer, (PyObject *)&__pyx_type_9networkit_10_NetworKit_EdgeScoreNormalizer) < 0) __PYX_ERR(0, 11181, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_EdgeScoreNormalizer) < 0) __PYX_ERR(0, 11181, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_EdgeScoreNormalizer = &__pyx_type_9networkit_10_NetworKit_EdgeScoreNormalizer;
  __pyx_vtabptr_9networkit_10_NetworKit_EdgeScoreBlender = &__pyx_vtable_9networkit_10_NetworKit_EdgeScoreBlender;
  __pyx_vtable_9networkit_10_NetworKit_EdgeScoreBlender.__pyx_base = *__pyx_vtabptr_9networkit_10_NetworKit_EdgeScore;
  __pyx_vtable_9networkit_10_NetworKit_EdgeScoreBlender.__pyx_base.isDoubleValue = (bool (*)(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *))__pyx_f_9networkit_10_NetworKit_16EdgeScoreBlender_isDoubleValue;
  __pyx_type_9networkit_10_NetworKit_EdgeScoreBlender.tp_base = __pyx_ptype_9networkit_10_NetworKit_EdgeScore;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_EdgeScoreBlender) < 0) __PYX_ERR(0, 11221, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_EdgeScoreBlender.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_EdgeScoreBlender.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_EdgeScoreBlender.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_EdgeScoreBlender.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_9networkit_10_NetworKit_EdgeScoreBlender.tp_dict, __pyx_vtabptr_9networkit_10_NetworKit_EdgeScoreBlender) < 0) __PYX_ERR(0, 11221, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_EdgeScoreBlender, (PyObject *)&__pyx_type_9networkit_10_NetworKit_EdgeScoreBlender) < 0) __PYX_ERR(0, 11221, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_EdgeScoreBlender) < 0) __PYX_ERR(0, 11221, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_EdgeScoreBlender = &__pyx_type_9networkit_10_NetworKit_EdgeScoreBlender;
  __pyx_vtabptr_9networkit_10_NetworKit_GeometricMeanScore = &__pyx_vtable_9networkit_10_NetworKit_GeometricMeanScore;
  __pyx_vtable_9networkit_10_NetworKit_GeometricMeanScore.__pyx_base = *__pyx_vtabptr_9networkit_10_NetworKit_EdgeScore;
  __pyx_vtable_9networkit_10_NetworKit_GeometricMeanScore.__pyx_base.isDoubleValue = (bool (*)(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *))__pyx_f_9networkit_10_NetworKit_18GeometricMeanScore_isDoubleValue;
  __pyx_type_9networkit_10_NetworKit_GeometricMeanScore.tp_base = __pyx_ptype_9networkit_10_NetworKit_EdgeScore;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_GeometricMeanScore) < 0) __PYX_ERR(0, 11256, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_GeometricMeanScore.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_GeometricMeanScore.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_GeometricMeanScore.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_GeometricMeanScore.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_9networkit_10_NetworKit_GeometricMeanScore.tp_dict, __pyx_vtabptr_9networkit_10_NetworKit_GeometricMeanScore) < 0) __PYX_ERR(0, 11256, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GeometricMeanScore, (PyObject *)&__pyx_type_9networkit_10_NetworKit_GeometricMeanScore) < 0) __PYX_ERR(0, 11256, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_GeometricMeanScore) < 0) __PYX_ERR(0, 11256, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_GeometricMeanScore = &__pyx_type_9networkit_10_NetworKit_GeometricMeanScore;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_EdgeScoreAsWeight) < 0) __PYX_ERR(0, 11283, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_EdgeScoreAsWeight.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_EdgeScoreAsWeight.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_EdgeScoreAsWeight.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_EdgeScoreAsWeight.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_EdgeScoreAsWeight, (PyObject *)&__pyx_type_9networkit_10_NetworKit_EdgeScoreAsWeight) < 0) __PYX_ERR(0, 11283, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_EdgeScoreAsWeight) < 0) __PYX_ERR(0, 11283, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_EdgeScoreAsWeight = &__pyx_type_9networkit_10_NetworKit_EdgeScoreAsWeight;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_AdamicAdarDistance) < 0) __PYX_ERR(0, 11333, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_AdamicAdarDistance.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_AdamicAdarDistance.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_AdamicAdarDistance.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_AdamicAdarDistance.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_AdamicAdarDistance, (PyObject *)&__pyx_type_9networkit_10_NetworKit_AdamicAdarDistance) < 0) __PYX_ERR(0, 11333, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_AdamicAdarDistance) < 0) __PYX_ERR(0, 11333, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_AdamicAdarDistance = &__pyx_type_9networkit_10_NetworKit_AdamicAdarDistance;
  __pyx_vtabptr_9networkit_10_NetworKit_SimmelianOverlapScore = &__pyx_vtable_9networkit_10_NetworKit_SimmelianOverlapScore;
  __pyx_vtable_9networkit_10_NetworKit_SimmelianOverlapScore.__pyx_base = *__pyx_vtabptr_9networkit_10_NetworKit_EdgeScore;
  __pyx_vtable_9networkit_10_NetworKit_SimmelianOverlapScore.__pyx_base.isDoubleValue = (bool (*)(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *))__pyx_f_9networkit_10_NetworKit_21SimmelianOverlapScore_isDoubleValue;
  __pyx_type_9networkit_10_NetworKit_SimmelianOverlapScore.tp_base = __pyx_ptype_9networkit_10_NetworKit_EdgeScore;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_SimmelianOverlapScore) < 0) __PYX_ERR(0, 11376, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_SimmelianOverlapScore.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_SimmelianOverlapScore.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_SimmelianOverlapScore.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_SimmelianOverlapScore.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_9networkit_10_NetworKit_SimmelianOverlapScore.tp_dict, __pyx_vtabptr_9networkit_10_NetworKit_SimmelianOverlapScore) < 0) __PYX_ERR(0, 11376, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SimmelianOverlapScore, (PyObject *)&__pyx_type_9networkit_10_NetworKit_SimmelianOverlapScore) < 0) __PYX_ERR(0, 11376, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_SimmelianOverlapScore) < 0) __PYX_ERR(0, 11376, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_SimmelianOverlapScore = &__pyx_type_9networkit_10_NetworKit_SimmelianOverlapScore;
  __pyx_vtabptr_9networkit_10_NetworKit_PrefixJaccardScore = &__pyx_vtable_9networkit_10_NetworKit_PrefixJaccardScore;
  __pyx_vtable_9networkit_10_NetworKit_PrefixJaccardScore.__pyx_base = *__pyx_vtabptr_9networkit_10_NetworKit_EdgeScore;
  __pyx_vtable_9networkit_10_NetworKit_PrefixJaccardScore.__pyx_base.isDoubleValue = (bool (*)(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *))__pyx_f_9networkit_10_NetworKit_18PrefixJaccardScore_isDoubleValue;
  __pyx_type_9networkit_10_NetworKit_PrefixJaccardScore.tp_base = __pyx_ptype_9networkit_10_NetworKit_EdgeScore;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_PrefixJaccardScore) < 0) __PYX_ERR(0, 11404, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_PrefixJaccardScore.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_PrefixJaccardScore.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_PrefixJaccardScore.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_PrefixJaccardScore.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_9networkit_10_NetworKit_PrefixJaccardScore.tp_dict, __pyx_vtabptr_9networkit_10_NetworKit_PrefixJaccardScore) < 0) __PYX_ERR(0, 11404, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PrefixJaccardScore, (PyObject *)&__pyx_type_9networkit_10_NetworKit_PrefixJaccardScore) < 0) __PYX_ERR(0, 11404, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_PrefixJaccardScore) < 0) __PYX_ERR(0, 11404, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_PrefixJaccardScore = &__pyx_type_9networkit_10_NetworKit_PrefixJaccardScore;
  __pyx_vtabptr_9networkit_10_NetworKit_MultiscaleScore = &__pyx_vtable_9networkit_10_NetworKit_MultiscaleScore;
  __pyx_vtable_9networkit_10_NetworKit_MultiscaleScore.__pyx_base = *__pyx_vtabptr_9networkit_10_NetworKit_EdgeScore;
  __pyx_vtable_9networkit_10_NetworKit_MultiscaleScore.__pyx_base.isDoubleValue = (bool (*)(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *))__pyx_f_9networkit_10_NetworKit_15MultiscaleScore_isDoubleValue;
  __pyx_type_9networkit_10_NetworKit_MultiscaleScore.tp_base = __pyx_ptype_9networkit_10_NetworKit_EdgeScore;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_MultiscaleScore) < 0) __PYX_ERR(0, 11420, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_MultiscaleScore.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_MultiscaleScore.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_MultiscaleScore.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_MultiscaleScore.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_9networkit_10_NetworKit_MultiscaleScore.tp_dict, __pyx_vtabptr_9networkit_10_NetworKit_MultiscaleScore) < 0) __PYX_ERR(0, 11420, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_MultiscaleScore, (PyObject *)&__pyx_type_9networkit_10_NetworKit_MultiscaleScore) < 0) __PYX_ERR(0, 11420, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_MultiscaleScore) < 0) __PYX_ERR(0, 11420, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_MultiscaleScore = &__pyx_type_9networkit_10_NetworKit_MultiscaleScore;
  __pyx_vtabptr_9networkit_10_NetworKit_RandomEdgeScore = &__pyx_vtable_9networkit_10_NetworKit_RandomEdgeScore;
  __pyx_vtable_9networkit_10_NetworKit_RandomEdgeScore.__pyx_base = *__pyx_vtabptr_9networkit_10_NetworKit_EdgeScore;
  __pyx_vtable_9networkit_10_NetworKit_RandomEdgeScore.__pyx_base.isDoubleValue = (bool (*)(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *))__pyx_f_9networkit_10_NetworKit_15RandomEdgeScore_isDoubleValue;
  __pyx_type_9networkit_10_NetworKit_RandomEdgeScore.tp_base = __pyx_ptype_9networkit_10_NetworKit_EdgeScore;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_RandomEdgeScore) < 0) __PYX_ERR(0, 11448, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_RandomEdgeScore.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_RandomEdgeScore.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_RandomEdgeScore.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_RandomEdgeScore.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_9networkit_10_NetworKit_RandomEdgeScore.tp_dict, __pyx_vtabptr_9networkit_10_NetworKit_RandomEdgeScore) < 0) __PYX_ERR(0, 11448, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_RandomEdgeScore, (PyObject *)&__pyx_type_9networkit_10_NetworKit_RandomEdgeScore) < 0) __PYX_ERR(0, 11448, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_RandomEdgeScore) < 0) __PYX_ERR(0, 11448, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_RandomEdgeScore = &__pyx_type_9networkit_10_NetworKit_RandomEdgeScore;
  __pyx_vtabptr_9networkit_10_NetworKit_LocalSimilarityScore = &__pyx_vtable_9networkit_10_NetworKit_LocalSimilarityScore;
  __pyx_vtable_9networkit_10_NetworKit_LocalSimilarityScore.__pyx_base = *__pyx_vtabptr_9networkit_10_NetworKit_EdgeScore;
  __pyx_vtable_9networkit_10_NetworKit_LocalSimilarityScore.__pyx_base.isDoubleValue = (bool (*)(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *))__pyx_f_9networkit_10_NetworKit_20LocalSimilarityScore_isDoubleValue;
  __pyx_type_9networkit_10_NetworKit_LocalSimilarityScore.tp_base = __pyx_ptype_9networkit_10_NetworKit_EdgeScore;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_LocalSimilarityScore) < 0) __PYX_ERR(0, 11470, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_LocalSimilarityScore.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_LocalSimilarityScore.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_LocalSimilarityScore.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_LocalSimilarityScore.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_9networkit_10_NetworKit_LocalSimilarityScore.tp_dict, __pyx_vtabptr_9networkit_10_NetworKit_LocalSimilarityScore) < 0) __PYX_ERR(0, 11470, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_LocalSimilarityScore, (PyObject *)&__pyx_type_9networkit_10_NetworKit_LocalSimilarityScore) < 0) __PYX_ERR(0, 11470, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_LocalSimilarityScore) < 0) __PYX_ERR(0, 11470, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_LocalSimilarityScore = &__pyx_type_9networkit_10_NetworKit_LocalSimilarityScore;
  __pyx_vtabptr_9networkit_10_NetworKit_ForestFireScore = &__pyx_vtable_9networkit_10_NetworKit_ForestFireScore;
  __pyx_vtable_9networkit_10_NetworKit_ForestFireScore.__pyx_base = *__pyx_vtabptr_9networkit_10_NetworKit_EdgeScore;
  __pyx_vtable_9networkit_10_NetworKit_ForestFireScore.__pyx_base.isDoubleValue = (bool (*)(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *))__pyx_f_9networkit_10_NetworKit_15ForestFireScore_isDoubleValue;
  __pyx_type_9networkit_10_NetworKit_ForestFireScore.tp_base = __pyx_ptype_9networkit_10_NetworKit_EdgeScore;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_ForestFireScore) < 0) __PYX_ERR(0, 11498, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_ForestFireScore.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_ForestFireScore.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_ForestFireScore.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_ForestFireScore.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_9networkit_10_NetworKit_ForestFireScore.tp_dict, __pyx_vtabptr_9networkit_10_NetworKit_ForestFireScore) < 0) __PYX_ERR(0, 11498, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ForestFireScore, (PyObject *)&__pyx_type_9networkit_10_NetworKit_ForestFireScore) < 0) __PYX_ERR(0, 11498, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_ForestFireScore) < 0) __PYX_ERR(0, 11498, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_ForestFireScore = &__pyx_type_9networkit_10_NetworKit_ForestFireScore;
  __pyx_vtabptr_9networkit_10_NetworKit_LocalDegreeScore = &__pyx_vtable_9networkit_10_NetworKit_LocalDegreeScore;
  __pyx_vtable_9networkit_10_NetworKit_LocalDegreeScore.__pyx_base = *__pyx_vtabptr_9networkit_10_NetworKit_EdgeScore;
  __pyx_vtable_9networkit_10_NetworKit_LocalDegreeScore.__pyx_base.isDoubleValue = (bool (*)(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *))__pyx_f_9networkit_10_NetworKit_16LocalDegreeScore_isDoubleValue;
  __pyx_type_9networkit_10_NetworKit_LocalDegreeScore.tp_base = __pyx_ptype_9networkit_10_NetworKit_EdgeScore;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_LocalDegreeScore) < 0) __PYX_ERR(0, 11526, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_LocalDegreeScore.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_LocalDegreeScore.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_LocalDegreeScore.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_LocalDegreeScore.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_9networkit_10_NetworKit_LocalDegreeScore.tp_dict, __pyx_vtabptr_9networkit_10_NetworKit_LocalDegreeScore) < 0) __PYX_ERR(0, 11526, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_LocalDegreeScore, (PyObject *)&__pyx_type_9networkit_10_NetworKit_LocalDegreeScore) < 0) __PYX_ERR(0, 11526, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_LocalDegreeScore) < 0) __PYX_ERR(0, 11526, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_LocalDegreeScore = &__pyx_type_9networkit_10_NetworKit_LocalDegreeScore;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_JaccardDistance) < 0) __PYX_ERR(0, 11552, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_JaccardDistance.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_JaccardDistance.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_JaccardDistance.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_JaccardDistance.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_JaccardDistance, (PyObject *)&__pyx_type_9networkit_10_NetworKit_JaccardDistance) < 0) __PYX_ERR(0, 11552, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_JaccardDistance) < 0) __PYX_ERR(0, 11552, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_JaccardDistance = &__pyx_type_9networkit_10_NetworKit_JaccardDistance;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_AlgebraicDistance) < 0) __PYX_ERR(0, 11590, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_AlgebraicDistance.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_AlgebraicDistance.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_AlgebraicDistance.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_AlgebraicDistance.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_AlgebraicDistance, (PyObject *)&__pyx_type_9networkit_10_NetworKit_AlgebraicDistance) < 0) __PYX_ERR(0, 11590, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_AlgebraicDistance) < 0) __PYX_ERR(0, 11590, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_AlgebraicDistance = &__pyx_type_9networkit_10_NetworKit_AlgebraicDistance;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_JaccardSimilarityAttributizer) < 0) __PYX_ERR(0, 11633, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_JaccardSimilarityAttributizer.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_JaccardSimilarityAttributizer.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_JaccardSimilarityAttributizer.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_JaccardSimilarityAttributizer.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_JaccardSimilarityAttributizer, (PyObject *)&__pyx_type_9networkit_10_NetworKit_JaccardSimilarityAttributizer) < 0) __PYX_ERR(0, 11633, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_JaccardSimilarityAttributizer) < 0) __PYX_ERR(0, 11633, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_JaccardSimilarityAttributizer = &__pyx_type_9networkit_10_NetworKit_JaccardSimilarityAttributizer;
  __pyx_vtabptr_9networkit_10_NetworKit_RandomNodeEdgeScore = &__pyx_vtable_9networkit_10_NetworKit_RandomNodeEdgeScore;
  __pyx_vtable_9networkit_10_NetworKit_RandomNodeEdgeScore.__pyx_base = *__pyx_vtabptr_9networkit_10_NetworKit_EdgeScore;
  __pyx_vtable_9networkit_10_NetworKit_RandomNodeEdgeScore.__pyx_base.isDoubleValue = (bool (*)(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *))__pyx_f_9networkit_10_NetworKit_19RandomNodeEdgeScore_isDoubleValue;
  __pyx_type_9networkit_10_NetworKit_RandomNodeEdgeScore.tp_base = __pyx_ptype_9networkit_10_NetworKit_EdgeScore;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_RandomNodeEdgeScore) < 0) __PYX_ERR(0, 11668, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_RandomNodeEdgeScore.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_RandomNodeEdgeScore.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_RandomNodeEdgeScore.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_RandomNodeEdgeScore.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_9networkit_10_NetworKit_RandomNodeEdgeScore.tp_dict, __pyx_vtabptr_9networkit_10_NetworKit_RandomNodeEdgeScore) < 0) __PYX_ERR(0, 11668, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_RandomNodeEdgeScore, (PyObject *)&__pyx_type_9networkit_10_NetworKit_RandomNodeEdgeScore) < 0) __PYX_ERR(0, 11668, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_RandomNodeEdgeScore) < 0) __PYX_ERR(0, 11668, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_RandomNodeEdgeScore = &__pyx_type_9networkit_10_NetworKit_RandomNodeEdgeScore;
  __pyx_vtabptr_9networkit_10_NetworKit_LocalFilterScore = &__pyx_vtable_9networkit_10_NetworKit_LocalFilterScore;
  __pyx_vtable_9networkit_10_NetworKit_LocalFilterScore.__pyx_base = *__pyx_vtabptr_9networkit_10_NetworKit_EdgeScore;
  __pyx_vtable_9networkit_10_NetworKit_LocalFilterScore.__pyx_base.isDoubleValue = (bool (*)(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *))__pyx_f_9networkit_10_NetworKit_16LocalFilterScore_isDoubleValue;
  __pyx_type_9networkit_10_NetworKit_LocalFilterScore.tp_base = __pyx_ptype_9networkit_10_NetworKit_EdgeScore;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_LocalFilterScore) < 0) __PYX_ERR(0, 11697, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_LocalFilterScore.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_LocalFilterScore.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_LocalFilterScore.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_LocalFilterScore.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_9networkit_10_NetworKit_LocalFilterScore.tp_dict, __pyx_vtabptr_9networkit_10_NetworKit_LocalFilterScore) < 0) __PYX_ERR(0, 11697, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_LocalFilterScore, (PyObject *)&__pyx_type_9networkit_10_NetworKit_LocalFilterScore) < 0) __PYX_ERR(0, 11697, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_LocalFilterScore) < 0) __PYX_ERR(0, 11697, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_LocalFilterScore = &__pyx_type_9networkit_10_NetworKit_LocalFilterScore;
  __pyx_vtabptr_9networkit_10_NetworKit_ChanceCorrectedTriangleScore = &__pyx_vtable_9networkit_10_NetworKit_ChanceCorrectedTriangleScore;
  __pyx_vtable_9networkit_10_NetworKit_ChanceCorrectedTriangleScore.__pyx_base = *__pyx_vtabptr_9networkit_10_NetworKit_EdgeScore;
  __pyx_vtable_9networkit_10_NetworKit_ChanceCorrectedTriangleScore.__pyx_base.isDoubleValue = (bool (*)(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *))__pyx_f_9networkit_10_NetworKit_28ChanceCorrectedTriangleScore_isDoubleValue;
  __pyx_type_9networkit_10_NetworKit_ChanceCorrectedTriangleScore.tp_base = __pyx_ptype_9networkit_10_NetworKit_EdgeScore;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_ChanceCorrectedTriangleScore) < 0) __PYX_ERR(0, 11729, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_ChanceCorrectedTriangleScore.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_ChanceCorrectedTriangleScore.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_ChanceCorrectedTriangleScore.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_ChanceCorrectedTriangleScore.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_9networkit_10_NetworKit_ChanceCorrectedTriangleScore.tp_dict, __pyx_vtabptr_9networkit_10_NetworKit_ChanceCorrectedTriangleScore) < 0) __PYX_ERR(0, 11729, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ChanceCorrectedTriangleScore, (PyObject *)&__pyx_type_9networkit_10_NetworKit_ChanceCorrectedTriangleScore) < 0) __PYX_ERR(0, 11729, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_ChanceCorrectedTriangleScore) < 0) __PYX_ERR(0, 11729, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_ChanceCorrectedTriangleScore = &__pyx_type_9networkit_10_NetworKit_ChanceCorrectedTriangleScore;
  __pyx_vtabptr_9networkit_10_NetworKit_SCANStructuralSimilarityScore = &__pyx_vtable_9networkit_10_NetworKit_SCANStructuralSimilarityScore;
  __pyx_vtable_9networkit_10_NetworKit_SCANStructuralSimilarityScore.__pyx_base = *__pyx_vtabptr_9networkit_10_NetworKit_EdgeScore;
  __pyx_vtable_9networkit_10_NetworKit_SCANStructuralSimilarityScore.__pyx_base.isDoubleValue = (bool (*)(struct __pyx_obj_9networkit_10_NetworKit_EdgeScore *))__pyx_f_9networkit_10_NetworKit_29SCANStructuralSimilarityScore_isDoubleValue;
  __pyx_type_9networkit_10_NetworKit_SCANStructuralSimilarityScore.tp_base = __pyx_ptype_9networkit_10_NetworKit_EdgeScore;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_SCANStructuralSimilarityScore) < 0) __PYX_ERR(0, 11755, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_SCANStructuralSimilarityScore.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_SCANStructuralSimilarityScore.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_SCANStructuralSimilarityScore.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_SCANStructuralSimilarityScore.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_9networkit_10_NetworKit_SCANStructuralSimilarityScore.tp_dict, __pyx_vtabptr_9networkit_10_NetworKit_SCANStructuralSimilarityScore) < 0) __PYX_ERR(0, 11755, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SCANStructuralSimilarityScore, (PyObject *)&__pyx_type_9networkit_10_NetworKit_SCANStructuralSimilarityScore) < 0) __PYX_ERR(0, 11755, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_SCANStructuralSimilarityScore) < 0) __PYX_ERR(0, 11755, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_SCANStructuralSimilarityScore = &__pyx_type_9networkit_10_NetworKit_SCANStructuralSimilarityScore;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_GlobalThresholdFilter) < 0) __PYX_ERR(0, 11772, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_GlobalThresholdFilter.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_GlobalThresholdFilter.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_GlobalThresholdFilter.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_GlobalThresholdFilter.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GlobalThresholdFilter, (PyObject *)&__pyx_type_9networkit_10_NetworKit_GlobalThresholdFilter) < 0) __PYX_ERR(0, 11772, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_GlobalThresholdFilter) < 0) __PYX_ERR(0, 11772, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_GlobalThresholdFilter = &__pyx_type_9networkit_10_NetworKit_GlobalThresholdFilter;
  __pyx_vtabptr_9networkit_10_NetworKit_Matching = &__pyx_vtable_9networkit_10_NetworKit_Matching;
  __pyx_vtable_9networkit_10_NetworKit_Matching.setThis = (PyObject *(*)(struct __pyx_obj_9networkit_10_NetworKit_Matching *, NetworKit::Matching &))__pyx_f_9networkit_10_NetworKit_8Matching_setThis;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_Matching) < 0) __PYX_ERR(0, 11822, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_Matching.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_Matching.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_Matching.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_Matching.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (__Pyx_SetVtable(__pyx_type_9networkit_10_NetworKit_Matching.tp_dict, __pyx_vtabptr_9networkit_10_NetworKit_Matching) < 0) __PYX_ERR(0, 11822, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Matching, (PyObject *)&__pyx_type_9networkit_10_NetworKit_Matching) < 0) __PYX_ERR(0, 11822, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_Matching) < 0) __PYX_ERR(0, 11822, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_Matching = &__pyx_type_9networkit_10_NetworKit_Matching;
  __pyx_type_9networkit_10_NetworKit_Matcher.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_Matcher) < 0) __PYX_ERR(0, 11890, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_Matcher.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_Matcher.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_Matcher.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_Matcher.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Matcher, (PyObject *)&__pyx_type_9networkit_10_NetworKit_Matcher) < 0) __PYX_ERR(0, 11890, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_Matcher) < 0) __PYX_ERR(0, 11890, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_Matcher = &__pyx_type_9networkit_10_NetworKit_Matcher;
  __pyx_type_9networkit_10_NetworKit_PathGrowingMatcher.tp_base = __pyx_ptype_9networkit_10_NetworKit_Matcher;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_PathGrowingMatcher) < 0) __PYX_ERR(0, 11916, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_PathGrowingMatcher.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_PathGrowingMatcher.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_PathGrowingMatcher.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_PathGrowingMatcher.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PathGrowingMatcher, (PyObject *)&__pyx_type_9networkit_10_NetworKit_PathGrowingMatcher) < 0) __PYX_ERR(0, 11916, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_PathGrowingMatcher) < 0) __PYX_ERR(0, 11916, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_PathGrowingMatcher = &__pyx_type_9networkit_10_NetworKit_PathGrowingMatcher;
  __pyx_type_9networkit_10_NetworKit_CommuteTimeDistance.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_CommuteTimeDistance) < 0) __PYX_ERR(0, 11982, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_CommuteTimeDistance.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_CommuteTimeDistance.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_CommuteTimeDistance.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_CommuteTimeDistance.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CommuteTimeDistance, (PyObject *)&__pyx_type_9networkit_10_NetworKit_CommuteTimeDistance) < 0) __PYX_ERR(0, 11982, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_CommuteTimeDistance) < 0) __PYX_ERR(0, 11982, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_CommuteTimeDistance = &__pyx_type_9networkit_10_NetworKit_CommuteTimeDistance;
  __pyx_type_9networkit_10_NetworKit_EpidemicSimulationSEIR.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_EpidemicSimulationSEIR) < 0) __PYX_ERR(0, 12055, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_EpidemicSimulationSEIR.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_EpidemicSimulationSEIR.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_EpidemicSimulationSEIR.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_EpidemicSimulationSEIR.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_EpidemicSimulationSEIR, (PyObject *)&__pyx_type_9networkit_10_NetworKit_EpidemicSimulationSEIR) < 0) __PYX_ERR(0, 12055, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_EpidemicSimulationSEIR) < 0) __PYX_ERR(0, 12055, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_EpidemicSimulationSEIR = &__pyx_type_9networkit_10_NetworKit_EpidemicSimulationSEIR;
  __pyx_type_9networkit_10_NetworKit_SpanningEdgeCentrality.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_SpanningEdgeCentrality) < 0) __PYX_ERR(0, 12089, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_SpanningEdgeCentrality.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_SpanningEdgeCentrality.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_SpanningEdgeCentrality.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_SpanningEdgeCentrality.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SpanningEdgeCentrality, (PyObject *)&__pyx_type_9networkit_10_NetworKit_SpanningEdgeCentrality) < 0) __PYX_ERR(0, 12089, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_SpanningEdgeCentrality) < 0) __PYX_ERR(0, 12089, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_SpanningEdgeCentrality = &__pyx_type_9networkit_10_NetworKit_SpanningEdgeCentrality;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_GraphLayoutAlgorithm) < 0) __PYX_ERR(0, 12140, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_GraphLayoutAlgorithm.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_GraphLayoutAlgorithm.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_GraphLayoutAlgorithm.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_GraphLayoutAlgorithm.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GraphLayoutAlgorithm, (PyObject *)&__pyx_type_9networkit_10_NetworKit_GraphLayoutAlgorithm) < 0) __PYX_ERR(0, 12140, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_GraphLayoutAlgorithm) < 0) __PYX_ERR(0, 12140, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_GraphLayoutAlgorithm = &__pyx_type_9networkit_10_NetworKit_GraphLayoutAlgorithm;
  __pyx_type_9networkit_10_NetworKit_MaxentStress.tp_base = __pyx_ptype_9networkit_10_NetworKit_GraphLayoutAlgorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_MaxentStress) < 0) __PYX_ERR(0, 12226, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_MaxentStress.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_MaxentStress.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_MaxentStress.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_MaxentStress.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_MaxentStress, (PyObject *)&__pyx_type_9networkit_10_NetworKit_MaxentStress) < 0) __PYX_ERR(0, 12226, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_MaxentStress) < 0) __PYX_ERR(0, 12226, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_MaxentStress = &__pyx_type_9networkit_10_NetworKit_MaxentStress;
  __pyx_type_9networkit_10_NetworKit_PivotMDS.tp_base = __pyx_ptype_9networkit_10_NetworKit_GraphLayoutAlgorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_PivotMDS) < 0) __PYX_ERR(0, 12344, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_PivotMDS.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_PivotMDS.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_PivotMDS.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_PivotMDS.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PivotMDS, (PyObject *)&__pyx_type_9networkit_10_NetworKit_PivotMDS) < 0) __PYX_ERR(0, 12344, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_PivotMDS) < 0) __PYX_ERR(0, 12344, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_PivotMDS = &__pyx_type_9networkit_10_NetworKit_PivotMDS;
  __pyx_type_9networkit_10_NetworKit_GlobalCurveball.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_GlobalCurveball) < 0) __PYX_ERR(0, 12383, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_GlobalCurveball.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_GlobalCurveball.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_GlobalCurveball.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_GlobalCurveball.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GlobalCurveball, (PyObject *)&__pyx_type_9networkit_10_NetworKit_GlobalCurveball) < 0) __PYX_ERR(0, 12383, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_GlobalCurveball) < 0) __PYX_ERR(0, 12383, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_GlobalCurveball = &__pyx_type_9networkit_10_NetworKit_GlobalCurveball;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_CurveballUniformTradeGenerator) < 0) __PYX_ERR(0, 12453, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_CurveballUniformTradeGenerator.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_CurveballUniformTradeGenerator.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_CurveballUniformTradeGenerator.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_CurveballUniformTradeGenerator.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CurveballUniformTradeGenerator, (PyObject *)&__pyx_type_9networkit_10_NetworKit_CurveballUniformTradeGenerator) < 0) __PYX_ERR(0, 12453, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_CurveballUniformTradeGenerator) < 0) __PYX_ERR(0, 12453, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_CurveballUniformTradeGenerator = &__pyx_type_9networkit_10_NetworKit_CurveballUniformTradeGenerator;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_CurveballGlobalTradeGenerator) < 0) __PYX_ERR(0, 12487, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_CurveballGlobalTradeGenerator.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_CurveballGlobalTradeGenerator.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_CurveballGlobalTradeGenerator.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_CurveballGlobalTradeGenerator.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CurveballGlobalTradeGenerator, (PyObject *)&__pyx_type_9networkit_10_NetworKit_CurveballGlobalTradeGenerator) < 0) __PYX_ERR(0, 12487, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_CurveballGlobalTradeGenerator) < 0) __PYX_ERR(0, 12487, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_CurveballGlobalTradeGenerator = &__pyx_type_9networkit_10_NetworKit_CurveballGlobalTradeGenerator;
  __pyx_type_9networkit_10_NetworKit_Curveball.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_Curveball) < 0) __PYX_ERR(0, 12527, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_Curveball.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_Curveball.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_Curveball.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_Curveball.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Curveball, (PyObject *)&__pyx_type_9networkit_10_NetworKit_Curveball) < 0) __PYX_ERR(0, 12527, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_Curveball) < 0) __PYX_ERR(0, 12527, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_Curveball = &__pyx_type_9networkit_10_NetworKit_Curveball;
  __pyx_type_9networkit_10_NetworKit_DegreePreservingShuffle.tp_base = __pyx_ptype_9networkit_10_NetworKit_Algorithm;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit_DegreePreservingShuffle) < 0) __PYX_ERR(0, 12582, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit_DegreePreservingShuffle.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit_DegreePreservingShuffle.tp_dictoffset && __pyx_type_9networkit_10_NetworKit_DegreePreservingShuffle.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit_DegreePreservingShuffle.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_DegreePreservingShuffle, (PyObject *)&__pyx_type_9networkit_10_NetworKit_DegreePreservingShuffle) < 0) __PYX_ERR(0, 12582, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9networkit_10_NetworKit_DegreePreservingShuffle) < 0) __PYX_ERR(0, 12582, __pyx_L1_error)
  __pyx_ptype_9networkit_10_NetworKit_DegreePreservingShuffle = &__pyx_type_9networkit_10_NetworKit_DegreePreservingShuffle;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit___pyx_scope_struct__neighbors) < 0) __PYX_ERR(0, 1081, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit___pyx_scope_struct__neighbors.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit___pyx_scope_struct__neighbors.tp_dictoffset && __pyx_type_9networkit_10_NetworKit___pyx_scope_struct__neighbors.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit___pyx_scope_struct__neighbors.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct__neighbors = &__pyx_type_9networkit_10_NetworKit___pyx_scope_struct__neighbors;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors) < 0) __PYX_ERR(0, 1098, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors.tp_dictoffset && __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors = &__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_1_inNeighbors;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes) < 0) __PYX_ERR(0, 1504, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes.tp_dictoffset && __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes = &__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_2_iterNodes;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges) < 0) __PYX_ERR(0, 1513, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges.tp_dictoffset && __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges = &__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_3_iterEdges;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights) < 0) __PYX_ERR(0, 1522, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights.tp_dictoffset && __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights = &__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_4_iterEdgesWeights;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors) < 0) __PYX_ERR(0, 1531, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors.tp_dictoffset && __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors = &__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_5_iterNeighbors;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors) < 0) __PYX_ERR(0, 1544, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors.tp_dictoffset && __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors = &__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_6_iterInNeighbors;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__) < 0) __PYX_ERR(0, 2995, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__.tp_dictoffset && __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__ = &__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_7___cinit__;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr) < 0) __PYX_ERR(0, 3000, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr.tp_dictoffset && __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr = &__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_8_genexpr;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr) < 0) __PYX_ERR(0, 3002, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr.tp_dictoffset && __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr = &__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_9_genexpr;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr) < 0) __PYX_ERR(0, 3002, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr.tp_dictoffset && __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr = &__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_10_genexpr;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr) < 0) __PYX_ERR(0, 3004, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr.tp_dictoffset && __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr = &__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_11_genexpr;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr) < 0) __PYX_ERR(0, 3006, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr.tp_dictoffset && __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr = &__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_12_genexpr;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr) < 0) __PYX_ERR(0, 3006, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr.tp_dictoffset && __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr = &__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_13_genexpr;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr) < 0) __PYX_ERR(0, 3008, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr.tp_dictoffset && __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr = &__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_14_genexpr;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr) < 0) __PYX_ERR(0, 3008, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr.tp_dictoffset && __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr = &__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_15_genexpr;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr) < 0) __PYX_ERR(0, 3008, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr.tp_dictoffset && __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr = &__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_16_genexpr;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_17_volume) < 0) __PYX_ERR(0, 10101, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_17_volume.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_17_volume.tp_dictoffset && __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_17_volume.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_17_volume.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_17_volume = &__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_17_volume;
  if (PyType_Ready(&__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr) < 0) __PYX_ERR(0, 10136, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr.tp_dictoffset && __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  __pyx_ptype_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr = &__pyx_type_9networkit_10_NetworKit___pyx_scope_struct_18_genexpr;
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_RefNannyFinishContext();
  return -1;
}

static int __Pyx_modinit_type_import_code(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0);
  /*--- Type import code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_variable_import_code(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0);
  /*--- Variable import code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_function_import_code(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0);
  /*--- Function import code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}


#if PY_MAJOR_VERSION < 3
#ifdef CYTHON_NO_PYINIT_EXPORT
#define __Pyx_PyMODINIT_FUNC void
#else
#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC
#endif
#else
#ifdef CYTHON_NO_PYINIT_EXPORT
#define __Pyx_PyMODINIT_FUNC PyObject *
#else
#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC
#endif
#endif


#if PY_MAJOR_VERSION < 3
__Pyx_PyMODINIT_FUNC init_NetworKit(void) CYTHON_SMALL_CODE; /*proto*/
__Pyx_PyMODINIT_FUNC init_NetworKit(void)
#else
__Pyx_PyMODINIT_FUNC PyInit__NetworKit(void) CYTHON_SMALL_CODE; /*proto*/
__Pyx_PyMODINIT_FUNC PyInit__NetworKit(void)
#if CYTHON_PEP489_MULTI_PHASE_INIT
{
  return PyModuleDef_Init(&__pyx_moduledef);
}
static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) {
    #if PY_VERSION_HEX >= 0x030700A1
    static PY_INT64_T main_interpreter_id = -1;
    PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp);
    if (main_interpreter_id == -1) {
        main_interpreter_id = current_id;
        return (unlikely(current_id == -1)) ? -1 : 0;
    } else if (unlikely(main_interpreter_id != current_id))
    #else
    static PyInterpreterState *main_interpreter = NULL;
    PyInterpreterState *current_interpreter = PyThreadState_Get()->interp;
    if (!main_interpreter) {
        main_interpreter = current_interpreter;
    } else if (unlikely(main_interpreter != current_interpreter))
    #endif
    {
        PyErr_SetString(
            PyExc_ImportError,
            "Interpreter change detected - this module can only be loaded into one interpreter per process.");
        return -1;
    }
    return 0;
}
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, CYTHON_UNUSED PyModuleDef *def) {
    PyObject *module = NULL, *moddict, *modname;
    if (__Pyx_check_single_interpreter())
        return NULL;
    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__NetworKit(PyObject *__pyx_pyinit_module)
#endif
#endif
{
  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;
  __pyx_t_9networkit_10_NetworKit_node __pyx_t_10;
  std::vector<double>  __pyx_t_11;
  std::vector<__pyx_t_9networkit_10_NetworKit_index>  __pyx_t_12;
  __pyx_t_9networkit_10_NetworKit_count __pyx_t_13;
  enum NetworKit::ApproxCloseness::CLOSENESS_TYPE __pyx_t_14;
  std::pair<std::vector<double> ,std::vector<double> >  __pyx_t_15;
  std::vector<std::pair<double,double> >  __pyx_t_16;
  enum NetworKit::MaxentStress::LinearSolverType __pyx_t_17;
  enum NetworKit::MaxentStress::GraphDistance __pyx_t_18;
  __Pyx_RefNannyDeclarations
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  if (__pyx_m) {
    if (__pyx_m == __pyx_pyinit_module) return 0;
    PyErr_SetString(PyExc_RuntimeError, "Module '_NetworKit' has already been imported. Re-initialisation is not supported.");
    return -1;
  }
  #elif PY_MAJOR_VERSION >= 3
  if (__pyx_m) return __Pyx_NewRef(__pyx_m);
  #endif
  #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("__Pyx_PyMODINIT_FUNC PyInit__NetworKit(void)", 0);
  if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 2, __pyx_L1_error)
  #ifdef __Pxy_PyFrame_Initialize_Offsets
  __Pxy_PyFrame_Initialize_Offsets();
  #endif
  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 2, __pyx_L1_error)
  #ifdef __Pyx_CyFunction_USED
  if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 2, __pyx_L1_error)
  #endif
  #ifdef __Pyx_FusedFunction_USED
  if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 2, __pyx_L1_error)
  #endif
  #ifdef __Pyx_Coroutine_USED
  if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 2, __pyx_L1_error)
  #endif
  #ifdef __Pyx_Generator_USED
  if (__pyx_Generator_init() < 0) __PYX_ERR(0, 2, __pyx_L1_error)
  #endif
  #ifdef __Pyx_AsyncGen_USED
  if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 2, __pyx_L1_error)
  #endif
  #ifdef __Pyx_StopAsyncIteration_USED
  if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 2, __pyx_L1_error)
  #endif
  /*--- Library function declarations ---*/
  /*--- Threads initialization code ---*/
  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
  #ifdef WITH_THREAD /* Python build with threading support? */
  PyEval_InitThreads();
  #endif
  #endif
  /*--- Module creation code ---*/
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  __pyx_m = __pyx_pyinit_module;
  Py_INCREF(__pyx_m);
  #else
  #if PY_MAJOR_VERSION < 3
  __pyx_m = Py_InitModule4("_NetworKit", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
  #else
  __pyx_m = PyModule_Create(&__pyx_moduledef);
  #endif
  if (unlikely(!__pyx_m)) __PYX_ERR(0, 2, __pyx_L1_error)
  #endif
  __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 2, __pyx_L1_error)
  Py_INCREF(__pyx_d);
  __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 2, __pyx_L1_error)
  Py_INCREF(__pyx_b);
  __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 2, __pyx_L1_error)
  Py_INCREF(__pyx_cython_runtime);
  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 2, __pyx_L1_error);
  /*--- Initialize various global constants etc. ---*/
  if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 2, __pyx_L1_error)
  #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
  if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 2, __pyx_L1_error)
  #endif
  if (__pyx_module_is_main_networkit___NetworKit) {
    if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 2, __pyx_L1_error)
  }
  #if PY_MAJOR_VERSION >= 3
  {
    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 2, __pyx_L1_error)
    if (!PyDict_GetItemString(modules, "networkit._NetworKit")) {
      if (unlikely(PyDict_SetItemString(modules, "networkit._NetworKit", __pyx_m) < 0)) __PYX_ERR(0, 2, __pyx_L1_error)
    }
  }
  #endif
  /*--- Builtin init code ---*/
  if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 2, __pyx_L1_error)
  /*--- Constants init code ---*/
  if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 2, __pyx_L1_error)
  /*--- Global type/function init code ---*/
  (void)__Pyx_modinit_global_init_code();
  (void)__Pyx_modinit_variable_export_code();
  (void)__Pyx_modinit_function_export_code();
  if (unlikely(__Pyx_modinit_type_init_code() != 0)) goto __pyx_L1_error;
  (void)__Pyx_modinit_type_import_code();
  (void)__Pyx_modinit_variable_import_code();
  (void)__Pyx_modinit_function_import_code();
  /*--- Execution code ---*/
  #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
  if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 2, __pyx_L1_error)
  #endif

  /* "networkit/_NetworKit.pyx":6
 * #includes
 * # needed for collections.Iterable
 * from networkit.exceptions import ReducedFunctionalityWarning             # <<<<<<<<<<<<<<
 * import collections
 * import math
 */
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_ReducedFunctionalityWarning);
  __Pyx_GIVEREF(__pyx_n_s_ReducedFunctionalityWarning);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_ReducedFunctionalityWarning);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_networkit_exceptions, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_ReducedFunctionalityWarning); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_ReducedFunctionalityWarning, __pyx_t_1) < 0) __PYX_ERR(0, 6, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":7
 * # needed for collections.Iterable
 * from networkit.exceptions import ReducedFunctionalityWarning
 * import collections             # <<<<<<<<<<<<<<
 * import math
 * import os
 */
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_collections, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_collections, __pyx_t_2) < 0) __PYX_ERR(0, 7, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":8
 * from networkit.exceptions import ReducedFunctionalityWarning
 * import collections
 * import math             # <<<<<<<<<<<<<<
 * import os
 * import tempfile
 */
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_math, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_math, __pyx_t_2) < 0) __PYX_ERR(0, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":9
 * import collections
 * import math
 * import os             # <<<<<<<<<<<<<<
 * import tempfile
 * import warnings
 */
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_os, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_os, __pyx_t_2) < 0) __PYX_ERR(0, 9, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":10
 * import math
 * import os
 * import tempfile             # <<<<<<<<<<<<<<
 * import warnings
 * 
 */
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_tempfile, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_tempfile, __pyx_t_2) < 0) __PYX_ERR(0, 10, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":11
 * import os
 * import tempfile
 * import warnings             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_warnings, __pyx_t_2) < 0) __PYX_ERR(0, 11, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":14
 * 
 * 
 * try:             # <<<<<<<<<<<<<<
 * 	import pandas
 * except:
 */
  {
    __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:*/ {

      /* "networkit/_NetworKit.pyx":15
 * 
 * try:
 * 	import pandas             # <<<<<<<<<<<<<<
 * except:
 * 	warnings.warn("WARNING: module 'pandas' not found, some functionality will be restricted",
 */
      __pyx_t_2 = __Pyx_Import(__pyx_n_s_pandas, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15, __pyx_L2_error)
      __Pyx_GOTREF(__pyx_t_2);
      if (PyDict_SetItem(__pyx_d, __pyx_n_s_pandas, __pyx_t_2) < 0) __PYX_ERR(0, 15, __pyx_L2_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "networkit/_NetworKit.pyx":14
 * 
 * 
 * try:             # <<<<<<<<<<<<<<
 * 	import pandas
 * except:
 */
    }
    __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_L7_try_end;
    __pyx_L2_error:;
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "networkit/_NetworKit.pyx":16
 * try:
 * 	import pandas
 * except:             # <<<<<<<<<<<<<<
 * 	warnings.warn("WARNING: module 'pandas' not found, some functionality will be restricted",
 * 			ReducedFunctionalityWarning)
 */
    /*except:*/ {
      __Pyx_AddTraceback("networkit._NetworKit", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_6) < 0) __PYX_ERR(0, 16, __pyx_L4_except_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_GOTREF(__pyx_t_6);

      /* "networkit/_NetworKit.pyx":17
 * 	import pandas
 * except:
 * 	warnings.warn("WARNING: module 'pandas' not found, some functionality will be restricted",             # <<<<<<<<<<<<<<
 * 			ReducedFunctionalityWarning)
 * 
 */
      __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_warnings); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17, __pyx_L4_except_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_warn); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17, __pyx_L4_except_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "networkit/_NetworKit.pyx":18
 * except:
 * 	warnings.warn("WARNING: module 'pandas' not found, some functionality will be restricted",
 * 			ReducedFunctionalityWarning)             # <<<<<<<<<<<<<<
 * 
 * 
 */
      __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_ReducedFunctionalityWarning); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18, __pyx_L4_except_error)
      __Pyx_GOTREF(__pyx_t_7);

      /* "networkit/_NetworKit.pyx":17
 * 	import pandas
 * except:
 * 	warnings.warn("WARNING: module 'pandas' not found, some functionality will be restricted",             # <<<<<<<<<<<<<<
 * 			ReducedFunctionalityWarning)
 * 
 */
      __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 17, __pyx_L4_except_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_INCREF(__pyx_kp_u_WARNING_module_pandas_not_found);
      __Pyx_GIVEREF(__pyx_kp_u_WARNING_module_pandas_not_found);
      PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_WARNING_module_pandas_not_found);
      __Pyx_GIVEREF(__pyx_t_7);
      PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_9, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17, __pyx_L4_except_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      goto __pyx_L3_exception_handled;
    }
    __pyx_L4_except_error:;

    /* "networkit/_NetworKit.pyx":14
 * 
 * 
 * try:             # <<<<<<<<<<<<<<
 * 	import pandas
 * except:
 */
    __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_L3_exception_handled:;
    __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);
    __pyx_L7_try_end:;
  }

  /* "networkit/_NetworKit.pyx":54
 * 	index _none "NetworKit::none"
 * 
 * none = _none             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<algorithm>" namespace "std":
 */
  __pyx_t_6 = __Pyx_PyInt_From_uint64_t(NetworKit::none); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 54, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_none, __pyx_t_6) < 0) __PYX_ERR(0, 54, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "networkit/_NetworKit.pyx":79
 * # Cython helper functions
 * 
 * def stdstring(pystring):             # <<<<<<<<<<<<<<
 * 	""" convert a Python string to a bytes object which is automatically coerced to std::string"""
 * 	pybytes = pystring.encode("utf-8")
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_1stdstring, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 79, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_stdstring, __pyx_t_6) < 0) __PYX_ERR(0, 79, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "networkit/_NetworKit.pyx":84
 * 	return pybytes
 * 
 * def pystring(stdstring):             # <<<<<<<<<<<<<<
 * 	""" convert a std::string (= python byte string) to a normal Python string"""
 * 	return stdstring.decode("utf-8")
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_3pystring, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 84, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pystring, __pyx_t_6) < 0) __PYX_ERR(0, 84, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "networkit/_NetworKit.pyx":211
 * 	void _setPrintLocation "Aux::Log::Settings::setPrintLocation" (bool_t) except +
 * 
 * def getLogLevel():             # <<<<<<<<<<<<<<
 * 	""" Get the current log level"""
 * 	return pystring(_getLogLevel())
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_5getLogLevel, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_getLogLevel, __pyx_t_6) < 0) __PYX_ERR(0, 211, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "networkit/_NetworKit.pyx":215
 * 	return pystring(_getLogLevel())
 * 
 * def setLogLevel(loglevel):             # <<<<<<<<<<<<<<
 * 	""" Set the current loglevel"""
 * 	_setLogLevel(stdstring(loglevel))
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_7setLogLevel, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setLogLevel, __pyx_t_6) < 0) __PYX_ERR(0, 215, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "networkit/_NetworKit.pyx":219
 * 	_setLogLevel(stdstring(loglevel))
 * 
 * def setPrintLocation(flag):             # <<<<<<<<<<<<<<
 * 	""" Switch locations in log statements on or off"""
 * 	_setPrintLocation(flag)
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_9setPrintLocation, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setPrintLocation, __pyx_t_6) < 0) __PYX_ERR(0, 219, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "networkit/_NetworKit.pyx":230
 * 	void _enableNestedParallelism "Aux::enableNestedParallelism" ()
 * 
 * def setNumberOfThreads(nThreads):             # <<<<<<<<<<<<<<
 * 	""" Set the number of OpenMP threads """
 * 	_setNumberOfThreads(nThreads)
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_11setNumberOfThreads, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setNumberOfThreads, __pyx_t_6) < 0) __PYX_ERR(0, 230, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "networkit/_NetworKit.pyx":234
 * 	_setNumberOfThreads(nThreads)
 * 
 * def getCurrentNumberOfThreads():             # <<<<<<<<<<<<<<
 * 	""" Get the number of currently running threads"""
 * 	return _getCurrentNumberOfThreads()
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_13getCurrentNumberOfThreads, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_getCurrentNumberOfThreads, __pyx_t_6) < 0) __PYX_ERR(0, 234, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "networkit/_NetworKit.pyx":238
 * 	return _getCurrentNumberOfThreads()
 * 
 * def getMaxNumberOfThreads():             # <<<<<<<<<<<<<<
 * 	""" Get the maximum number of available threads"""
 * 	return _getMaxNumberOfThreads()
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_15getMaxNumberOfThreads, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_getMaxNumberOfThreads, __pyx_t_6) < 0) __PYX_ERR(0, 238, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "networkit/_NetworKit.pyx":242
 * 	return _getMaxNumberOfThreads()
 * 
 * def enableNestedParallelism():             # <<<<<<<<<<<<<<
 * 	""" Enable nested parallelism for OpenMP"""
 * 	from warnings import warn
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_17enableNestedParallelism, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 242, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_enableNestedParallelism, __pyx_t_6) < 0) __PYX_ERR(0, 242, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "networkit/_NetworKit.pyx":251
 * 	void _setSeed "Aux::Random::setSeed" (uint64_t, bool_t)
 * 
 * def setSeed(uint64_t seed, bool_t useThreadId):             # <<<<<<<<<<<<<<
 * 	""" Set the random seed that is used in NetworKit.
 * 
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_19setSeed, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setSeed, __pyx_t_6) < 0) __PYX_ERR(0, 251, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "networkit/_NetworKit.pyx":1979
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, source, storePaths=True, storeNodesSortedByDistance=False, target=none):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _BFS(G._this, source, storePaths, storeNodesSortedByDistance, target)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_none); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1979, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_k__25 = __pyx_t_6;
  __Pyx_GIVEREF(__pyx_t_6);
  __pyx_t_6 = 0;

  /* "networkit/_NetworKit.pyx":2032
 * 	"""
 * 
 * 	def __cinit__(self, Graph G, source, storePaths=True, storeNodesSortedByDistance=False, target=none):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _ReverseBFS(G._this, source, storePaths, storeNodesSortedByDistance, target)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_none); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_k__30 = __pyx_t_6;
  __Pyx_GIVEREF(__pyx_t_6);
  __pyx_t_6 = 0;

  /* "networkit/_NetworKit.pyx":2063
 * 		target node. Search ends when target node is reached. t is set to None by default.
 *     """
 * 	def __cinit__(self, Graph G, source, storePaths=True, storeNodesSortedByDistance=False, node target=none):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _Dijkstra(G._this, source, storePaths, storeNodesSortedByDistance, target)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_none); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_10 = __Pyx_PyInt_As_uint64_t(__pyx_t_6); if (unlikely((__pyx_t_10 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 2063, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_k__33 = __pyx_t_10;

  /* "networkit/_NetworKit.pyx":2140
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self,  Graph G, source, target, cutoff=none):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _AllSimplePaths(G._this, source, target, cutoff)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_none); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_k__38 = __pyx_t_6;
  __Pyx_GIVEREF(__pyx_t_6);
  __pyx_t_6 = 0;

  /* "networkit/_NetworKit.pyx":2342
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G not None, vector[double] attribute = vector[double]()):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 
 */
  try {
    __pyx_t_11 = std::vector<double> ();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2342, __pyx_L1_error)
  }
  __pyx_k__47 = __pyx_t_11;

  /* "networkit/_NetworKit.pyx":2384
 * 		return (<_UnionMaximumSpanningForest*>(self._this)).getAttribute(move)
 * 
 * 	def inUMST(self, node u, node v = _none):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Checks if the edge (u, v) or the edge with id u is part of any maximum-weight spanning forest.
 */
  __pyx_k__48 = NetworKit::none;

  /* "networkit/_NetworKit.pyx":2429
 * 	cdef Graph _G
 * 
 * 	def __cinit__(self, Graph G not None, vector[double] attribute = vector[double]()):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		if attribute.empty():
 */
  try {
    __pyx_t_11 = std::vector<double> ();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 2429, __pyx_L1_error)
  }
  __pyx_k__51 = __pyx_t_11;

  /* "networkit/_NetworKit.pyx":2471
 * 		return (<_RandomMaximumSpanningForest*>(self._this)).getAttribute(move)
 * 
 * 	def inMSF(self, node u, node v = _none):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Checks if the edge (u, v) or the edge with id u is part of the calculated maximum-weight spanning forest.
 */
  __pyx_k__52 = NetworKit::none;

  /* "networkit/_NetworKit.pyx":2567
 * 
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1):             # <<<<<<<<<<<<<<
 * 		(n, m) = GraphTools.size(G)
 * 		k = math.floor(m / n)
 */
  __Pyx_GetNameInClass(__pyx_t_6, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_BarabasiAlbertGenerator, __pyx_n_s_fit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);

  /* "networkit/_NetworKit.pyx":2566
 * 			self._this = new _BarabasiAlbertGenerator(k, nMax, <count>n0, batagelj)
 * 
 * 	@classmethod             # <<<<<<<<<<<<<<
 * 	def fit(cls, Graph G, scale=1):
 * 		(n, m) = GraphTools.size(G)
 */
  __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_BarabasiAlbertGenerator->tp_dict, __pyx_n_s_fit, __pyx_t_1) < 0) __PYX_ERR(0, 2567, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_BarabasiAlbertGenerator);

  /* "networkit/_NetworKit.pyx":2648
 * 
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1):             # <<<<<<<<<<<<<<
 * 		""" Fit model to input graph"""
 * 		(n, m) = GraphTools.size(G)
 */
  __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_ErdosRenyiGenerator, __pyx_n_s_fit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "networkit/_NetworKit.pyx":2647
 * 		self._this = new _ErdosRenyiGenerator(nNodes, prob, directed, selfLoops)
 * 
 * 	@classmethod             # <<<<<<<<<<<<<<
 * 	def fit(cls, Graph G, scale=1):
 * 		""" Fit model to input graph"""
 */
  __pyx_t_6 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_ErdosRenyiGenerator->tp_dict, __pyx_n_s_fit, __pyx_t_6) < 0) __PYX_ERR(0, 2648, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_ErdosRenyiGenerator);

  /* "networkit/_NetworKit.pyx":2679
 * 
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1):             # <<<<<<<<<<<<<<
 * 		return cls(scale * G.numberOfNodes())
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_6, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_DorogovtsevMendesGenerator, __pyx_n_s_fit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);

  /* "networkit/_NetworKit.pyx":2678
 * 		self._this = new _DorogovtsevMendesGenerator(nNodes)
 * 
 * 	@classmethod             # <<<<<<<<<<<<<<
 * 	def fit(cls, Graph G, scale=1):
 * 		return cls(scale * G.numberOfNodes())
 */
  __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_DorogovtsevMendesGenerator->tp_dict, __pyx_n_s_fit, __pyx_t_1) < 0) __PYX_ERR(0, 2679, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_DorogovtsevMendesGenerator);

  /* "networkit/_NetworKit.pyx":2794
 * 
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1):             # <<<<<<<<<<<<<<
 * 		""" Fit model to input graph"""
 * 		(n, m) = GraphTools.size(G)
 */
  __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_ChungLuGenerator, __pyx_n_s_fit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2794, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "networkit/_NetworKit.pyx":2793
 * 		self._this = new _ChungLuGenerator(degreeSequence)
 * 
 * 	@classmethod             # <<<<<<<<<<<<<<
 * 	def fit(cls, Graph G, scale=1):
 * 		""" Fit model to input graph"""
 */
  __pyx_t_6 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2793, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_ChungLuGenerator->tp_dict, __pyx_n_s_fit, __pyx_t_6) < 0) __PYX_ERR(0, 2794, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_ChungLuGenerator);

  /* "networkit/_NetworKit.pyx":2838
 * 
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1):             # <<<<<<<<<<<<<<
 * 		degSeq = DegreeCentrality(G).run().scores()
 * 		return cls(degSeq * scale, ignoreIfRealizable=True)
 */
  __Pyx_GetNameInClass(__pyx_t_6, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_HavelHakimiGenerator, __pyx_n_s_fit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2838, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);

  /* "networkit/_NetworKit.pyx":2837
 * 		return (<_HavelHakimiGenerator*>(self._this)).getRealizable()
 * 
 * 	@classmethod             # <<<<<<<<<<<<<<
 * 	def fit(cls, Graph G, scale=1):
 * 		degSeq = DegreeCentrality(G).run().scores()
 */
  __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_HavelHakimiGenerator->tp_dict, __pyx_n_s_fit, __pyx_t_1) < 0) __PYX_ERR(0, 2838, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_HavelHakimiGenerator);

  /* "networkit/_NetworKit.pyx":2884
 * 
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1):             # <<<<<<<<<<<<<<
 * 		degSeq = DegreeCentrality(G).run().scores()
 * 		return cls(degSeq * scale, ignoreIfRealizable=True)
 */
  __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator, __pyx_n_s_fit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2884, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "networkit/_NetworKit.pyx":2883
 * 		return (<_EdgeSwitchingMarkovChainGenerator*>(self._this)).getRealizable()
 * 
 * 	@classmethod             # <<<<<<<<<<<<<<
 * 	def fit(cls, Graph G, scale=1):
 * 		degSeq = DegreeCentrality(G).run().scores()
 */
  __pyx_t_6 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator->tp_dict, __pyx_n_s_fit, __pyx_t_6) < 0) __PYX_ERR(0, 2884, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_EdgeSwitchingMarkovChainGenerator);

  /* "networkit/_NetworKit.pyx":2940
 * 
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1):             # <<<<<<<<<<<<<<
 * 		""" Fit model to input graph"""
 * 		degSeq = DegreeCentrality(G).run().scores()
 */
  __Pyx_GetNameInClass(__pyx_t_6, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_HyperbolicGenerator, __pyx_n_s_fit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 2940, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);

  /* "networkit/_NetworKit.pyx":2939
 * 		return Graph(0).setThis((<_HyperbolicGenerator*>(self._this)).generate(angles, radii, R, T))
 * 
 * 	@classmethod             # <<<<<<<<<<<<<<
 * 	def fit(cls, Graph G, scale=1):
 * 		""" Fit model to input graph"""
 */
  __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_HyperbolicGenerator->tp_dict, __pyx_n_s_fit, __pyx_t_1) < 0) __PYX_ERR(0, 2940, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_HyperbolicGenerator);

  /* "networkit/_NetworKit.pyx":3084
 * 		result graph weighted?
 * 	"""
 * 	paths = {"kronfitPath" : None}             # <<<<<<<<<<<<<<
 * 
 * 	def __cinit__(self, count scale, count edgeFactor, double a, double b, double c, double d, bool_t weighted=False, count reduceNodes=0):
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_kronfitPath, Py_None) < 0) __PYX_ERR(0, 3084, __pyx_L1_error)
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_RmatGenerator->tp_dict, __pyx_n_s_paths, __pyx_t_1) < 0) __PYX_ERR(0, 3084, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_RmatGenerator);

  /* "networkit/_NetworKit.pyx":3090
 * 
 * 	@classmethod
 * 	def setPaths(cls, kronfitPath):             # <<<<<<<<<<<<<<
 * 		cls.paths["kronfitPath"] = kronfitPath
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_RmatGenerator, __pyx_n_s_setPaths); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "networkit/_NetworKit.pyx":3089
 * 		self._this = new _RmatGenerator(scale, edgeFactor, a, b, c, d, weighted, reduceNodes)
 * 
 * 	@classmethod             # <<<<<<<<<<<<<<
 * 	def setPaths(cls, kronfitPath):
 * 		cls.paths["kronfitPath"] = kronfitPath
 */
  __pyx_t_6 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_RmatGenerator->tp_dict, __pyx_n_s_setPaths, __pyx_t_6) < 0) __PYX_ERR(0, 3090, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_RmatGenerator);

  /* "networkit/_NetworKit.pyx":3094
 * 
 * 	@classmethod
 * 	def fit(cls, G, scale=1, initiator=None, kronfit=True, iterations=50):             # <<<<<<<<<<<<<<
 * 		import math
 * 		import re
 */
  __Pyx_GetNameInClass(__pyx_t_6, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_RmatGenerator, __pyx_n_s_fit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3094, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);

  /* "networkit/_NetworKit.pyx":3093
 * 		cls.paths["kronfitPath"] = kronfitPath
 * 
 * 	@classmethod             # <<<<<<<<<<<<<<
 * 	def fit(cls, G, scale=1, initiator=None, kronfit=True, iterations=50):
 * 		import math
 */
  __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_RmatGenerator->tp_dict, __pyx_n_s_fit, __pyx_t_1) < 0) __PYX_ERR(0, 3094, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_RmatGenerator);

  /* "networkit/_NetworKit.pyx":3345
 * 		The number of nodes
 * 	"""
 * 	params = {}             # <<<<<<<<<<<<<<
 * 	paths = {}
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3345, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_LFRGenerator->tp_dict, __pyx_n_s_params, __pyx_t_1) < 0) __PYX_ERR(0, 3345, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_LFRGenerator);

  /* "networkit/_NetworKit.pyx":3346
 * 	"""
 * 	params = {}
 * 	paths = {}             # <<<<<<<<<<<<<<
 * 
 * 	def __cinit__(self, count n):
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_LFRGenerator->tp_dict, __pyx_n_s_paths, __pyx_t_1) < 0) __PYX_ERR(0, 3346, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_LFRGenerator);

  /* "networkit/_NetworKit.pyx":3495
 * 
 * 	@classmethod
 * 	def setPathToReferenceImplementationDir(cls, path):             # <<<<<<<<<<<<<<
 * 		cls.paths["refImplDir"] = path
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_LFRGenerator, __pyx_n_s_setPathToReferenceImplementation); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "networkit/_NetworKit.pyx":3494
 * 		return Partition().setThis((<_LFRGenerator*>(self._this)).getPartition())
 * 
 * 	@classmethod             # <<<<<<<<<<<<<<
 * 	def setPathToReferenceImplementationDir(cls, path):
 * 		cls.paths["refImplDir"] = path
 */
  __pyx_t_6 = __Pyx_Method_ClassMethod(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3494, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_LFRGenerator->tp_dict, __pyx_n_s_setPathToReferenceImplementation, __pyx_t_6) < 0) __PYX_ERR(0, 3495, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_LFRGenerator);

  /* "networkit/_NetworKit.pyx":3500
 * 
 * 	@classmethod
 * 	def fit(cls, Graph G, scale=1, vanilla=False, communityDetectionAlgorithm=PLM, plfit=False):             # <<<<<<<<<<<<<<
 * 		""" Fit model to input graph"""
 * 		(n, m) = GraphTools.size(G)
 */
  __Pyx_INCREF(((PyObject *)__pyx_ptype_9networkit_10_NetworKit_PLM));
  __pyx_k__94 = ((PyObject *)__pyx_ptype_9networkit_10_NetworKit_PLM);
  __Pyx_GIVEREF(__pyx_ptype_9networkit_10_NetworKit_PLM);

  /* "networkit/_NetworKit.pyx":3499
 * 
 * 
 * 	@classmethod             # <<<<<<<<<<<<<<
 * 	def fit(cls, Graph G, scale=1, vanilla=False, communityDetectionAlgorithm=PLM, plfit=False):
 * 		""" Fit model to input graph"""
 */
  __Pyx_GetNameInClass(__pyx_t_6, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_LFRGenerator, __pyx_n_s_fit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3500, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_Method_ClassMethod(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_LFRGenerator->tp_dict, __pyx_n_s_fit, __pyx_t_1) < 0) __PYX_ERR(0, 3500, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_LFRGenerator);

  /* "networkit/_NetworKit.pyx":3626
 * 		KEEP_MINIUM_WEIGHT
 * 
 * class MultipleEdgesHandling:             # <<<<<<<<<<<<<<
 * 	DiscardEdges = DISCARD_EDGES
 * 	SumWeightsUp = SUM_WEIGHTS_UP
 */
  __pyx_t_1 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_empty_tuple, __pyx_n_s_MultipleEdgesHandling, __pyx_n_s_MultipleEdgesHandling, (PyObject *) NULL, __pyx_n_s_networkit__NetworKit, (PyObject *) NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "networkit/_NetworKit.pyx":3627
 * 
 * class MultipleEdgesHandling:
 * 	DiscardEdges = DISCARD_EDGES             # <<<<<<<<<<<<<<
 * 	SumWeightsUp = SUM_WEIGHTS_UP
 * 	KeepMinimumWeight = KEEP_MINIUM_WEIGHT
 */
  __pyx_t_6 = __Pyx_PyInt_From_enum__NetworKit_3a__3a_GraphReader_3a__3a_MultipleEdgesHandling(NetworKit::GraphReader::DISCARD_EDGES); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_DiscardEdges, __pyx_t_6) < 0) __PYX_ERR(0, 3627, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "networkit/_NetworKit.pyx":3628
 * class MultipleEdgesHandling:
 * 	DiscardEdges = DISCARD_EDGES
 * 	SumWeightsUp = SUM_WEIGHTS_UP             # <<<<<<<<<<<<<<
 * 	KeepMinimumWeight = KEEP_MINIUM_WEIGHT
 * 
 */
  __pyx_t_6 = __Pyx_PyInt_From_enum__NetworKit_3a__3a_GraphReader_3a__3a_MultipleEdgesHandling(NetworKit::GraphReader::SUM_WEIGHTS_UP); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_SumWeightsUp, __pyx_t_6) < 0) __PYX_ERR(0, 3628, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "networkit/_NetworKit.pyx":3629
 * 	DiscardEdges = DISCARD_EDGES
 * 	SumWeightsUp = SUM_WEIGHTS_UP
 * 	KeepMinimumWeight = KEEP_MINIUM_WEIGHT             # <<<<<<<<<<<<<<
 * 
 * cdef class GraphReader:
 */
  __pyx_t_6 = __Pyx_PyInt_From_enum__NetworKit_3a__3a_GraphReader_3a__3a_MultipleEdgesHandling(NetworKit::GraphReader::KEEP_MINIUM_WEIGHT); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_KeepMinimumWeight, __pyx_t_6) < 0) __PYX_ERR(0, 3629, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "networkit/_NetworKit.pyx":3626
 * 		KEEP_MINIUM_WEIGHT
 * 
 * class MultipleEdgesHandling:             # <<<<<<<<<<<<<<
 * 	DiscardEdges = DISCARD_EDGES
 * 	SumWeightsUp = SUM_WEIGHTS_UP
 */
  __pyx_t_6 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassType), __pyx_n_s_MultipleEdgesHandling, __pyx_empty_tuple, __pyx_t_1, NULL, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_MultipleEdgesHandling, __pyx_t_6) < 0) __PYX_ERR(0, 3626, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "networkit/_NetworKit.pyx":3880
 * 		[1]: http://konect.uni-koblenz.de/downloads/konect-handbook.pdf
 * 	"""
 * 	def __cinit__(self, remapNodes = False, handlingmethod = MultipleEdgesHandling.DiscardEdges):             # <<<<<<<<<<<<<<
 * 		self._this = new _KONECTGraphReader(remapNodes, handlingmethod)
 * 
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_MultipleEdgesHandling); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_DiscardEdges); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_k__120 = __pyx_t_6;
  __Pyx_GIVEREF(__pyx_t_6);
  __pyx_t_6 = 0;

  /* "networkit/_NetworKit.pyx":4363
 * 	cdef _Partition _this
 * 
 * 	def __cinit__(self, index size=0, vector[index] data=[]):             # <<<<<<<<<<<<<<
 * 		if data.size() != 0:
 * 			self._this = move(_Partition(data))
 */
  __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_12 = __pyx_convert_vector_from_py___pyx_t_9networkit_10_NetworKit_index(__pyx_t_6); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4363, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_k__163 = __pyx_t_12;

  /* "networkit/_NetworKit.pyx":5080
 * cdef class GraphClusteringTools:
 * 	@staticmethod
 * 	def getImbalance(Partition zeta):             # <<<<<<<<<<<<<<
 * 		return getImbalance(zeta._this)
 * 	@staticmethod
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_20GraphClusteringTools_1getImbalance, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools->tp_dict, __pyx_n_s_getImbalance, __pyx_t_6) < 0) __PYX_ERR(0, 5080, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools);

  /* "networkit/_NetworKit.pyx":5079
 * 
 * cdef class GraphClusteringTools:
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def getImbalance(Partition zeta):
 * 		return getImbalance(zeta._this)
 */
  __Pyx_GetNameInClass(__pyx_t_6, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools, __pyx_n_s_getImbalance); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools->tp_dict, __pyx_n_s_getImbalance, __pyx_t_1) < 0) __PYX_ERR(0, 5080, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools);

  /* "networkit/_NetworKit.pyx":5083
 * 		return getImbalance(zeta._this)
 * 	@staticmethod
 * 	def communicationGraph(Graph graph, Partition zeta):             # <<<<<<<<<<<<<<
 * 		return Graph().setThis(communicationGraph(graph._this, zeta._this))
 * 	@staticmethod
 */
  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_20GraphClusteringTools_3communicationGraph, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools->tp_dict, __pyx_n_s_communicationGraph, __pyx_t_1) < 0) __PYX_ERR(0, 5083, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools);

  /* "networkit/_NetworKit.pyx":5082
 * 	def getImbalance(Partition zeta):
 * 		return getImbalance(zeta._this)
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def communicationGraph(Graph graph, Partition zeta):
 * 		return Graph().setThis(communicationGraph(graph._this, zeta._this))
 */
  __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools, __pyx_n_s_communicationGraph); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5082, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools->tp_dict, __pyx_n_s_communicationGraph, __pyx_t_6) < 0) __PYX_ERR(0, 5083, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools);

  /* "networkit/_NetworKit.pyx":5086
 * 		return Graph().setThis(communicationGraph(graph._this, zeta._this))
 * 	@staticmethod
 * 	def weightedDegreeWithCluster(Graph graph, Partition zeta, node u, index cid):             # <<<<<<<<<<<<<<
 * 		return weightedDegreeWithCluster(graph._this, zeta._this, u, cid)
 * 	@staticmethod
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_20GraphClusteringTools_5weightedDegreeWithCluster, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools->tp_dict, __pyx_n_s_weightedDegreeWithCluster, __pyx_t_6) < 0) __PYX_ERR(0, 5086, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools);

  /* "networkit/_NetworKit.pyx":5085
 * 	def communicationGraph(Graph graph, Partition zeta):
 * 		return Graph().setThis(communicationGraph(graph._this, zeta._this))
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def weightedDegreeWithCluster(Graph graph, Partition zeta, node u, index cid):
 * 		return weightedDegreeWithCluster(graph._this, zeta._this, u, cid)
 */
  __Pyx_GetNameInClass(__pyx_t_6, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools, __pyx_n_s_weightedDegreeWithCluster); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5085, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools->tp_dict, __pyx_n_s_weightedDegreeWithCluster, __pyx_t_1) < 0) __PYX_ERR(0, 5086, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools);

  /* "networkit/_NetworKit.pyx":5089
 * 		return weightedDegreeWithCluster(graph._this, zeta._this, u, cid)
 * 	@staticmethod
 * 	def isProperClustering(Graph G, Partition zeta):             # <<<<<<<<<<<<<<
 * 		return isProperClustering(G._this, zeta._this)
 * 	@staticmethod
 */
  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_20GraphClusteringTools_7isProperClustering, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools->tp_dict, __pyx_n_s_isProperClustering, __pyx_t_1) < 0) __PYX_ERR(0, 5089, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools);

  /* "networkit/_NetworKit.pyx":5088
 * 	def weightedDegreeWithCluster(Graph graph, Partition zeta, node u, index cid):
 * 		return weightedDegreeWithCluster(graph._this, zeta._this, u, cid)
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def isProperClustering(Graph G, Partition zeta):
 * 		return isProperClustering(G._this, zeta._this)
 */
  __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools, __pyx_n_s_isProperClustering); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5088, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools->tp_dict, __pyx_n_s_isProperClustering, __pyx_t_6) < 0) __PYX_ERR(0, 5089, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools);

  /* "networkit/_NetworKit.pyx":5092
 * 		return isProperClustering(G._this, zeta._this)
 * 	@staticmethod
 * 	def isSingletonClustering(Graph G, Partition zeta):             # <<<<<<<<<<<<<<
 * 		return isSingletonClustering(G._this, zeta._this)
 * 	@staticmethod
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_20GraphClusteringTools_9isSingletonClustering, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools->tp_dict, __pyx_n_s_isSingletonClustering, __pyx_t_6) < 0) __PYX_ERR(0, 5092, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools);

  /* "networkit/_NetworKit.pyx":5091
 * 	def isProperClustering(Graph G, Partition zeta):
 * 		return isProperClustering(G._this, zeta._this)
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def isSingletonClustering(Graph G, Partition zeta):
 * 		return isSingletonClustering(G._this, zeta._this)
 */
  __Pyx_GetNameInClass(__pyx_t_6, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools, __pyx_n_s_isSingletonClustering); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5091, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools->tp_dict, __pyx_n_s_isSingletonClustering, __pyx_t_1) < 0) __PYX_ERR(0, 5092, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools);

  /* "networkit/_NetworKit.pyx":5095
 * 		return isSingletonClustering(G._this, zeta._this)
 * 	@staticmethod
 * 	def isOneClustering(Graph G, Partition zeta):             # <<<<<<<<<<<<<<
 * 		return isOneClustering(G._this, zeta._this)
 * 	@staticmethod
 */
  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_20GraphClusteringTools_11isOneClustering, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools->tp_dict, __pyx_n_s_isOneClustering, __pyx_t_1) < 0) __PYX_ERR(0, 5095, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools);

  /* "networkit/_NetworKit.pyx":5094
 * 	def isSingletonClustering(Graph G, Partition zeta):
 * 		return isSingletonClustering(G._this, zeta._this)
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def isOneClustering(Graph G, Partition zeta):
 * 		return isOneClustering(G._this, zeta._this)
 */
  __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools, __pyx_n_s_isOneClustering); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5094, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools->tp_dict, __pyx_n_s_isOneClustering, __pyx_t_6) < 0) __PYX_ERR(0, 5095, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools);

  /* "networkit/_NetworKit.pyx":5098
 * 		return isOneClustering(G._this, zeta._this)
 * 	@staticmethod
 * 	def equalClustering(Partition zeta, Partition eta, Graph G):             # <<<<<<<<<<<<<<
 * 		return equalClusterings(zeta._this, eta._this, G._this)
 * 
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_20GraphClusteringTools_13equalClustering, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools->tp_dict, __pyx_n_s_equalClustering, __pyx_t_6) < 0) __PYX_ERR(0, 5098, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools);

  /* "networkit/_NetworKit.pyx":5097
 * 	def isOneClustering(Graph G, Partition zeta):
 * 		return isOneClustering(G._this, zeta._this)
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def equalClustering(Partition zeta, Partition eta, Graph G):
 * 		return equalClusterings(zeta._this, eta._this, G._this)
 */
  __Pyx_GetNameInClass(__pyx_t_6, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools, __pyx_n_s_equalClustering); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools->tp_dict, __pyx_n_s_equalClustering, __pyx_t_1) < 0) __PYX_ERR(0, 5098, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphClusteringTools);

  /* "networkit/_NetworKit.pyx":5113
 * 
 * 	@staticmethod
 * 	def BFSfrom(Graph graph, start, object callback):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterate over nodes in breadth-first search order starting from the given node(s).
 */
  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_9Traversal_1BFSfrom, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Traversal->tp_dict, __pyx_n_s_BFSfrom, __pyx_t_1) < 0) __PYX_ERR(0, 5113, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_Traversal);

  /* "networkit/_NetworKit.pyx":5112
 * cdef class Traversal:
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def BFSfrom(Graph graph, start, object callback):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_Traversal, __pyx_n_s_BFSfrom); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Traversal->tp_dict, __pyx_n_s_BFSfrom, __pyx_t_6) < 0) __PYX_ERR(0, 5113, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_Traversal);

  /* "networkit/_NetworKit.pyx":5141
 * 
 * 	@staticmethod
 * 	def BFSEdgesFrom(Graph graph, node start, object callback):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterate over edges in breadth-first search order starting from the given node(s).
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_9Traversal_3BFSEdgesFrom, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Traversal->tp_dict, __pyx_n_s_BFSEdgesFrom, __pyx_t_6) < 0) __PYX_ERR(0, 5141, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_Traversal);

  /* "networkit/_NetworKit.pyx":5140
 * 			del wrapper
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def BFSEdgesFrom(Graph graph, node start, object callback):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_6, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_Traversal, __pyx_n_s_BFSEdgesFrom); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Traversal->tp_dict, __pyx_n_s_BFSEdgesFrom, __pyx_t_1) < 0) __PYX_ERR(0, 5141, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_Traversal);

  /* "networkit/_NetworKit.pyx":5164
 * 
 * 	@staticmethod
 * 	def DFSfrom(Graph graph, node start, object callback):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterate over nodes in depth-first search order starting from the given node(s).
 */
  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_9Traversal_5DFSfrom, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Traversal->tp_dict, __pyx_n_s_DFSfrom, __pyx_t_1) < 0) __PYX_ERR(0, 5164, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_Traversal);

  /* "networkit/_NetworKit.pyx":5163
 * 			del wrapper
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def DFSfrom(Graph graph, node start, object callback):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_Traversal, __pyx_n_s_DFSfrom); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5163, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Traversal->tp_dict, __pyx_n_s_DFSfrom, __pyx_t_6) < 0) __PYX_ERR(0, 5164, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_Traversal);

  /* "networkit/_NetworKit.pyx":5185
 * 
 * 	@staticmethod
 * 	def DFSEdgesFrom(Graph graph, node start, object callback):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Iterate over edges in depth-first search order starting from the given node(s).
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_9Traversal_7DFSEdgesFrom, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Traversal->tp_dict, __pyx_n_s_DFSEdgesFrom, __pyx_t_6) < 0) __PYX_ERR(0, 5185, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_Traversal);

  /* "networkit/_NetworKit.pyx":5184
 * 			del wrapper
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def DFSEdgesFrom(Graph graph, node start, object callback):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_6, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_Traversal, __pyx_n_s_DFSEdgesFrom); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Traversal->tp_dict, __pyx_n_s_DFSEdgesFrom, __pyx_t_1) < 0) __PYX_ERR(0, 5185, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_Traversal);

  /* "networkit/_NetworKit.pyx":5234
 * 
 * 	@staticmethod
 * 	def maxDegree(Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the maximum out-degree of the graph.
 */
  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_10GraphTools_1maxDegree, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_maxDegree, __pyx_t_1) < 0) __PYX_ERR(0, 5234, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5233
 * cdef class GraphTools:
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def maxDegree(Graph G):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools, __pyx_n_s_maxDegree); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5233, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_maxDegree, __pyx_t_6) < 0) __PYX_ERR(0, 5234, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5251
 * 
 * 	@staticmethod
 * 	def maxInDegree(Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the maximum in-degree of the graph.
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_10GraphTools_3maxInDegree, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_maxInDegree, __pyx_t_6) < 0) __PYX_ERR(0, 5251, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5250
 * 		return maxDegree(G._this)
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def maxInDegree(Graph G):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_6, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools, __pyx_n_s_maxInDegree); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_maxInDegree, __pyx_t_1) < 0) __PYX_ERR(0, 5251, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5268
 * 
 * 	@staticmethod
 * 	def maxWeightedDegree(Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the maximum weighted out-degree of the graph.
 */
  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_10GraphTools_5maxWeightedDegree, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_maxWeightedDegree, __pyx_t_1) < 0) __PYX_ERR(0, 5268, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5267
 * 		return maxInDegree(G._this)
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def maxWeightedDegree(Graph G):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools, __pyx_n_s_maxWeightedDegree); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_maxWeightedDegree, __pyx_t_6) < 0) __PYX_ERR(0, 5268, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5285
 * 
 * 	@staticmethod
 * 	def maxWeightedInDegree(Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the maximum weighted in-degree of the graph.
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_10GraphTools_7maxWeightedInDegree, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5285, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_maxWeightedInDegree, __pyx_t_6) < 0) __PYX_ERR(0, 5285, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5284
 * 		return maxWeightedDegree(G._this)
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def maxWeightedInDegree(Graph G):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_6, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools, __pyx_n_s_maxWeightedInDegree); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5285, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_maxWeightedInDegree, __pyx_t_1) < 0) __PYX_ERR(0, 5285, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5302
 * 
 * 	@staticmethod
 * 	def randomNode(Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns a random node of the input graph.
 */
  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_10GraphTools_9randomNode, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_randomNode, __pyx_t_1) < 0) __PYX_ERR(0, 5302, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5301
 * 		return maxWeightedInDegree(G._this)
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def randomNode(Graph G):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools, __pyx_n_s_randomNode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_randomNode, __pyx_t_6) < 0) __PYX_ERR(0, 5302, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5319
 * 
 * 	@staticmethod
 * 	def randomNeighbor(Graph G, node u):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns a random neighbor of node `u`.
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_10GraphTools_11randomNeighbor, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_randomNeighbor, __pyx_t_6) < 0) __PYX_ERR(0, 5319, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5318
 * 		return randomNode(G._this)
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def randomNeighbor(Graph G, node u):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_6, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools, __pyx_n_s_randomNeighbor); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5318, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_randomNeighbor, __pyx_t_1) < 0) __PYX_ERR(0, 5319, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5338
 * 
 * 	@staticmethod
 * 	def randomEdge(Graph G, uniformDistribution = False):             # <<<<<<<<<<<<<<
 * 		""" Get a random edge of the graph.
 * 
 */
  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_10GraphTools_13randomEdge, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_randomEdge, __pyx_t_1) < 0) __PYX_ERR(0, 5338, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5337
 * 		return randomNeighbor(G._this, u)
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def randomEdge(Graph G, uniformDistribution = False):
 * 		""" Get a random edge of the graph.
 */
  __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools, __pyx_n_s_randomEdge); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5337, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_randomEdge, __pyx_t_6) < 0) __PYX_ERR(0, 5338, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5361
 * 
 * 	@staticmethod
 * 	def randomEdges(Graph G, numEdges):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns a list with numEdges random edges. The edges are chosen uniformly at random.
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_10GraphTools_15randomEdges, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_randomEdges, __pyx_t_6) < 0) __PYX_ERR(0, 5361, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5360
 * 		return randomEdge(G._this, uniformDistribution)
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def randomEdges(Graph G, numEdges):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_6, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools, __pyx_n_s_randomEdges); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5360, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_randomEdges, __pyx_t_1) < 0) __PYX_ERR(0, 5361, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5380
 * 
 * 	@staticmethod
 * 	def append(Graph G, Graph G1):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Appends graph `G1` to graph `G` as a new subgraph. Performs node id remapping.
 */
  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_10GraphTools_17append, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_append, __pyx_t_1) < 0) __PYX_ERR(0, 5380, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5379
 * 		return randomEdges(G._this, numEdges)
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def append(Graph G, Graph G1):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools, __pyx_n_s_append); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_append, __pyx_t_6) < 0) __PYX_ERR(0, 5380, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5394
 * 
 * 	@staticmethod
 * 	def merge(Graph G, Graph G1):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Modifies graph `G` to be the union of it and graph `G1`.
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_10GraphTools_19merge, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_merge, __pyx_t_6) < 0) __PYX_ERR(0, 5394, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5393
 * 		append(G._this, G1._this)
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def merge(Graph G, Graph G1):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_6, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools, __pyx_n_s_merge); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_merge, __pyx_t_1) < 0) __PYX_ERR(0, 5394, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5409
 * 
 * 	@staticmethod
 * 	def removeEdgesFromIsolatedSet(Graph graph, nodes):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Efficiently removes all the edges adjacent to a set of nodes that is
 */
  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_10GraphTools_21removeEdgesFromIsolatedSet, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_removeEdgesFromIsolatedSet, __pyx_t_1) < 0) __PYX_ERR(0, 5409, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5408
 * 		merge(G._this, G1._this)
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def removeEdgesFromIsolatedSet(Graph graph, nodes):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools, __pyx_n_s_removeEdgesFromIsolatedSet); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_removeEdgesFromIsolatedSet, __pyx_t_6) < 0) __PYX_ERR(0, 5409, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5432
 * 
 * 	@staticmethod
 * 	def toUndirected(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns an undirected copy of the input graph.
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_10GraphTools_23toUndirected, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5432, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_toUndirected, __pyx_t_6) < 0) __PYX_ERR(0, 5432, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5431
 * 				isolatedSet.begin(), isolatedSet.end())
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def toUndirected(Graph graph):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_6, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools, __pyx_n_s_toUndirected); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5432, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5431, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_toUndirected, __pyx_t_1) < 0) __PYX_ERR(0, 5432, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5449
 * 
 * 	@staticmethod
 * 	def toUnweighted(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns an unweighted copy of the input graph.
 */
  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_10GraphTools_25toUnweighted, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_toUnweighted, __pyx_t_1) < 0) __PYX_ERR(0, 5449, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5448
 * 		return Graph().setThis(toUndirected(graph._this))
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def toUnweighted(Graph graph):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools, __pyx_n_s_toUnweighted); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5448, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_toUnweighted, __pyx_t_6) < 0) __PYX_ERR(0, 5449, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5466
 * 
 * 	@staticmethod
 * 	def toWeighted(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns a weighted copy of the input graph.
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_10GraphTools_27toWeighted, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_toWeighted, __pyx_t_6) < 0) __PYX_ERR(0, 5466, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5465
 * 		return Graph().setThis(toUnweighted(graph._this))
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def toWeighted(Graph graph):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_6, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools, __pyx_n_s_toWeighted); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_toWeighted, __pyx_t_1) < 0) __PYX_ERR(0, 5466, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5483
 * 
 * 	@staticmethod
 * 	def size(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Return the size of the graph.
 */
  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_10GraphTools_29size, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5483, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_size, __pyx_t_1) < 0) __PYX_ERR(0, 5483, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5482
 * 		return Graph().setThis(toWeighted(graph._this))
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def size(Graph graph):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools, __pyx_n_s_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5483, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_size, __pyx_t_6) < 0) __PYX_ERR(0, 5483, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5495
 * 
 * 	@staticmethod
 * 	def density(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get the density of the input graph.
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_10GraphTools_31density, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_density, __pyx_t_6) < 0) __PYX_ERR(0, 5495, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5494
 * 		return size(graph._this)
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def density(Graph graph):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_6, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools, __pyx_n_s_density); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5494, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_density, __pyx_t_1) < 0) __PYX_ERR(0, 5495, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5512
 * 
 * 	@staticmethod
 * 	def copyNodes(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Copies all nodes of the input graph to a new graph (edges are not copied).
 */
  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_10GraphTools_33copyNodes, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5512, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_copyNodes, __pyx_t_1) < 0) __PYX_ERR(0, 5512, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5511
 * 		return density(graph._this)
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def copyNodes(Graph graph):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools, __pyx_n_s_copyNodes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5512, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5511, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_copyNodes, __pyx_t_6) < 0) __PYX_ERR(0, 5512, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5529
 * 
 * 	@staticmethod
 * 	def subgraphFromNodes(Graph graph, nodes, includeOutNeighbors=False, includeInNeighbors=False):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns an induced subgraph of the input graph (including potential edge
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_10GraphTools_35subgraphFromNodes, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_subgraphFromNodes, __pyx_t_6) < 0) __PYX_ERR(0, 5529, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5528
 * 		return Graph().setThis(copyNodes(graph._this))
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def subgraphFromNodes(Graph graph, nodes, includeOutNeighbors=False, includeInNeighbors=False):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_6, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools, __pyx_n_s_subgraphFromNodes); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_subgraphFromNodes, __pyx_t_1) < 0) __PYX_ERR(0, 5529, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5554
 * 
 * 	@staticmethod
 * 	def transpose(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns the transpose of the input graph. The graph must be directed.
 */
  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_10GraphTools_37transpose, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5554, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_transpose, __pyx_t_1) < 0) __PYX_ERR(0, 5554, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5553
 * 			graph._this, nodes, includeOutNeighbors, includeInNeighbors))
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def transpose(Graph graph):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools, __pyx_n_s_transpose); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5554, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_transpose, __pyx_t_6) < 0) __PYX_ERR(0, 5554, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5570
 * 
 * 	@staticmethod
 * 	def getCompactedGraph(Graph graph, nodeIdMap):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Computes a graph with the same structure but with continuous node ids.
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_10GraphTools_39getCompactedGraph, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_getCompactedGraph, __pyx_t_6) < 0) __PYX_ERR(0, 5570, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5569
 * 		return Graph().setThis(transpose(graph._this))
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def getCompactedGraph(Graph graph, nodeIdMap):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_6, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools, __pyx_n_s_getCompactedGraph); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_getCompactedGraph, __pyx_t_1) < 0) __PYX_ERR(0, 5570, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5592
 * 
 * 	@staticmethod
 * 	def getContinuousNodeIds(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Computes a map of node ids to continuous node ids.
 */
  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_10GraphTools_41getContinuousNodeIds, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_getContinuousNodeIds, __pyx_t_1) < 0) __PYX_ERR(0, 5592, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5591
 * 		return Graph().setThis(getCompactedGraph(graph._this,cNodeIdMap))
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def getContinuousNodeIds(Graph graph):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools, __pyx_n_s_getContinuousNodeIds); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_getContinuousNodeIds, __pyx_t_6) < 0) __PYX_ERR(0, 5592, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5613
 * 
 * 	@staticmethod
 * 	def getRandomContinuousNodeIds(Graph graph):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Computes a map of node ids to continuous, randomly permutated node ids.
 */
  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_10GraphTools_43getRandomContinuousNodeIds, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5613, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_getRandomContinuousNodeIds, __pyx_t_6) < 0) __PYX_ERR(0, 5613, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5612
 * 		return result
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def getRandomContinuousNodeIds(Graph graph):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_6, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools, __pyx_n_s_getRandomContinuousNodeIds); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5613, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphTools->tp_dict, __pyx_n_s_getRandomContinuousNodeIds, __pyx_t_1) < 0) __PYX_ERR(0, 5613, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphTools);

  /* "networkit/_NetworKit.pyx":5741
 * 	cdef _HubDominance _this
 * 
 * 	def getQuality(self, PartitionCover zeta, Graph G):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Calculates the dominance of hubs in the given Partition or Cover of the given
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __pyx_FusedFunction_NewEx(&__pyx_fuse_0__pyx_mdef_9networkit_10_NetworKit_12HubDominance_3getQuality, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_HubDominance_getQuality, NULL, __pyx_n_s_networkit__NetworKit, __pyx_d, ((PyObject *)__pyx_codeobj__579)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_6, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_Partition, __pyx_t_6) < 0) __PYX_ERR(0, 5741, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __pyx_FusedFunction_NewEx(&__pyx_fuse_1__pyx_mdef_9networkit_10_NetworKit_12HubDominance_5getQuality, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_HubDominance_getQuality, NULL, __pyx_n_s_networkit__NetworKit, __pyx_d, ((PyObject *)__pyx_codeobj__579)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_6, __pyx_empty_tuple);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_Cover, __pyx_t_6) < 0) __PYX_ERR(0, 5741, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __pyx_FusedFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_12HubDominance_1getQuality, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_HubDominance_getQuality, NULL, __pyx_n_s_networkit__NetworKit, __pyx_d, ((PyObject *)__pyx_codeobj__579)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_6, __pyx_empty_tuple);
  ((__pyx_FusedFunctionObject *) __pyx_t_6)->__signatures__ = __pyx_t_1;
  __Pyx_GIVEREF(__pyx_t_1);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_HubDominance->tp_dict, __pyx_n_s_getQuality, __pyx_t_6) < 0) __PYX_ERR(0, 5741, __pyx_L1_error)
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_HubDominance);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "networkit/_NetworKit.pyx":5820
 * 	"""
 * 
 * 	def __cinit__(self, Graph G not None, count updateThreshold=none, count maxIterations=none, Partition baseClustering=None,):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Constructor to the Parallel label propagation community detection algorithm.
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_none); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_13 = __Pyx_PyInt_As_uint64_t(__pyx_t_2); if (unlikely((__pyx_t_13 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 5820, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_k__189 = __pyx_t_13;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_none); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_13 = __Pyx_PyInt_As_uint64_t(__pyx_t_2); if (unlikely((__pyx_t_13 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 5820, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_k__190 = __pyx_t_13;

  /* "networkit/_NetworKit.pyx":5927
 * 
 * 	@staticmethod
 * 	def coarsen(Graph G, Partition zeta, bool_t parallel = False):             # <<<<<<<<<<<<<<
 * 		cdef pair[_Graph, vector[node]] result = move(PLM_coarsen(G._this, zeta._this))
 * 		return (Graph().setThis(result.first), result.second)
 */
  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_3PLM_5coarsen, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5927, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_PLM->tp_dict, __pyx_n_s_coarsen, __pyx_t_2) < 0) __PYX_ERR(0, 5927, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_PLM);

  /* "networkit/_NetworKit.pyx":5926
 * 		return (<_PLM*>(self._this)).getTiming()
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def coarsen(Graph G, Partition zeta, bool_t parallel = False):
 * 		cdef pair[_Graph, vector[node]] result = move(PLM_coarsen(G._this, zeta._this))
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_PLM, __pyx_n_s_coarsen); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5927, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5926, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_PLM->tp_dict, __pyx_n_s_coarsen, __pyx_t_7) < 0) __PYX_ERR(0, 5927, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_PLM);

  /* "networkit/_NetworKit.pyx":5932
 * 
 * 	@staticmethod
 * 	def prolong(Graph Gcoarse, Partition zetaCoarse, Graph Gfine, vector[node] nodeToMetaNode):             # <<<<<<<<<<<<<<
 * 		return Partition().setThis(PLM_prolong(Gcoarse._this, zetaCoarse._this, Gfine._this, nodeToMetaNode))
 * 
 */
  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_3PLM_7prolong, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_PLM->tp_dict, __pyx_n_s_prolong, __pyx_t_7) < 0) __PYX_ERR(0, 5932, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_PLM);

  /* "networkit/_NetworKit.pyx":5931
 * 		return (Graph().setThis(result.first), result.second)
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def prolong(Graph Gcoarse, Partition zetaCoarse, Graph Gfine, vector[node] nodeToMetaNode):
 * 		return Partition().setThis(PLM_prolong(Gcoarse._this, zetaCoarse._this, Gfine._this, nodeToMetaNode))
 */
  __Pyx_GetNameInClass(__pyx_t_7, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_PLM, __pyx_n_s_prolong); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_PLM->tp_dict, __pyx_n_s_prolong, __pyx_t_2) < 0) __PYX_ERR(0, 5932, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_PLM);

  /* "networkit/_NetworKit.pyx":5963
 * 
 * 	@staticmethod
 * 	def getClusterHierarchy(Graph G not None):             # <<<<<<<<<<<<<<
 * 		""" Get the complete hierarchy with all possible parameter values.
 * 
 */
  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_13CutClustering_3getClusterHierarchy, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5963, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_CutClustering->tp_dict, __pyx_n_s_getClusterHierarchy, __pyx_t_2) < 0) __PYX_ERR(0, 5963, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_CutClustering);

  /* "networkit/_NetworKit.pyx":5962
 * 		self._this = new _CutClustering(G._this, alpha)
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def getClusterHierarchy(Graph G not None):
 * 		""" Get the complete hierarchy with all possible parameter values.
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_CutClustering, __pyx_n_s_getClusterHierarchy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5963, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_CutClustering->tp_dict, __pyx_n_s_getClusterHierarchy, __pyx_t_7) < 0) __PYX_ERR(0, 5963, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_CutClustering);

  /* "networkit/_NetworKit.pyx":6591
 * 		return self._this.getSourceSet()
 * 
 * 	def getFlow(self, node u, node v = none):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Get the flow value between two nodes u and v or an edge identified by the edge id u.
 */
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_none); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 6591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_10 = __Pyx_PyInt_As_uint64_t(__pyx_t_7); if (unlikely((__pyx_t_10 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 6591, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_k__234 = __pyx_t_10;

  /* "networkit/_NetworKit.pyx":6705
 * 
 * 	@staticmethod
 * 	def extractLargestConnectedComponent(Graph graph, bool_t compactGraph = False):             # <<<<<<<<<<<<<<
 * 		"""
 * 			Constructs a new graph that contains only the nodes inside the
 */
  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_19ConnectedComponents_13extractLargestConnectedComponent, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 6705, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_ConnectedComponents->tp_dict, __pyx_n_s_extractLargestConnectedComponent, __pyx_t_7) < 0) __PYX_ERR(0, 6705, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_ConnectedComponents);

  /* "networkit/_NetworKit.pyx":6704
 * 		return (<_ConnectedComponents*>(self._this)).getComponents()
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def extractLargestConnectedComponent(Graph graph, bool_t compactGraph = False):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_7, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_ConnectedComponents, __pyx_n_s_extractLargestConnectedComponent); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 6705, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_ConnectedComponents->tp_dict, __pyx_n_s_extractLargestConnectedComponent, __pyx_t_2) < 0) __PYX_ERR(0, 6705, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_ConnectedComponents);

  /* "networkit/_NetworKit.pyx":7125
 * cdef class ClusteringCoefficient:
 * 	@staticmethod
 * 	def avgLocal(Graph G, bool_t turbo = False):             # <<<<<<<<<<<<<<
 * 		"""
 * 		DEPRECATED: Use centrality.LocalClusteringCoefficient and take average.
 */
  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_21ClusteringCoefficient_1avgLocal, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient->tp_dict, __pyx_n_s_avgLocal, __pyx_t_2) < 0) __PYX_ERR(0, 7125, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient);

  /* "networkit/_NetworKit.pyx":7124
 * 
 * cdef class ClusteringCoefficient:
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def avgLocal(Graph G, bool_t turbo = False):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient, __pyx_n_s_avgLocal); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient->tp_dict, __pyx_n_s_avgLocal, __pyx_t_7) < 0) __PYX_ERR(0, 7125, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient);

  /* "networkit/_NetworKit.pyx":7152
 * 
 * 	@staticmethod
 * 	def sequentialAvgLocal(Graph G):             # <<<<<<<<<<<<<<
 * 		""" This calculates the average local clustering coefficient of graph `G` using inherently sequential triangle counting.
 * 		Parameters
 */
  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_21ClusteringCoefficient_3sequentialAvgLocal, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient->tp_dict, __pyx_n_s_sequentialAvgLocal, __pyx_t_7) < 0) __PYX_ERR(0, 7152, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient);

  /* "networkit/_NetworKit.pyx":7151
 * 		return ret
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def sequentialAvgLocal(Graph G):
 * 		""" This calculates the average local clustering coefficient of graph `G` using inherently sequential triangle counting.
 */
  __Pyx_GetNameInClass(__pyx_t_7, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient, __pyx_n_s_sequentialAvgLocal); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient->tp_dict, __pyx_n_s_sequentialAvgLocal, __pyx_t_2) < 0) __PYX_ERR(0, 7152, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient);

  /* "networkit/_NetworKit.pyx":7175
 * 
 * 	@staticmethod
 * 	def approxAvgLocal(Graph G, count trials):             # <<<<<<<<<<<<<<
 * 		cdef double ret
 * 		with nogil:
 */
  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_21ClusteringCoefficient_5approxAvgLocal, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient->tp_dict, __pyx_n_s_approxAvgLocal, __pyx_t_2) < 0) __PYX_ERR(0, 7175, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient);

  /* "networkit/_NetworKit.pyx":7174
 * 		return ret
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def approxAvgLocal(Graph G, count trials):
 * 		cdef double ret
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient, __pyx_n_s_approxAvgLocal); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient->tp_dict, __pyx_n_s_approxAvgLocal, __pyx_t_7) < 0) __PYX_ERR(0, 7175, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient);

  /* "networkit/_NetworKit.pyx":7182
 * 
 * 	@staticmethod
 * 	def exactGlobal(Graph G):             # <<<<<<<<<<<<<<
 * 		""" This calculates the global clustering coefficient. """
 * 		cdef double ret
 */
  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_21ClusteringCoefficient_7exactGlobal, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient->tp_dict, __pyx_n_s_exactGlobal, __pyx_t_7) < 0) __PYX_ERR(0, 7182, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient);

  /* "networkit/_NetworKit.pyx":7181
 * 		return ret
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def exactGlobal(Graph G):
 * 		""" This calculates the global clustering coefficient. """
 */
  __Pyx_GetNameInClass(__pyx_t_7, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient, __pyx_n_s_exactGlobal); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7181, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient->tp_dict, __pyx_n_s_exactGlobal, __pyx_t_2) < 0) __PYX_ERR(0, 7182, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient);

  /* "networkit/_NetworKit.pyx":7190
 * 
 * 	@staticmethod
 * 	def approxGlobal(Graph G, count trials):             # <<<<<<<<<<<<<<
 * 		cdef double ret
 * 		with nogil:
 */
  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_21ClusteringCoefficient_9approxGlobal, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient->tp_dict, __pyx_n_s_approxGlobal, __pyx_t_2) < 0) __PYX_ERR(0, 7190, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient);

  /* "networkit/_NetworKit.pyx":7189
 * 		return ret
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def approxGlobal(Graph G, count trials):
 * 		cdef double ret
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient, __pyx_n_s_approxGlobal); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient->tp_dict, __pyx_n_s_approxGlobal, __pyx_t_7) < 0) __PYX_ERR(0, 7190, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_ClusteringCoefficient);

  /* "networkit/_NetworKit.pyx":7205
 * 		estimatedPedantic = 4
 * 
 * class _DiameterAlgo(object):             # <<<<<<<<<<<<<<
 * 	Automatic = automatic
 * 	Exact = exact
 */
  __pyx_t_7 = __Pyx_CalculateMetaclass(NULL, __pyx_tuple__598); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_7, __pyx_tuple__598, __pyx_n_s_DiameterAlgo, __pyx_n_s_DiameterAlgo, (PyObject *) NULL, __pyx_n_s_networkit__NetworKit, (PyObject *) NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "networkit/_NetworKit.pyx":7206
 * 
 * class _DiameterAlgo(object):
 * 	Automatic = automatic             # <<<<<<<<<<<<<<
 * 	Exact = exact
 * 	EstimatedRange = estimatedRange
 */
  __pyx_t_9 = __Pyx_PyInt_From_enum__NetworKit_3a__3a_DiameterAlgo(NetworKit::automatic); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_Automatic, __pyx_t_9) < 0) __PYX_ERR(0, 7206, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "networkit/_NetworKit.pyx":7207
 * class _DiameterAlgo(object):
 * 	Automatic = automatic
 * 	Exact = exact             # <<<<<<<<<<<<<<
 * 	EstimatedRange = estimatedRange
 * 	EstimatedSamples = estimatedSamples
 */
  __pyx_t_9 = __Pyx_PyInt_From_enum__NetworKit_3a__3a_DiameterAlgo(NetworKit::exact); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_Exact, __pyx_t_9) < 0) __PYX_ERR(0, 7207, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "networkit/_NetworKit.pyx":7208
 * 	Automatic = automatic
 * 	Exact = exact
 * 	EstimatedRange = estimatedRange             # <<<<<<<<<<<<<<
 * 	EstimatedSamples = estimatedSamples
 * 	EstimatedPedantic = estimatedPedantic
 */
  __pyx_t_9 = __Pyx_PyInt_From_enum__NetworKit_3a__3a_DiameterAlgo(NetworKit::estimatedRange); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7208, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_EstimatedRange, __pyx_t_9) < 0) __PYX_ERR(0, 7208, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "networkit/_NetworKit.pyx":7209
 * 	Exact = exact
 * 	EstimatedRange = estimatedRange
 * 	EstimatedSamples = estimatedSamples             # <<<<<<<<<<<<<<
 * 	EstimatedPedantic = estimatedPedantic
 * 
 */
  __pyx_t_9 = __Pyx_PyInt_From_enum__NetworKit_3a__3a_DiameterAlgo(NetworKit::estimatedSamples); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_EstimatedSamples, __pyx_t_9) < 0) __PYX_ERR(0, 7209, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "networkit/_NetworKit.pyx":7210
 * 	EstimatedRange = estimatedRange
 * 	EstimatedSamples = estimatedSamples
 * 	EstimatedPedantic = estimatedPedantic             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/distance/Diameter.hpp>" namespace "NetworKit::Diameter":
 */
  __pyx_t_9 = __Pyx_PyInt_From_enum__NetworKit_3a__3a_DiameterAlgo(NetworKit::estimatedPedantic); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_EstimatedPedantic, __pyx_t_9) < 0) __PYX_ERR(0, 7210, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "networkit/_NetworKit.pyx":7205
 * 		estimatedPedantic = 4
 * 
 * class _DiameterAlgo(object):             # <<<<<<<<<<<<<<
 * 	Automatic = automatic
 * 	Exact = exact
 */
  __pyx_t_9 = __Pyx_Py3ClassCreate(__pyx_t_7, __pyx_n_s_DiameterAlgo, __pyx_tuple__598, __pyx_t_2, NULL, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 7205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_DiameterAlgo, __pyx_t_9) < 0) __PYX_ERR(0, 7205, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "networkit/_NetworKit.pyx":7223
 * 	TODO: docstring
 * 	"""
 * 	def __cinit__(self, Graph G not None, algo = _DiameterAlgo.Automatic, error = -1., nSamples = 0):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _Diameter(G._this, algo, error, nSamples)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_DiameterAlgo); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_Automatic); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_k__251 = __pyx_t_2;
  __Pyx_GIVEREF(__pyx_t_2);
  __pyx_t_2 = 0;

  /* "networkit/_NetworKit.pyx":7241
 * 
 * 	@staticmethod
 * 	def getValue(Graph G, v):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Returns
 */
  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_12Eccentricity_1getValue, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Eccentricity->tp_dict, __pyx_n_s_getValue, __pyx_t_2) < 0) __PYX_ERR(0, 7241, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_Eccentricity);

  /* "networkit/_NetworKit.pyx":7240
 * 	"""
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def getValue(Graph G, v):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_Eccentricity, __pyx_n_s_getValue); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Eccentricity->tp_dict, __pyx_n_s_getValue, __pyx_t_7) < 0) __PYX_ERR(0, 7241, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_Eccentricity);

  /* "networkit/_NetworKit.pyx":7477
 * 	cdef Graph _G
 * 
 * 	RANDOM = 0             # <<<<<<<<<<<<<<
 * 	SPLIT = 1
 * 
 */
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic->tp_dict, __pyx_n_s_RANDOM, __pyx_int_0) < 0) __PYX_ERR(0, 7477, __pyx_L1_error)
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic);

  /* "networkit/_NetworKit.pyx":7478
 * 
 * 	RANDOM = 0
 * 	SPLIT = 1             # <<<<<<<<<<<<<<
 * 
 * 	def __cinit__(self, Graph G not None, count nSamples=0, strategy=SPLIT):
 */
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic->tp_dict, __pyx_n_s_SPLIT, __pyx_int_1) < 0) __PYX_ERR(0, 7478, __pyx_L1_error)
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic);

  /* "networkit/_NetworKit.pyx":7480
 * 	SPLIT = 1
 * 
 * 	def __cinit__(self, Graph G not None, count nSamples=0, strategy=SPLIT):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _NeighborhoodFunctionHeuristic(G._this, nSamples, strategy)
 */
  __Pyx_GetNameInClass(__pyx_t_7, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_NeighborhoodFunctionHeuristic, __pyx_n_s_SPLIT); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7480, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_k__264 = __pyx_t_7;
  __Pyx_GIVEREF(__pyx_t_7);
  __pyx_t_7 = 0;

  /* "networkit/_NetworKit.pyx":8160
 * 		generalized = 1
 * 
 * class _ClosenessVariant(object):             # <<<<<<<<<<<<<<
 * 	Standard = standard
 * 	Generalized = generalized
 */
  __pyx_t_7 = __Pyx_CalculateMetaclass(NULL, __pyx_tuple__601); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 8160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_7, __pyx_tuple__601, __pyx_n_s_ClosenessVariant, __pyx_n_s_ClosenessVariant, (PyObject *) NULL, __pyx_n_s_networkit__NetworKit, (PyObject *) NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "networkit/_NetworKit.pyx":8161
 * 
 * class _ClosenessVariant(object):
 * 	Standard = standard             # <<<<<<<<<<<<<<
 * 	Generalized = generalized
 * 
 */
  __pyx_t_9 = __Pyx_PyInt_From_enum__NetworKit_3a__3a_ClosenessVariant(NetworKit::standard); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_Standard, __pyx_t_9) < 0) __PYX_ERR(0, 8161, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "networkit/_NetworKit.pyx":8162
 * class _ClosenessVariant(object):
 * 	Standard = standard
 * 	Generalized = generalized             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "<networkit/centrality/Closeness.hpp>":
 */
  __pyx_t_9 = __Pyx_PyInt_From_enum__NetworKit_3a__3a_ClosenessVariant(NetworKit::generalized); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_Generalized, __pyx_t_9) < 0) __PYX_ERR(0, 8162, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "networkit/_NetworKit.pyx":8160
 * 		generalized = 1
 * 
 * class _ClosenessVariant(object):             # <<<<<<<<<<<<<<
 * 	Standard = standard
 * 	Generalized = generalized
 */
  __pyx_t_9 = __Pyx_Py3ClassCreate(__pyx_t_7, __pyx_n_s_ClosenessVariant, __pyx_tuple__601, __pyx_t_2, NULL, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_ClosenessVariant, __pyx_t_9) < 0) __PYX_ERR(0, 8160, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "networkit/_NetworKit.pyx":8700
 * 
 * 	#cdef _ApproxCloseness _this
 * 	INBOUND = 0             # <<<<<<<<<<<<<<
 * 	OUTBOUND = 1
 * 	SUM = 2
 */
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_ApproxCloseness->tp_dict, __pyx_n_s_INBOUND, __pyx_int_0) < 0) __PYX_ERR(0, 8700, __pyx_L1_error)
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_ApproxCloseness);

  /* "networkit/_NetworKit.pyx":8701
 * 	#cdef _ApproxCloseness _this
 * 	INBOUND = 0
 * 	OUTBOUND = 1             # <<<<<<<<<<<<<<
 * 	SUM = 2
 * 
 */
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_ApproxCloseness->tp_dict, __pyx_n_s_OUTBOUND, __pyx_int_1) < 0) __PYX_ERR(0, 8701, __pyx_L1_error)
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_ApproxCloseness);

  /* "networkit/_NetworKit.pyx":8702
 * 	INBOUND = 0
 * 	OUTBOUND = 1
 * 	SUM = 2             # <<<<<<<<<<<<<<
 * 
 * 	def __cinit__(self, Graph G, nSamples, epsilon=0.1, normalized=False, _ClosenessType type=OUTBOUND):
 */
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_ApproxCloseness->tp_dict, __pyx_n_s_SUM, __pyx_int_2) < 0) __PYX_ERR(0, 8702, __pyx_L1_error)
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_ApproxCloseness);

  /* "networkit/_NetworKit.pyx":8704
 * 	SUM = 2
 * 
 * 	def __cinit__(self, Graph G, nSamples, epsilon=0.1, normalized=False, _ClosenessType type=OUTBOUND):             # <<<<<<<<<<<<<<
 * 		self._G = G
 * 		self._this = new _ApproxCloseness(G._this, nSamples, epsilon, normalized, type)
 */
  __Pyx_GetNameInClass(__pyx_t_7, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_ApproxCloseness, __pyx_n_s_OUTBOUND); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 8704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_14 = ((enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)__Pyx_PyInt_As_enum__NetworKit_3a__3a_ApproxCloseness_3a__3a_CLOSENESS_TYPE(__pyx_t_7)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 8704, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_k__310 = __pyx_t_14;

  /* "networkit/_NetworKit.pyx":9301
 * cdef class GraphEvent:
 * 	cdef _GraphEvent _this
 * 	NODE_ADDITION = 0             # <<<<<<<<<<<<<<
 * 	NODE_REMOVAL = 1
 * 	NODE_RESTORATION = 2
 */
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphEvent->tp_dict, __pyx_n_s_NODE_ADDITION, __pyx_int_0) < 0) __PYX_ERR(0, 9301, __pyx_L1_error)
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphEvent);

  /* "networkit/_NetworKit.pyx":9302
 * 	cdef _GraphEvent _this
 * 	NODE_ADDITION = 0
 * 	NODE_REMOVAL = 1             # <<<<<<<<<<<<<<
 * 	NODE_RESTORATION = 2
 * 	EDGE_ADDITION = 3
 */
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphEvent->tp_dict, __pyx_n_s_NODE_REMOVAL, __pyx_int_1) < 0) __PYX_ERR(0, 9302, __pyx_L1_error)
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphEvent);

  /* "networkit/_NetworKit.pyx":9303
 * 	NODE_ADDITION = 0
 * 	NODE_REMOVAL = 1
 * 	NODE_RESTORATION = 2             # <<<<<<<<<<<<<<
 * 	EDGE_ADDITION = 3
 * 	EDGE_REMOVAL = 4
 */
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphEvent->tp_dict, __pyx_n_s_NODE_RESTORATION, __pyx_int_2) < 0) __PYX_ERR(0, 9303, __pyx_L1_error)
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphEvent);

  /* "networkit/_NetworKit.pyx":9304
 * 	NODE_REMOVAL = 1
 * 	NODE_RESTORATION = 2
 * 	EDGE_ADDITION = 3             # <<<<<<<<<<<<<<
 * 	EDGE_REMOVAL = 4
 * 	EDGE_WEIGHT_UPDATE = 5
 */
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphEvent->tp_dict, __pyx_n_s_EDGE_ADDITION, __pyx_int_3) < 0) __PYX_ERR(0, 9304, __pyx_L1_error)
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphEvent);

  /* "networkit/_NetworKit.pyx":9305
 * 	NODE_RESTORATION = 2
 * 	EDGE_ADDITION = 3
 * 	EDGE_REMOVAL = 4             # <<<<<<<<<<<<<<
 * 	EDGE_WEIGHT_UPDATE = 5
 * 	EDGE_WEIGHT_INCREMENT = 6
 */
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphEvent->tp_dict, __pyx_n_s_EDGE_REMOVAL, __pyx_int_4) < 0) __PYX_ERR(0, 9305, __pyx_L1_error)
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphEvent);

  /* "networkit/_NetworKit.pyx":9306
 * 	EDGE_ADDITION = 3
 * 	EDGE_REMOVAL = 4
 * 	EDGE_WEIGHT_UPDATE = 5             # <<<<<<<<<<<<<<
 * 	EDGE_WEIGHT_INCREMENT = 6
 * 	TIME_STEP = 7
 */
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphEvent->tp_dict, __pyx_n_s_EDGE_WEIGHT_UPDATE, __pyx_int_5) < 0) __PYX_ERR(0, 9306, __pyx_L1_error)
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphEvent);

  /* "networkit/_NetworKit.pyx":9307
 * 	EDGE_REMOVAL = 4
 * 	EDGE_WEIGHT_UPDATE = 5
 * 	EDGE_WEIGHT_INCREMENT = 6             # <<<<<<<<<<<<<<
 * 	TIME_STEP = 7
 * 
 */
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphEvent->tp_dict, __pyx_n_s_EDGE_WEIGHT_INCREMENT, __pyx_int_6) < 0) __PYX_ERR(0, 9307, __pyx_L1_error)
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphEvent);

  /* "networkit/_NetworKit.pyx":9308
 * 	EDGE_WEIGHT_UPDATE = 5
 * 	EDGE_WEIGHT_INCREMENT = 6
 * 	TIME_STEP = 7             # <<<<<<<<<<<<<<
 * 
 * 	property type:
 */
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_GraphEvent->tp_dict, __pyx_n_s_TIME_STEP, __pyx_int_7) < 0) __PYX_ERR(0, 9308, __pyx_L1_error)
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_GraphEvent);

  /* "networkit/_NetworKit.pyx":10101
 * 
 * 	@staticmethod
 * 	def volume(Graph G, r, count samples=500):             # <<<<<<<<<<<<<<
 * 		"""
 * 		Number of nodes within a given radius (or radii); average for many nodes
 */
  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_6Volume_1volume, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Volume->tp_dict, __pyx_n_s_volume, __pyx_t_7) < 0) __PYX_ERR(0, 10101, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_Volume);

  /* "networkit/_NetworKit.pyx":10100
 * cdef class Volume:
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def volume(Graph G, r, count samples=500):
 * 		"""
 */
  __Pyx_GetNameInClass(__pyx_t_7, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_Volume, __pyx_n_s_volume); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_Volume->tp_dict, __pyx_n_s_volume, __pyx_t_2) < 0) __PYX_ERR(0, 10101, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_Volume);

  /* "networkit/_NetworKit.pyx":10596
 * 
 * 	@staticmethod
 * 	def byPercentage(Graph G, double percentage):             # <<<<<<<<<<<<<<
 * 		""" Returns a graph that contains percentage percent of links form the given graph G.
 * 
 */
  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_17RandomLinkSampler_1byPercentage, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_RandomLinkSampler->tp_dict, __pyx_n_s_byPercentage, __pyx_t_2) < 0) __PYX_ERR(0, 10596, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_RandomLinkSampler);

  /* "networkit/_NetworKit.pyx":10595
 * 	""" Provides methods to randomly sample a number of edges from a given graph. """
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def byPercentage(Graph G, double percentage):
 * 		""" Returns a graph that contains percentage percent of links form the given graph G.
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_RandomLinkSampler, __pyx_n_s_byPercentage); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10595, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_RandomLinkSampler->tp_dict, __pyx_n_s_byPercentage, __pyx_t_7) < 0) __PYX_ERR(0, 10596, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_RandomLinkSampler);

  /* "networkit/_NetworKit.pyx":10616
 * 
 * 	@staticmethod
 * 	def byCount(Graph G, count numLinks):             # <<<<<<<<<<<<<<
 * 		""" Returns a graph that contains numLinks links from the given graph G.
 * 
 */
  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_17RandomLinkSampler_3byCount, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_RandomLinkSampler->tp_dict, __pyx_n_s_byCount, __pyx_t_7) < 0) __PYX_ERR(0, 10616, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_RandomLinkSampler);

  /* "networkit/_NetworKit.pyx":10615
 * 		return Graph().setThis(byPercentage(G._this, percentage))
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def byCount(Graph G, count numLinks):
 * 		""" Returns a graph that contains numLinks links from the given graph G.
 */
  __Pyx_GetNameInClass(__pyx_t_7, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_RandomLinkSampler, __pyx_n_s_byCount); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_RandomLinkSampler->tp_dict, __pyx_n_s_byCount, __pyx_t_2) < 0) __PYX_ERR(0, 10616, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_RandomLinkSampler);

  /* "networkit/_NetworKit.pyx":10701
 * 		return self._this.getCurve(predictions, numThresholds)
 * 
 * 	def getAreaUnderCurve(self, pair[vector[double], vector[double]] curve = pair[vector[double], vector[double]]()):             # <<<<<<<<<<<<<<
 * 		""" Returns the area under the most recently calculated or optionally the given curve by using the trapezoidal rule.
 * 
 */
  try {
    __pyx_t_15 = std::pair<std::vector<double> ,std::vector<double> > ();
  } catch(...) {
    __Pyx_CppExn2PyErr();
    __PYX_ERR(0, 10701, __pyx_L1_error)
  }
  __pyx_k__398 = __pyx_t_15;

  /* "networkit/_NetworKit.pyx":10882
 * 
 * 	@staticmethod
 * 	def getNeighborsUnion(Graph G, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns the union of the neighboorhoods of u and v.
 * 
 */
  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_19NeighborhoodUtility_1getNeighborsUnion, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_NeighborhoodUtility->tp_dict, __pyx_n_s_getNeighborsUnion, __pyx_t_2) < 0) __PYX_ERR(0, 10882, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_NeighborhoodUtility);

  /* "networkit/_NetworKit.pyx":10881
 * 	""" Provides basic operations on neighborhoods in a given graph. """
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def getNeighborsUnion(Graph G, node u, node v):
 * 		""" Returns the union of the neighboorhoods of u and v.
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_NeighborhoodUtility, __pyx_n_s_getNeighborsUnion); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_NeighborhoodUtility->tp_dict, __pyx_n_s_getNeighborsUnion, __pyx_t_7) < 0) __PYX_ERR(0, 10882, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_NeighborhoodUtility);

  /* "networkit/_NetworKit.pyx":10901
 * 
 * 	@staticmethod
 * 	def getCommonNeighbors(Graph G, node u, node v):             # <<<<<<<<<<<<<<
 * 		""" Returns a vector containing the node-ids of all common neighbors of u and v.
 * 
 */
  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_19NeighborhoodUtility_3getCommonNeighbors, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_NeighborhoodUtility->tp_dict, __pyx_n_s_getCommonNeighbors, __pyx_t_7) < 0) __PYX_ERR(0, 10901, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_NeighborhoodUtility);

  /* "networkit/_NetworKit.pyx":10900
 * 		return getNeighborsUnion(G._this, u, v)
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def getCommonNeighbors(Graph G, node u, node v):
 * 		""" Returns a vector containing the node-ids of all common neighbors of u and v.
 */
  __Pyx_GetNameInClass(__pyx_t_7, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_NeighborhoodUtility, __pyx_n_s_getCommonNeighbors); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10900, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_NeighborhoodUtility->tp_dict, __pyx_n_s_getCommonNeighbors, __pyx_t_2) < 0) __PYX_ERR(0, 10901, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_NeighborhoodUtility);

  /* "networkit/_NetworKit.pyx":10933
 * 
 * 	@staticmethod
 * 	def byScore(vector[pair[pair[node, node], double]] predictions, double minScore):             # <<<<<<<<<<<<<<
 * 		""" Returns the node-pairs whose scores are at least equal to the given minScore.
 * 
 */
  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_15LinkThresholder_1byScore, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_LinkThresholder->tp_dict, __pyx_n_s_byScore, __pyx_t_2) < 0) __PYX_ERR(0, 10933, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_LinkThresholder);

  /* "networkit/_NetworKit.pyx":10932
 * 	"""
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def byScore(vector[pair[pair[node, node], double]] predictions, double minScore):
 * 		""" Returns the node-pairs whose scores are at least equal to the given minScore.
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_LinkThresholder, __pyx_n_s_byScore); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_LinkThresholder->tp_dict, __pyx_n_s_byScore, __pyx_t_7) < 0) __PYX_ERR(0, 10933, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_LinkThresholder);

  /* "networkit/_NetworKit.pyx":10950
 * 
 * 	@staticmethod
 * 	def byCount(vector[pair[pair[node, node], double]] predictions, count numLinks):             # <<<<<<<<<<<<<<
 * 		""" Returns the first numLinks highest scored node-pairs.
 * 
 */
  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_15LinkThresholder_3byCount, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10950, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_LinkThresholder->tp_dict, __pyx_n_s_byCount, __pyx_t_7) < 0) __PYX_ERR(0, 10950, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_LinkThresholder);

  /* "networkit/_NetworKit.pyx":10949
 * 		return byScore(predictions, minScore)
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def byCount(vector[pair[pair[node, node], double]] predictions, count numLinks):
 * 		""" Returns the first numLinks highest scored node-pairs.
 */
  __Pyx_GetNameInClass(__pyx_t_7, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_LinkThresholder, __pyx_n_s_byCount); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10950, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_LinkThresholder->tp_dict, __pyx_n_s_byCount, __pyx_t_2) < 0) __PYX_ERR(0, 10950, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_LinkThresholder);

  /* "networkit/_NetworKit.pyx":10967
 * 
 * 	@staticmethod
 * 	def byPercentage(vector[pair[pair[node, node], double]] predictions, double percentageLinks):             # <<<<<<<<<<<<<<
 * 		""" Returns the first percentageLinks percent of the highest scores node-pairs.
 * 
 */
  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_15LinkThresholder_5byPercentage, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10967, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_LinkThresholder->tp_dict, __pyx_n_s_byPercentage, __pyx_t_2) < 0) __PYX_ERR(0, 10967, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_LinkThresholder);

  /* "networkit/_NetworKit.pyx":10966
 * 		return byCount(predictions, numLinks)
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def byPercentage(vector[pair[pair[node, node], double]] predictions, double percentageLinks):
 * 		""" Returns the first percentageLinks percent of the highest scores node-pairs.
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_LinkThresholder, __pyx_n_s_byPercentage); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10967, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10966, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_LinkThresholder->tp_dict, __pyx_n_s_byPercentage, __pyx_t_7) < 0) __PYX_ERR(0, 10967, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_LinkThresholder);

  /* "networkit/_NetworKit.pyx":10992
 * 
 * 	@staticmethod
 * 	def sortByScore(list predictions):             # <<<<<<<<<<<<<<
 * 		""" Sorts the given predictions descendingly by score.
 * 
 */
  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_17PredictionsSorter_1sortByScore, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10992, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_PredictionsSorter->tp_dict, __pyx_n_s_sortByScore, __pyx_t_7) < 0) __PYX_ERR(0, 10992, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_PredictionsSorter);

  /* "networkit/_NetworKit.pyx":10991
 * 	""" Allows the sorting of predictions by score or node-pair. """
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def sortByScore(list predictions):
 * 		""" Sorts the given predictions descendingly by score.
 */
  __Pyx_GetNameInClass(__pyx_t_7, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_PredictionsSorter, __pyx_n_s_sortByScore); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10992, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_PredictionsSorter->tp_dict, __pyx_n_s_sortByScore, __pyx_t_2) < 0) __PYX_ERR(0, 10992, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_PredictionsSorter);

  /* "networkit/_NetworKit.pyx":11008
 * 
 * 	@staticmethod
 * 	def sortByNodePair(list predictions):             # <<<<<<<<<<<<<<
 * 		""" Sorts the predictions ascendingly by node-pair.
 * 
 */
  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_17PredictionsSorter_3sortByNodePair, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_PredictionsSorter->tp_dict, __pyx_n_s_sortByNodePair, __pyx_t_2) < 0) __PYX_ERR(0, 11008, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_PredictionsSorter);

  /* "networkit/_NetworKit.pyx":11007
 * 		predictions[:] = predCopy
 * 
 * 	@staticmethod             # <<<<<<<<<<<<<<
 * 	def sortByNodePair(list predictions):
 * 		""" Sorts the predictions ascendingly by node-pair.
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_PredictionsSorter, __pyx_n_s_sortByNodePair); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_staticmethod, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 11007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_PredictionsSorter->tp_dict, __pyx_n_s_sortByNodePair, __pyx_t_7) < 0) __PYX_ERR(0, 11008, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_PredictionsSorter);

  /* "networkit/_NetworKit.pyx":11930
 * # profiling
 * 
 * def ranked(sample):             # <<<<<<<<<<<<<<
 * 	"""
 * 		Given a list of numbers, this function computes the rank of each value
 */
  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_21ranked, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 11930, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_ranked, __pyx_t_7) < 0) __PYX_ERR(0, 11930, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "networkit/_NetworKit.pyx":11961
 * 	return result
 * 
 * def sort2(sample):             # <<<<<<<<<<<<<<
 * 	"""
 * 		Sorts a given list of numbers.
 */
  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_23sort2, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 11961, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_sort2, __pyx_t_7) < 0) __PYX_ERR(0, 11961, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "networkit/_NetworKit.pyx":12035
 * # stats
 * 
 * def gini(values):             # <<<<<<<<<<<<<<
 * 	"""
 * 	Computes the Gini coefficient for the distribution given as a list of values.
 */
  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_25gini, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_gini, __pyx_t_7) < 0) __PYX_ERR(0, 12035, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "networkit/_NetworKit.pyx":12073
 * 	"""
 * 	cdef Graph G
 * 	def __cinit__(self, Graph G, count tMax, double transP=0.5, count eTime=2, count iTime=7, node zero=none):             # <<<<<<<<<<<<<<
 * 		self.G = G
 * 		self._this = new _EpidemicSimulationSEIR(G._this, tMax, transP, eTime, iTime, zero)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_none); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12073, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_10 = __Pyx_PyInt_As_uint64_t(__pyx_t_7); if (unlikely((__pyx_t_10 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 12073, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_k__469 = __pyx_t_10;

  /* "networkit/_NetworKit.pyx":12252
 * 	"""
 * 
 * 	LAMG = 0             # <<<<<<<<<<<<<<
 * 	CONJUGATE_GRADIENT_IDENTITY_PRECONDITIONER = 1
 * 	CONJUGATE_GRADIENT_DIAGONAL_PRECONDITIONER = 2
 */
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_MaxentStress->tp_dict, __pyx_n_s_LAMG, __pyx_int_0) < 0) __PYX_ERR(0, 12252, __pyx_L1_error)
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_MaxentStress);

  /* "networkit/_NetworKit.pyx":12253
 * 
 * 	LAMG = 0
 * 	CONJUGATE_GRADIENT_IDENTITY_PRECONDITIONER = 1             # <<<<<<<<<<<<<<
 * 	CONJUGATE_GRADIENT_DIAGONAL_PRECONDITIONER = 2
 * 	EDGE_WEIGHT = 0
 */
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_MaxentStress->tp_dict, __pyx_n_s_CONJUGATE_GRADIENT_IDENTITY_PREC, __pyx_int_1) < 0) __PYX_ERR(0, 12253, __pyx_L1_error)
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_MaxentStress);

  /* "networkit/_NetworKit.pyx":12254
 * 	LAMG = 0
 * 	CONJUGATE_GRADIENT_IDENTITY_PRECONDITIONER = 1
 * 	CONJUGATE_GRADIENT_DIAGONAL_PRECONDITIONER = 2             # <<<<<<<<<<<<<<
 * 	EDGE_WEIGHT = 0
 * 	ALGEBRAIC_DISTANCE = 1
 */
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_MaxentStress->tp_dict, __pyx_n_s_CONJUGATE_GRADIENT_DIAGONAL_PREC, __pyx_int_2) < 0) __PYX_ERR(0, 12254, __pyx_L1_error)
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_MaxentStress);

  /* "networkit/_NetworKit.pyx":12255
 * 	CONJUGATE_GRADIENT_IDENTITY_PRECONDITIONER = 1
 * 	CONJUGATE_GRADIENT_DIAGONAL_PRECONDITIONER = 2
 * 	EDGE_WEIGHT = 0             # <<<<<<<<<<<<<<
 * 	ALGEBRAIC_DISTANCE = 1
 * 
 */
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_MaxentStress->tp_dict, __pyx_n_s_EDGE_WEIGHT, __pyx_int_0) < 0) __PYX_ERR(0, 12255, __pyx_L1_error)
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_MaxentStress);

  /* "networkit/_NetworKit.pyx":12256
 * 	CONJUGATE_GRADIENT_DIAGONAL_PRECONDITIONER = 2
 * 	EDGE_WEIGHT = 0
 * 	ALGEBRAIC_DISTANCE = 1             # <<<<<<<<<<<<<<
 * 
 * 	def __cinit__(self, Graph G, count dim, count k, vector[pair[double, double]] coordinates = [], double tolerance = 1e-5, _LinearSolverType linearSolverType = LAMG, bool_t fastComputation = False, _GraphDistance graphDistance = EDGE_WEIGHT):
 */
  if (PyDict_SetItem((PyObject *)__pyx_ptype_9networkit_10_NetworKit_MaxentStress->tp_dict, __pyx_n_s_ALGEBRAIC_DISTANCE, __pyx_int_1) < 0) __PYX_ERR(0, 12256, __pyx_L1_error)
  PyType_Modified(__pyx_ptype_9networkit_10_NetworKit_MaxentStress);

  /* "networkit/_NetworKit.pyx":12258
 * 	ALGEBRAIC_DISTANCE = 1
 * 
 * 	def __cinit__(self, Graph G, count dim, count k, vector[pair[double, double]] coordinates = [], double tolerance = 1e-5, _LinearSolverType linearSolverType = LAMG, bool_t fastComputation = False, _GraphDistance graphDistance = EDGE_WEIGHT):             # <<<<<<<<<<<<<<
 * 		cdef Point[double] p = Point[double](0, 0)
 * 		cdef vector[Point[double]] pointCoordinates = vector[Point[double]]()
 */
  __pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12258, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_16 = __pyx_convert_vector_from_py_std_3a__3a_pair_3c_double_2c_double_3e___(__pyx_t_7); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 12258, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_k__477 = __pyx_t_16;
  __Pyx_GetNameInClass(__pyx_t_7, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_MaxentStress, __pyx_n_s_LAMG); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12258, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_17 = ((enum NetworKit::MaxentStress::LinearSolverType)__Pyx_PyInt_As_enum__NetworKit_3a__3a_MaxentStress_3a__3a_LinearSolverType(__pyx_t_7)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 12258, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_k__478 = __pyx_t_17;
  __Pyx_GetNameInClass(__pyx_t_7, (PyObject *)__pyx_ptype_9networkit_10_NetworKit_MaxentStress, __pyx_n_s_EDGE_WEIGHT); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12258, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_18 = ((enum NetworKit::MaxentStress::GraphDistance)__Pyx_PyInt_As_enum__NetworKit_3a__3a_MaxentStress_3a__3a_GraphDistance(__pyx_t_7)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 12258, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_k__479 = __pyx_t_18;

  /* "(tree fragment)":1
 * def __pyx_unpickle_GraphClusteringTools(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */
  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_27__pyx_unpickle_GraphClusteringTools, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_GraphClusteringTo, __pyx_t_7) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "(tree fragment)":11
 *         __pyx_unpickle_GraphClusteringTools__set_state(<GraphClusteringTools> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_GraphClusteringTools__set_state(GraphClusteringTools __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_29__pyx_unpickle_Traversal, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Traversal, __pyx_t_7) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_GraphTools(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */
  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_31__pyx_unpickle_GraphTools, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_GraphTools, __pyx_t_7) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "(tree fragment)":11
 *         __pyx_unpickle_GraphTools__set_state(<GraphTools> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_GraphTools__set_state(GraphTools __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_33__pyx_unpickle_DissimilarityMeasure, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_DissimilarityMeas, __pyx_t_7) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_ClusteringCoefficient(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */
  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_35__pyx_unpickle_ClusteringCoefficient, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_ClusteringCoeffic, __pyx_t_7) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "(tree fragment)":11
 *         __pyx_unpickle_ClusteringCoefficient__set_state(<ClusteringCoefficient> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_ClusteringCoefficient__set_state(ClusteringCoefficient __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_37__pyx_unpickle_Eccentricity, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Eccentricity, __pyx_t_7) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_Volume(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */
  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_39__pyx_unpickle_Volume, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Volume, __pyx_t_7) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "(tree fragment)":11
 *         __pyx_unpickle_Volume__set_state(<Volume> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Volume__set_state(Volume __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_41__pyx_unpickle_RandomLinkSampler, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_RandomLinkSampler, __pyx_t_7) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_NeighborhoodUtility(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */
  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_43__pyx_unpickle_NeighborhoodUtility, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_NeighborhoodUtili, __pyx_t_7) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "(tree fragment)":11
 *         __pyx_unpickle_NeighborhoodUtility__set_state(<NeighborhoodUtility> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_NeighborhoodUtility__set_state(NeighborhoodUtility __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[0])
 */
  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_45__pyx_unpickle_LinkThresholder, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_LinkThresholder, __pyx_t_7) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_PredictionsSorter(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */
  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_9networkit_10_NetworKit_47__pyx_unpickle_PredictionsSorter, NULL, __pyx_n_s_networkit__NetworKit); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_PredictionsSorter, __pyx_t_7) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "networkit/_NetworKit.pyx":2
 * 
 * # cython: language_level=3             # <<<<<<<<<<<<<<
 * 
 * #includes
 */
  __pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_7) < 0) __PYX_ERR(0, 2, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "vector.to_py":60
 * 
 * @cname("__pyx_convert_vector_to_py_std_3a__3a_pair_3c_double_2c_double_3e___")
 * cdef object __pyx_convert_vector_to_py_std_3a__3a_pair_3c_double_2c_double_3e___(vector[X]& v):             # <<<<<<<<<<<<<<
 *     return [v[i] for i in range(v.size())]
 * 
 */

  /*--- Wrapped vars code ---*/

  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_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  if (__pyx_m) {
    if (__pyx_d) {
      __Pyx_AddTraceback("init networkit._NetworKit", __pyx_clineno, __pyx_lineno, __pyx_filename);
    }
    Py_CLEAR(__pyx_m);
  } else if (!PyErr_Occurred()) {
    PyErr_SetString(PyExc_ImportError, "init networkit._NetworKit");
  }
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  return (__pyx_m != NULL) ? 0 : -1;
  #elif PY_MAJOR_VERSION >= 3
  return __pyx_m;
  #else
  return;
  #endif
}

/* --- 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

/* PyObjectGetAttrStr */
#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);
#if PY_MAJOR_VERSION < 3
    if (likely(tp->tp_getattr))
        return tp->tp_getattr(obj, PyString_AS_STRING(attr_name));
#endif
    return PyObject_GetAttr(obj, attr_name);
}
#endif

/* GetBuiltinName */
static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
    PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name);
    if (unlikely(!result)) {
        PyErr_Format(PyExc_NameError,
#if PY_MAJOR_VERSION >= 3
            "name '%U' is not defined", name);
#else
            "name '%.200s' is not defined", PyString_AS_STRING(name));
#endif
    }
    return result;
}

/* PyCFunctionFastCall */
#if CYTHON_FAST_PYCCALL
static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) {
    PyCFunctionObject *func = (PyCFunctionObject*)func_obj;
    PyCFunction meth = PyCFunction_GET_FUNCTION(func);
    PyObject *self = PyCFunction_GET_SELF(func);
    int flags = PyCFunction_GET_FLAGS(func);
    assert(PyCFunction_Check(func));
    assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)));
    assert(nargs >= 0);
    assert(nargs == 0 || args != NULL);
    /* _PyCFunction_FastCallDict() must not be called with an exception set,
       because it may clear it (directly or indirectly) and so the
       caller loses its exception */
    assert(!PyErr_Occurred());
    if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) {
        return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL);
    } else {
        return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs);
    }
}
#endif

/* PyFunctionFastCall */
#if CYTHON_FAST_PYCALL
static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na,
                                               PyObject *globals) {
    PyFrameObject *f;
    PyThreadState *tstate = __Pyx_PyThreadState_Current;
    PyObject **fastlocals;
    Py_ssize_t i;
    PyObject *result;
    assert(globals != NULL);
    /* XXX Perhaps we should create a specialized
       PyFrame_New() that doesn't take locals, but does
       take builtins without sanity checking them.
       */
    assert(tstate != NULL);
    f = PyFrame_New(tstate, co, globals, NULL);
    if (f == NULL) {
        return NULL;
    }
    fastlocals = __Pyx_PyFrame_GetLocalsplus(f);
    for (i = 0; i < na; i++) {
        Py_INCREF(*args);
        fastlocals[i] = *args++;
    }
    result = PyEval_EvalFrameEx(f,0);
    ++tstate->recursion_depth;
    Py_DECREF(f);
    --tstate->recursion_depth;
    return result;
}
#if 1 || PY_VERSION_HEX < 0x030600B1
static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs) {
    PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func);
    PyObject *globals = PyFunction_GET_GLOBALS(func);
    PyObject *argdefs = PyFunction_GET_DEFAULTS(func);
    PyObject *closure;
#if PY_MAJOR_VERSION >= 3
    PyObject *kwdefs;
#endif
    PyObject *kwtuple, **k;
    PyObject **d;
    Py_ssize_t nd;
    Py_ssize_t nk;
    PyObject *result;
    assert(kwargs == NULL || PyDict_Check(kwargs));
    nk = kwargs ? PyDict_Size(kwargs) : 0;
    if (Py_EnterRecursiveCall((char*)" while calling a Python object")) {
        return NULL;
    }
    if (
#if PY_MAJOR_VERSION >= 3
            co->co_kwonlyargcount == 0 &&
#endif
            likely(kwargs == NULL || nk == 0) &&
            co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) {
        if (argdefs == NULL && co->co_argcount == nargs) {
            result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals);
            goto done;
        }
        else if (nargs == 0 && argdefs != NULL
                 && co->co_argcount == Py_SIZE(argdefs)) {
            /* function called with no arguments, but all parameters have
               a default value: use default values as arguments .*/
            args = &PyTuple_GET_ITEM(argdefs, 0);
            result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals);
            goto done;
        }
    }
    if (kwargs != NULL) {
        Py_ssize_t pos, i;
        kwtuple = PyTuple_New(2 * nk);
        if (kwtuple == NULL) {
            result = NULL;
            goto done;
        }
        k = &PyTuple_GET_ITEM(kwtuple, 0);
        pos = i = 0;
        while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) {
            Py_INCREF(k[i]);
            Py_INCREF(k[i+1]);
            i += 2;
        }
        nk = i / 2;
    }
    else {
        kwtuple = NULL;
        k = NULL;
    }
    closure = PyFunction_GET_CLOSURE(func);
#if PY_MAJOR_VERSION >= 3
    kwdefs = PyFunction_GET_KW_DEFAULTS(func);
#endif
    if (argdefs != NULL) {
        d = &PyTuple_GET_ITEM(argdefs, 0);
        nd = Py_SIZE(argdefs);
    }
    else {
        d = NULL;
        nd = 0;
    }
#if PY_MAJOR_VERSION >= 3
    result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL,
                               args, nargs,
                               k, (int)nk,
                               d, (int)nd, kwdefs, closure);
#else
    result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL,
                               args, nargs,
                               k, (int)nk,
                               d, (int)nd, closure);
#endif
    Py_XDECREF(kwtuple);
done:
    Py_LeaveRecursiveCall();
    return result;
}
#endif
#endif

/* PyObjectCall */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
    PyObject *result;
    ternaryfunc call = func->ob_type->tp_call;
    if (unlikely(!call))
        return PyObject_Call(func, arg, kw);
    if (unlikely(Py_EnterRecursiveCall((char*)" 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

/* PyObjectCall2Args */
static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) {
    PyObject *args, *result = NULL;
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(function)) {
        PyObject *args[2] = {arg1, arg2};
        return __Pyx_PyFunction_FastCall(function, args, 2);
    }
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(function)) {
        PyObject *args[2] = {arg1, arg2};
        return __Pyx_PyCFunction_FastCall(function, args, 2);
    }
    #endif
    args = PyTuple_New(2);
    if (unlikely(!args)) goto done;
    Py_INCREF(arg1);
    PyTuple_SET_ITEM(args, 0, arg1);
    Py_INCREF(arg2);
    PyTuple_SET_ITEM(args, 1, arg2);
    Py_INCREF(function);
    result = __Pyx_PyObject_Call(function, args, NULL);
    Py_DECREF(args);
    Py_DECREF(function);
done:
    return result;
}

/* PyObjectCallMethO */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
    PyObject *self, *result;
    PyCFunction cfunc;
    cfunc = PyCFunction_GET_FUNCTION(func);
    self = PyCFunction_GET_SELF(func);
    if (unlikely(Py_EnterRecursiveCall((char*)" 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

/* PyObjectCallOneArg */
#if CYTHON_COMPILING_IN_CPYTHON
static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {
    PyObject *result;
    PyObject *args = PyTuple_New(1);
    if (unlikely(!args)) return NULL;
    Py_INCREF(arg);
    PyTuple_SET_ITEM(args, 0, arg);
    result = __Pyx_PyObject_Call(func, args, NULL);
    Py_DECREF(args);
    return result;
}
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
#if CYTHON_FAST_PYCALL
    if (PyFunction_Check(func)) {
        return __Pyx_PyFunction_FastCall(func, &arg, 1);
    }
#endif
    if (likely(PyCFunction_Check(func))) {
        if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {
            return __Pyx_PyObject_CallMethO(func, arg);
#if CYTHON_FAST_PYCCALL
        } else if (PyCFunction_GET_FLAGS(func) & METH_FASTCALL) {
            return __Pyx_PyCFunction_FastCall(func, &arg, 1);
#endif
        }
    }
    return __Pyx__PyObject_CallOneArg(func, arg);
}
#else
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
    PyObject *result;
    PyObject *args = PyTuple_Pack(1, arg);
    if (unlikely(!args)) return NULL;
    result = __Pyx_PyObject_Call(func, args, NULL);
    Py_DECREF(args);
    return result;
}
#endif

/* KeywordStringCheck */
static int __Pyx_CheckKeywordStrings(
    PyObject *kwdict,
    const char* function_name,
    int kw_allowed)
{
    PyObject* key = 0;
    Py_ssize_t pos = 0;
#if CYTHON_COMPILING_IN_PYPY
    if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0))
        goto invalid_keyword;
    return 1;
#else
    while (PyDict_Next(kwdict, &pos, &key, 0)) {
        #if PY_MAJOR_VERSION < 3
        if (unlikely(!PyString_Check(key)))
        #endif
            if (unlikely(!PyUnicode_Check(key)))
                goto invalid_keyword_type;
    }
    if ((!kw_allowed) && unlikely(key))
        goto invalid_keyword;
    return 1;
invalid_keyword_type:
    PyErr_Format(PyExc_TypeError,
        "%.200s() keywords must be strings", function_name);
    return 0;
#endif
invalid_keyword:
    PyErr_Format(PyExc_TypeError,
    #if PY_MAJOR_VERSION < 3
        "%.200s() got an unexpected keyword argument '%.200s'",
        function_name, PyString_AsString(key));
    #else
        "%s() got an unexpected keyword argument '%U'",
        function_name, key);
    #endif
    return 0;
}

/* PyErrFetchRestore */
#if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
    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);
}
static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
    *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

/* RaiseException */
#if PY_MAJOR_VERSION < 3
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
                        CYTHON_UNUSED PyObject *cause) {
    __Pyx_PyThreadState_declare
    Py_XINCREF(type);
    if (!value || value == Py_None)
        value = NULL;
    else
        Py_INCREF(value);
    if (!tb || tb == Py_None)
        tb = NULL;
    else {
        Py_INCREF(tb);
        if (!PyTraceBack_Check(tb)) {
            PyErr_SetString(PyExc_TypeError,
                "raise: arg 3 must be a traceback or None");
            goto raise_error;
        }
    }
    if (PyType_Check(type)) {
#if CYTHON_COMPILING_IN_PYPY
        if (!value) {
            Py_INCREF(Py_None);
            value = Py_None;
        }
#endif
        PyErr_NormalizeException(&type, &value, &tb);
    } else {
        if (value) {
            PyErr_SetString(PyExc_TypeError,
                "instance exception may not have a separate value");
            goto raise_error;
        }
        value = type;
        type = (PyObject*) Py_TYPE(type);
        Py_INCREF(type);
        if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
            PyErr_SetString(PyExc_TypeError,
                "raise: exception class must be a subclass of BaseException");
            goto raise_error;
        }
    }
    __Pyx_PyThreadState_assign
    __Pyx_ErrRestore(type, value, tb);
    return;
raise_error:
    Py_XDECREF(value);
    Py_XDECREF(type);
    Py_XDECREF(tb);
    return;
}
#else
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 CYTHON_COMPILING_IN_PYPY
        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);
#else
        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);
        }
#endif
    }
bad:
    Py_XDECREF(owned_instance);
    return;
}
#endif

/* decode_c_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;
    length = stop - start;
    if (unlikely(length <= 0))
        return PyUnicode_FromUnicode(NULL, 0);
    cstring += start;
    if (decode_func) {
        return decode_func(cstring, length, errors);
    } else {
        return PyUnicode_Decode(cstring, length, encoding, errors);
    }
}

/* PyObjectCallNoArg */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
#if CYTHON_FAST_PYCALL
    if (PyFunction_Check(func)) {
        return __Pyx_PyFunction_FastCall(func, NULL, 0);
    }
#endif
#ifdef __Pyx_CyFunction_USED
    if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func)))
#else
    if (likely(PyCFunction_Check(func)))
#endif
    {
        if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) {
            return __Pyx_PyObject_CallMethO(func, NULL);
        }
    }
    return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL);
}
#endif

/* PyDictVersioning */
#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_AVOID_BORROWED_REFS
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
    result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash);
    __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
    if (likely(result)) {
        return __Pyx_NewRef(result);
    } else if (unlikely(PyErr_Occurred())) {
        return NULL;
    }
#else
    result = PyDict_GetItem(__pyx_d, name);
    __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
    if (likely(result)) {
        return __Pyx_NewRef(result);
    }
#endif
#else
    result = PyObject_GetItem(__pyx_d, name);
    __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
    if (likely(result)) {
        return __Pyx_NewRef(result);
    }
    PyErr_Clear();
#endif
    return __Pyx_GetBuiltinName(name);
}

/* Import */
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
    PyObject *empty_list = 0;
    PyObject *module = 0;
    PyObject *global_dict = 0;
    PyObject *empty_dict = 0;
    PyObject *list;
    #if PY_MAJOR_VERSION < 3
    PyObject *py_import;
    py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import);
    if (!py_import)
        goto bad;
    #endif
    if (from_list)
        list = from_list;
    else {
        empty_list = PyList_New(0);
        if (!empty_list)
            goto bad;
        list = empty_list;
    }
    global_dict = PyModule_GetDict(__pyx_m);
    if (!global_dict)
        goto bad;
    empty_dict = PyDict_New();
    if (!empty_dict)
        goto bad;
    {
        #if PY_MAJOR_VERSION >= 3
        if (level == -1) {
            if (strchr(__Pyx_MODULE_NAME, '.')) {
                module = PyImport_ImportModuleLevelObject(
                    name, global_dict, empty_dict, list, 1);
                if (!module) {
                    if (!PyErr_ExceptionMatches(PyExc_ImportError))
                        goto bad;
                    PyErr_Clear();
                }
            }
            level = 0;
        }
        #endif
        if (!module) {
            #if PY_MAJOR_VERSION < 3
            PyObject *py_level = PyInt_FromLong(level);
            if (!py_level)
                goto bad;
            module = PyObject_CallFunctionObjArgs(py_import,
                name, global_dict, empty_dict, list, py_level, (PyObject *)NULL);
            Py_DECREF(py_level);
            #else
            module = PyImport_ImportModuleLevelObject(
                name, global_dict, empty_dict, list, level);
            #endif
        }
    }
bad:
    #if PY_MAJOR_VERSION < 3
    Py_XDECREF(py_import);
    #endif
    Py_XDECREF(empty_list);
    Py_XDECREF(empty_dict);
    return module;
}

/* ImportFrom */
static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
    PyObject* value = __Pyx_PyObject_GetAttrStr(module, name);
    if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) {
        PyErr_Format(PyExc_ImportError,
        #if PY_MAJOR_VERSION < 3
            "cannot import name %.230s", PyString_AS_STRING(name));
        #else
            "cannot import name %S", name);
        #endif
    }
    return value;
}

/* 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);
}

/* RaiseDoubleKeywords */
static void __Pyx_RaiseDoubleKeywordsError(
    const char* func_name,
    PyObject* kw_name)
{
    PyErr_Format(PyExc_TypeError,
        #if PY_MAJOR_VERSION >= 3
        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
        #else
        "%s() got multiple values for keyword argument '%s'", func_name,
        PyString_AsString(kw_name));
        #endif
}

/* ParseKeywords */
static int __Pyx_ParseOptionalKeywords(
    PyObject *kwds,
    PyObject **argnames[],
    PyObject *kwds2,
    PyObject *values[],
    Py_ssize_t num_pos_args,
    const char* function_name)
{
    PyObject *key = 0, *value = 0;
    Py_ssize_t pos = 0;
    PyObject*** name;
    PyObject*** first_kw_arg = argnames + num_pos_args;
    while (PyDict_Next(kwds, &pos, &key, &value)) {
        name = first_kw_arg;
        while (*name && (**name != key)) name++;
        if (*name) {
            values[name-argnames] = value;
            continue;
        }
        name = first_kw_arg;
        #if PY_MAJOR_VERSION < 3
        if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) {
            while (*name) {
                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
                        && _PyString_Eq(**name, key)) {
                    values[name-argnames] = value;
                    break;
                }
                name++;
            }
            if (*name) continue;
            else {
                PyObject*** argname = argnames;
                while (argname != first_kw_arg) {
                    if ((**argname == key) || (
                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
                             && _PyString_Eq(**argname, key))) {
                        goto arg_passed_twice;
                    }
                    argname++;
                }
            }
        } else
        #endif
        if (likely(PyUnicode_Check(key))) {
            while (*name) {
                int cmp = (**name == key) ? 0 :
                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
                    (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                #endif
                    PyUnicode_Compare(**name, key);
                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
                if (cmp == 0) {
                    values[name-argnames] = value;
                    break;
                }
                name++;
            }
            if (*name) continue;
            else {
                PyObject*** argname = argnames;
                while (argname != first_kw_arg) {
                    int cmp = (**argname == key) ? 0 :
                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
                        (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                    #endif
                        PyUnicode_Compare(**argname, key);
                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
                    if (cmp == 0) goto arg_passed_twice;
                    argname++;
                }
            }
        } else
            goto invalid_keyword_type;
        if (kwds2) {
            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
        } else {
            goto invalid_keyword;
        }
    }
    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;
invalid_keyword:
    PyErr_Format(PyExc_TypeError,
    #if PY_MAJOR_VERSION < 3
        "%.200s() got an unexpected keyword argument '%.200s'",
        function_name, PyString_AsString(key));
    #else
        "%s() got an unexpected keyword argument '%U'",
        function_name, key);
    #endif
bad:
    return -1;
}

/* GetTopmostException */
#if CYTHON_USE_EXC_INFO_STACK
static _PyErr_StackItem *
__Pyx_PyErr_GetTopmostException(PyThreadState *tstate)
{
    _PyErr_StackItem *exc_info = tstate->exc_info;
    while ((exc_info->exc_type == NULL || exc_info->exc_type == 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
    _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);
    *type = exc_info->exc_type;
    *value = exc_info->exc_value;
    *tb = exc_info->exc_traceback;
    #else
    *type = tstate->exc_type;
    *value = tstate->exc_value;
    *tb = tstate->exc_traceback;
    #endif
    Py_XINCREF(*type);
    Py_XINCREF(*value);
    Py_XINCREF(*tb);
}
static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
    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

/* PyErrExceptionMatches */
#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);
#if PY_MAJOR_VERSION >= 3
    for (i=0; i<n; i++) {
        if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
    }
#endif
    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) {
    PyObject *exc_type = tstate->curexc_type;
    if (exc_type == err) return 1;
    if (unlikely(!exc_type)) return 0;
    if (unlikely(PyTuple_Check(err)))
        return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err);
    return __Pyx_PyErr_GivenExceptionMatches(exc_type, err);
}
#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, *local_value, *local_tb;
#if CYTHON_FAST_THREAD_STATE
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    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;
#else
    PyErr_Fetch(&local_type, &local_value, &local_tb);
#endif
    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 PY_MAJOR_VERSION >= 3
    if (local_tb) {
        if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
            goto bad;
    }
    #endif
    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;
        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;
    }
    #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);
#else
    PyErr_SetExcInfo(local_type, local_value, local_tb);
#endif
    return 0;
bad:
    *type = 0;
    *value = 0;
    *tb = 0;
    Py_XDECREF(local_type);
    Py_XDECREF(local_value);
    Py_XDECREF(local_tb);
    return -1;
}

/* 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
    _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

/* WriteUnraisableException */
static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
                                  CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename,
                                  int full_traceback, CYTHON_UNUSED int nogil) {
    PyObject *old_exc, *old_val, *old_tb;
    PyObject *ctx;
    __Pyx_PyThreadState_declare
#ifdef WITH_THREAD
    PyGILState_STATE state;
    if (nogil)
        state = PyGILState_Ensure();
#ifdef _MSC_VER
    else state = (PyGILState_STATE)-1;
#endif
#endif
    __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(1);
    }
    #if PY_MAJOR_VERSION < 3
    ctx = PyString_FromString(name);
    #else
    ctx = PyUnicode_FromString(name);
    #endif
    __Pyx_ErrRestore(old_exc, old_val, old_tb);
    if (!ctx) {
        PyErr_WriteUnraisable(Py_None);
    } else {
        PyErr_WriteUnraisable(ctx);
        Py_DECREF(ctx);
    }
#ifdef WITH_THREAD
    if (nogil)
        PyGILState_Release(state);
#endif
}

/* ArgTypeTest */
static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact)
{
    if (unlikely(!type)) {
        PyErr_SetString(PyExc_SystemError, "Missing type object");
        return 0;
    }
    else if (exact) {
        #if PY_MAJOR_VERSION == 2
        if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1;
        #endif
    }
    else {
        if (likely(__Pyx_TypeCheck(obj, type))) return 1;
    }
    PyErr_Format(PyExc_TypeError,
        "Argument '%.200s' has incorrect type (expected %.200s, got %.200s)",
        name, type->tp_name, Py_TYPE(obj)->tp_name);
    return 0;
}

/* PyIntBinop */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) {
    (void)inplace;
    (void)zerodivision_check;
    #if PY_MAJOR_VERSION < 3
    if (likely(PyInt_CheckExact(op1))) {
        const long b = intval;
        long x;
        long a = PyInt_AS_LONG(op1);
            x = (long)((unsigned long)a + b);
            if (likely((x^a) >= 0 || (x^b) >= 0))
                return PyInt_FromLong(x);
            return PyLong_Type.tp_as_number->nb_add(op1, op2);
    }
    #endif
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(PyLong_CheckExact(op1))) {
        const long b = intval;
        long a, x;
#ifdef HAVE_LONG_LONG
        const PY_LONG_LONG llb = intval;
        PY_LONG_LONG lla, llx;
#endif
        const digit* digits = ((PyLongObject*)op1)->ob_digit;
        const Py_ssize_t size = Py_SIZE(op1);
        if (likely(__Pyx_sst_abs(size) <= 1)) {
            a = likely(size) ? digits[0] : 0;
            if (size == -1) a = -a;
        } 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]));
                        break;
#ifdef HAVE_LONG_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]));
                        goto long_long;
#endif
                    }
                    CYTHON_FALLTHROUGH;
                case 2:
                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                        a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        break;
#ifdef HAVE_LONG_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]));
                        goto long_long;
#endif
                    }
                    CYTHON_FALLTHROUGH;
                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]));
                        break;
#ifdef HAVE_LONG_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]));
                        goto long_long;
#endif
                    }
                    CYTHON_FALLTHROUGH;
                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]));
                        break;
#ifdef HAVE_LONG_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]));
                        goto long_long;
#endif
                    }
                    CYTHON_FALLTHROUGH;
                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]));
                        break;
#ifdef HAVE_LONG_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]));
                        goto long_long;
#endif
                    }
                    CYTHON_FALLTHROUGH;
                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]));
                        break;
#ifdef HAVE_LONG_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]));
                        goto long_long;
#endif
                    }
                    CYTHON_FALLTHROUGH;
                default: return PyLong_Type.tp_as_number->nb_add(op1, op2);
            }
        }
                x = a + b;
            return PyLong_FromLong(x);
#ifdef HAVE_LONG_LONG
        long_long:
                llx = lla + llb;
            return PyLong_FromLongLong(llx);
#endif
        
        
    }
    #endif
    if (PyFloat_CheckExact(op1)) {
        const long b = intval;
        double a = PyFloat_AS_DOUBLE(op1);
            double result;
            PyFPE_START_PROTECT("add", return NULL)
            result = ((double)a) + (double)b;
            PyFPE_END_PROTECT(result)
            return PyFloat_FromDouble(result);
    }
    return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2);
}
#endif

/* None */
static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname) {
    PyErr_Format(PyExc_NameError, "free variable '%s' referenced before assignment in enclosing scope", varname);
}

/* FetchCommonType */
static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) {
    PyObject* fake_module;
    PyTypeObject* cached_type = NULL;
    fake_module = PyImport_AddModule((char*) "_cython_" CYTHON_ABI);
    if (!fake_module) return NULL;
    Py_INCREF(fake_module);
    cached_type = (PyTypeObject*) PyObject_GetAttrString(fake_module, type->tp_name);
    if (cached_type) {
        if (!PyType_Check((PyObject*)cached_type)) {
            PyErr_Format(PyExc_TypeError,
                "Shared Cython type %.200s is not a type object",
                type->tp_name);
            goto bad;
        }
        if (cached_type->tp_basicsize != type->tp_basicsize) {
            PyErr_Format(PyExc_TypeError,
                "Shared Cython type %.200s has the wrong size, try recompiling",
                type->tp_name);
            goto bad;
        }
    } else {
        if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad;
        PyErr_Clear();
        if (PyType_Ready(type) < 0) goto bad;
        if (PyObject_SetAttrString(fake_module, type->tp_name, (PyObject*) type) < 0)
            goto bad;
        Py_INCREF(type);
        cached_type = type;
    }
done:
    Py_DECREF(fake_module);
    return cached_type;
bad:
    Py_XDECREF(cached_type);
    cached_type = NULL;
    goto done;
}

/* CythonFunction */
#include <structmember.h>
static PyObject *
__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *closure)
{
    if (unlikely(op->func_doc == NULL)) {
        if (op->func.m_ml->ml_doc) {
#if PY_MAJOR_VERSION >= 3
            op->func_doc = PyUnicode_FromString(op->func.m_ml->ml_doc);
#else
            op->func_doc = PyString_FromString(op->func.m_ml->ml_doc);
#endif
            if (unlikely(op->func_doc == NULL))
                return NULL;
        } else {
            Py_INCREF(Py_None);
            return Py_None;
        }
    }
    Py_INCREF(op->func_doc);
    return op->func_doc;
}
static int
__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context)
{
    PyObject *tmp = op->func_doc;
    if (value == NULL) {
        value = Py_None;
    }
    Py_INCREF(value);
    op->func_doc = value;
    Py_XDECREF(tmp);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
{
    if (unlikely(op->func_name == NULL)) {
#if PY_MAJOR_VERSION >= 3
        op->func_name = PyUnicode_InternFromString(op->func.m_ml->ml_name);
#else
        op->func_name = PyString_InternFromString(op->func.m_ml->ml_name);
#endif
        if (unlikely(op->func_name == NULL))
            return NULL;
    }
    Py_INCREF(op->func_name);
    return op->func_name;
}
static int
__Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context)
{
    PyObject *tmp;
#if PY_MAJOR_VERSION >= 3
    if (unlikely(value == NULL || !PyUnicode_Check(value)))
#else
    if (unlikely(value == NULL || !PyString_Check(value)))
#endif
    {
        PyErr_SetString(PyExc_TypeError,
                        "__name__ must be set to a string object");
        return -1;
    }
    tmp = op->func_name;
    Py_INCREF(value);
    op->func_name = value;
    Py_XDECREF(tmp);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
{
    Py_INCREF(op->func_qualname);
    return op->func_qualname;
}
static int
__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context)
{
    PyObject *tmp;
#if PY_MAJOR_VERSION >= 3
    if (unlikely(value == NULL || !PyUnicode_Check(value)))
#else
    if (unlikely(value == NULL || !PyString_Check(value)))
#endif
    {
        PyErr_SetString(PyExc_TypeError,
                        "__qualname__ must be set to a string object");
        return -1;
    }
    tmp = op->func_qualname;
    Py_INCREF(value);
    op->func_qualname = value;
    Py_XDECREF(tmp);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_self(__pyx_CyFunctionObject *m, CYTHON_UNUSED void *closure)
{
    PyObject *self;
    self = m->func_closure;
    if (self == NULL)
        self = Py_None;
    Py_INCREF(self);
    return self;
}
static PyObject *
__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *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;
}
static int
__Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context)
{
    PyObject *tmp;
    if (unlikely(value == NULL)) {
        PyErr_SetString(PyExc_TypeError,
               "function's dictionary may not be deleted");
        return -1;
    }
    if (unlikely(!PyDict_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
               "setting function's dictionary to a non-dict");
        return -1;
    }
    tmp = op->func_dict;
    Py_INCREF(value);
    op->func_dict = value;
    Py_XDECREF(tmp);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
{
    Py_INCREF(op->func_globals);
    return op->func_globals;
}
static PyObject *
__Pyx_CyFunction_get_closure(CYTHON_UNUSED __pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
{
    Py_INCREF(Py_None);
    return Py_None;
}
static PyObject *
__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
{
    PyObject* result = (op->func_code) ? op->func_code : Py_None;
    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 = PySequence_ITEM(res, 0);
    if (unlikely(!op->defaults_tuple)) result = -1;
    else {
        op->defaults_kwdict = 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, CYTHON_UNUSED void *context) {
    PyObject* tmp;
    if (!value) {
        value = Py_None;
    } else if (value != Py_None && !PyTuple_Check(value)) {
        PyErr_SetString(PyExc_TypeError,
                        "__defaults__ must be set to a tuple object");
        return -1;
    }
    Py_INCREF(value);
    tmp = op->defaults_tuple;
    op->defaults_tuple = value;
    Py_XDECREF(tmp);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) {
    PyObject* result = op->defaults_tuple;
    if (unlikely(!result)) {
        if (op->defaults_getter) {
            if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL;
            result = op->defaults_tuple;
        } else {
            result = Py_None;
        }
    }
    Py_INCREF(result);
    return result;
}
static int
__Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) {
    PyObject* tmp;
    if (!value) {
        value = Py_None;
    } else if (value != Py_None && !PyDict_Check(value)) {
        PyErr_SetString(PyExc_TypeError,
                        "__kwdefaults__ must be set to a dict object");
        return -1;
    }
    Py_INCREF(value);
    tmp = op->defaults_kwdict;
    op->defaults_kwdict = value;
    Py_XDECREF(tmp);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) {
    PyObject* result = op->defaults_kwdict;
    if (unlikely(!result)) {
        if (op->defaults_getter) {
            if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL;
            result = op->defaults_kwdict;
        } else {
            result = Py_None;
        }
    }
    Py_INCREF(result);
    return result;
}
static int
__Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) {
    PyObject* tmp;
    if (!value || value == Py_None) {
        value = NULL;
    } else if (!PyDict_Check(value)) {
        PyErr_SetString(PyExc_TypeError,
                        "__annotations__ must be set to a dict object");
        return -1;
    }
    Py_XINCREF(value);
    tmp = op->func_annotations;
    op->func_annotations = value;
    Py_XDECREF(tmp);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) {
    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 PyGetSetDef __pyx_CyFunction_getsets[] = {
    {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
    {(char *) "__doc__",  (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
    {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
    {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
    {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0},
    {(char *) "__self__", (getter)__Pyx_CyFunction_get_self, 0, 0, 0},
    {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
    {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
    {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
    {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
    {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
    {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
    {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
    {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
    {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
    {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
    {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0},
    {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0},
    {0, 0, 0, 0, 0}
};
static PyMemberDef __pyx_CyFunction_members[] = {
    {(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), PY_WRITE_RESTRICTED, 0},
    {0, 0, 0,  0, 0}
};
static PyObject *
__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, CYTHON_UNUSED PyObject *args)
{
#if PY_MAJOR_VERSION >= 3
    return PyUnicode_FromString(m->func.m_ml->ml_name);
#else
    return PyString_FromString(m->func.m_ml->ml_name);
#endif
}
static PyMethodDef __pyx_CyFunction_methods[] = {
    {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0},
    {0, 0, 0, 0}
};
#if PY_VERSION_HEX < 0x030500A0
#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist)
#else
#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func.m_weakreflist)
#endif
static PyObject *__Pyx_CyFunction_New(PyTypeObject *type, PyMethodDef *ml, int flags, PyObject* qualname,
                                      PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
    __pyx_CyFunctionObject *op = PyObject_GC_New(__pyx_CyFunctionObject, type);
    if (op == NULL)
        return NULL;
    op->flags = flags;
    __Pyx_CyFunction_weakreflist(op) = NULL;
    op->func.m_ml = ml;
    op->func.m_self = (PyObject *) op;
    Py_XINCREF(closure);
    op->func_closure = closure;
    Py_XINCREF(module);
    op->func.m_module = module;
    op->func_dict = NULL;
    op->func_name = NULL;
    Py_INCREF(qualname);
    op->func_qualname = qualname;
    op->func_doc = NULL;
    op->func_classobj = NULL;
    op->func_globals = globals;
    Py_INCREF(op->func_globals);
    Py_XINCREF(code);
    op->func_code = code;
    op->defaults_pyobjects = 0;
    op->defaults = NULL;
    op->defaults_tuple = NULL;
    op->defaults_kwdict = NULL;
    op->defaults_getter = NULL;
    op->func_annotations = NULL;
    PyObject_GC_Track(op);
    return (PyObject *) op;
}
static int
__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
{
    Py_CLEAR(m->func_closure);
    Py_CLEAR(m->func.m_module);
    Py_CLEAR(m->func_dict);
    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);
    Py_CLEAR(m->func_classobj);
    Py_CLEAR(m->defaults_tuple);
    Py_CLEAR(m->defaults_kwdict);
    Py_CLEAR(m->func_annotations);
    if (m->defaults) {
        PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m);
        int i;
        for (i = 0; i < m->defaults_pyobjects; i++)
            Py_XDECREF(pydefaults[i]);
        PyObject_Free(m->defaults);
        m->defaults = NULL;
    }
    return 0;
}
static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m)
{
    if (__Pyx_CyFunction_weakreflist(m) != NULL)
        PyObject_ClearWeakRefs((PyObject *) m);
    __Pyx_CyFunction_clear(m);
    PyObject_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)
{
    Py_VISIT(m->func_closure);
    Py_VISIT(m->func.m_module);
    Py_VISIT(m->func_dict);
    Py_VISIT(m->func_name);
    Py_VISIT(m->func_qualname);
    Py_VISIT(m->func_doc);
    Py_VISIT(m->func_globals);
    Py_VISIT(m->func_code);
    Py_VISIT(m->func_classobj);
    Py_VISIT(m->defaults_tuple);
    Py_VISIT(m->defaults_kwdict);
    if (m->defaults) {
        PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m);
        int i;
        for (i = 0; i < m->defaults_pyobjects; i++)
            Py_VISIT(pydefaults[i]);
    }
    return 0;
}
static PyObject *__Pyx_CyFunction_descr_get(PyObject *func, PyObject *obj, PyObject *type)
{
    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
    if (m->flags & __Pyx_CYFUNCTION_STATICMETHOD) {
        Py_INCREF(func);
        return func;
    }
    if (m->flags & __Pyx_CYFUNCTION_CLASSMETHOD) {
        if (type == NULL)
            type = (PyObject *)(Py_TYPE(obj));
        return __Pyx_PyMethod_New(func, type, (PyObject *)(Py_TYPE(type)));
    }
    if (obj == Py_None)
        obj = NULL;
    return __Pyx_PyMethod_New(func, obj, type);
}
static PyObject*
__Pyx_CyFunction_repr(__pyx_CyFunctionObject *op)
{
#if PY_MAJOR_VERSION >= 3
    return PyUnicode_FromFormat("<cyfunction %U at %p>",
                                op->func_qualname, (void *)op);
#else
    return PyString_FromFormat("<cyfunction %s at %p>",
                               PyString_AsString(op->func_qualname), (void *)op);
#endif
}
static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) {
    PyCFunctionObject* f = (PyCFunctionObject*)func;
    PyCFunction meth = f->m_ml->ml_meth;
    Py_ssize_t size;
    switch (f->m_ml->ml_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*)meth)(self, arg, kw);
    case METH_NOARGS:
        if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
            size = PyTuple_GET_SIZE(arg);
            if (likely(size == 0))
                return (*meth)(self, NULL);
            PyErr_Format(PyExc_TypeError,
                "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
                f->m_ml->ml_name, size);
            return NULL;
        }
        break;
    case METH_O:
        if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
            size = PyTuple_GET_SIZE(arg);
            if (likely(size == 1)) {
                PyObject *result, *arg0;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                arg0 = PyTuple_GET_ITEM(arg, 0);
                #else
                arg0 = 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;
            }
            PyErr_Format(PyExc_TypeError,
                "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
                f->m_ml->ml_name, size);
            return NULL;
        }
        break;
    default:
        PyErr_SetString(PyExc_SystemError, "Bad call flags in "
                        "__Pyx_CyFunction_Call. METH_OLDARGS is no "
                        "longer supported!");
        return NULL;
    }
    PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments",
                 f->m_ml->ml_name);
    return NULL;
}
static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
    return __Pyx_CyFunction_CallMethod(func, ((PyCFunctionObject*)func)->m_self, arg, kw);
}
static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) {
    PyObject *result;
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func;
    if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) {
        Py_ssize_t argc;
        PyObject *new_args;
        PyObject *self;
        argc = PyTuple_GET_SIZE(args);
        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);
            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;
}
static PyTypeObject __pyx_CyFunctionType_type = {
    PyVarObject_HEAD_INIT(0, 0)
    "cython_function_or_method",
    sizeof(__pyx_CyFunctionObject),
    0,
    (destructor) __Pyx_CyFunction_dealloc,
    0,
    0,
    0,
#if PY_MAJOR_VERSION < 3
    0,
#else
    0,
#endif
    (reprfunc) __Pyx_CyFunction_repr,
    0,
    0,
    0,
    0,
    __Pyx_CyFunction_CallAsMethod,
    0,
    0,
    0,
    0,
    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC,
    0,
    (traverseproc) __Pyx_CyFunction_traverse,
    (inquiry) __Pyx_CyFunction_clear,
    0,
#if PY_VERSION_HEX < 0x030500A0
    offsetof(__pyx_CyFunctionObject, func_weakreflist),
#else
    offsetof(PyCFunctionObject, m_weakreflist),
#endif
    0,
    0,
    __pyx_CyFunction_methods,
    __pyx_CyFunction_members,
    __pyx_CyFunction_getsets,
    0,
    0,
    __Pyx_CyFunction_descr_get,
    0,
    offsetof(__pyx_CyFunctionObject, func_dict),
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
#if PY_VERSION_HEX >= 0x030400a1
    0,
#endif
#if PY_VERSION_HEX >= 0x030800b1
    0,
#endif
};
static int __pyx_CyFunction_init(void) {
    __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type);
    if (unlikely(__pyx_CyFunctionType == NULL)) {
        return -1;
    }
    return 0;
}
static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) {
    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
    m->defaults = PyObject_Malloc(size);
    if (unlikely(!m->defaults))
        return PyErr_NoMemory();
    memset(m->defaults, 0, size);
    m->defaults_pyobjects = pyobjects;
    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);
}

/* 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");
}

/* IterFinish */
static CYTHON_INLINE int __Pyx_IterFinish(void) {
#if CYTHON_FAST_THREAD_STATE
    PyThreadState *tstate = __Pyx_PyThreadState_Current;
    PyObject* exc_type = tstate->curexc_type;
    if (unlikely(exc_type)) {
        if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) {
            PyObject *exc_value, *exc_tb;
            exc_value = tstate->curexc_value;
            exc_tb = tstate->curexc_traceback;
            tstate->curexc_type = 0;
            tstate->curexc_value = 0;
            tstate->curexc_traceback = 0;
            Py_DECREF(exc_type);
            Py_XDECREF(exc_value);
            Py_XDECREF(exc_tb);
            return 0;
        } else {
            return -1;
        }
    }
    return 0;
#else
    if (unlikely(PyErr_Occurred())) {
        if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) {
            PyErr_Clear();
            return 0;
        } else {
            return -1;
        }
    }
    return 0;
#endif
}

/* UnpackItemEndCheck */
static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
    if (unlikely(retval)) {
        Py_DECREF(retval);
        __Pyx_RaiseTooManyValuesError(expected);
        return -1;
    } else {
        return __Pyx_IterFinish();
    }
    return 0;
}

/* PyIntBinop */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_PyInt_SubtractObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) {
    (void)inplace;
    (void)zerodivision_check;
    #if PY_MAJOR_VERSION < 3
    if (likely(PyInt_CheckExact(op1))) {
        const long b = intval;
        long x;
        long a = PyInt_AS_LONG(op1);
            x = (long)((unsigned long)a - b);
            if (likely((x^a) >= 0 || (x^~b) >= 0))
                return PyInt_FromLong(x);
            return PyLong_Type.tp_as_number->nb_subtract(op1, op2);
    }
    #endif
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(PyLong_CheckExact(op1))) {
        const long b = intval;
        long a, x;
#ifdef HAVE_LONG_LONG
        const PY_LONG_LONG llb = intval;
        PY_LONG_LONG lla, llx;
#endif
        const digit* digits = ((PyLongObject*)op1)->ob_digit;
        const Py_ssize_t size = Py_SIZE(op1);
        if (likely(__Pyx_sst_abs(size) <= 1)) {
            a = likely(size) ? digits[0] : 0;
            if (size == -1) a = -a;
        } 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]));
                        break;
#ifdef HAVE_LONG_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]));
                        goto long_long;
#endif
                    }
                    CYTHON_FALLTHROUGH;
                case 2:
                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                        a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        break;
#ifdef HAVE_LONG_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]));
                        goto long_long;
#endif
                    }
                    CYTHON_FALLTHROUGH;
                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]));
                        break;
#ifdef HAVE_LONG_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]));
                        goto long_long;
#endif
                    }
                    CYTHON_FALLTHROUGH;
                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]));
                        break;
#ifdef HAVE_LONG_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]));
                        goto long_long;
#endif
                    }
                    CYTHON_FALLTHROUGH;
                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]));
                        break;
#ifdef HAVE_LONG_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]));
                        goto long_long;
#endif
                    }
                    CYTHON_FALLTHROUGH;
                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]));
                        break;
#ifdef HAVE_LONG_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]));
                        goto long_long;
#endif
                    }
                    CYTHON_FALLTHROUGH;
                default: return PyLong_Type.tp_as_number->nb_subtract(op1, op2);
            }
        }
                x = a - b;
            return PyLong_FromLong(x);
#ifdef HAVE_LONG_LONG
        long_long:
                llx = lla - llb;
            return PyLong_FromLongLong(llx);
#endif
        
        
    }
    #endif
    if (PyFloat_CheckExact(op1)) {
        const long b = intval;
        double a = PyFloat_AS_DOUBLE(op1);
            double result;
            PyFPE_START_PROTECT("subtract", return NULL)
            result = ((double)a) - (double)b;
            PyFPE_END_PROTECT(result)
            return PyFloat_FromDouble(result);
    }
    return (inplace ? PyNumber_InPlaceSubtract : PyNumber_Subtract)(op1, op2);
}
#endif

/* DictGetItem */
#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY
static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) {
    PyObject *value;
    value = PyDict_GetItemWithError(d, key);
    if (unlikely(!value)) {
        if (!PyErr_Occurred()) {
            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 NULL;
    }
    Py_INCREF(value);
    return value;
}
#endif

/* None */
static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname) {
    PyErr_Format(PyExc_UnboundLocalError, "local variable '%s' referenced before assignment", varname);
}

/* PyNumberPow2 */
static PyObject* __Pyx__PyNumber_PowerOf2(PyObject *two, PyObject *exp, PyObject *none, int inplace) {
#if !CYTHON_COMPILING_IN_PYPY
    Py_ssize_t shiftby;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_CheckExact(exp))) {
        shiftby = PyInt_AS_LONG(exp);
    } else
#endif
    if (likely(PyLong_CheckExact(exp))) {
        #if CYTHON_USE_PYLONG_INTERNALS
        const Py_ssize_t size = Py_SIZE(exp);
        if (likely(size == 1)) {
            shiftby = ((PyLongObject*)exp)->ob_digit[0];
        } else if (size == 0) {
            return PyInt_FromLong(1L);
        } else if (unlikely(size < 0)) {
            goto fallback;
        } else {
            shiftby = PyLong_AsSsize_t(exp);
        }
        #else
        shiftby = PyLong_AsSsize_t(exp);
        #endif
    } else {
        goto fallback;
    }
    if (likely(shiftby >= 0)) {
        if ((size_t)shiftby <= sizeof(long) * 8 - 2) {
            long value = 1L << shiftby;
            return PyInt_FromLong(value);
#ifdef HAVE_LONG_LONG
        } else if ((size_t)shiftby <= sizeof(unsigned PY_LONG_LONG) * 8 - 1) {
            unsigned PY_LONG_LONG value = ((unsigned PY_LONG_LONG)1) << shiftby;
            return PyLong_FromUnsignedLongLong(value);
#endif
        } else {
            PyObject *one = PyInt_FromLong(1L);
            if (unlikely(!one)) return NULL;
            return PyNumber_Lshift(one, exp);
        }
    } else if (shiftby == -1 && PyErr_Occurred()) {
        PyErr_Clear();
    }
fallback:
#endif
    return (inplace ? PyNumber_InPlacePower : PyNumber_Power)(two, exp, none);
}

/* PyFloatBinop */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_PyFloat_SubtractCObj(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check) {
    const double a = floatval;
    double b, result;
    (void)inplace;
    (void)zerodivision_check;
    if (likely(PyFloat_CheckExact(op2))) {
        b = PyFloat_AS_DOUBLE(op2);
        
    } else
    #if PY_MAJOR_VERSION < 3
    if (likely(PyInt_CheckExact(op2))) {
        b = (double) PyInt_AS_LONG(op2);
        
    } else
    #endif
    if (likely(PyLong_CheckExact(op2))) {
        #if CYTHON_USE_PYLONG_INTERNALS
        const digit* digits = ((PyLongObject*)op2)->ob_digit;
        const Py_ssize_t size = Py_SIZE(op2);
        switch (size) {
            case  0: b = 0.0; break;
            case -1: b = -(double) digits[0]; break;
            case  1: b = (double) digits[0]; break;
            case -2:
            case 2:
                if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (1 * PyLong_SHIFT < 53))) {
                    b = (double) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    if ((8 * sizeof(unsigned long) < 53) || (2 * PyLong_SHIFT < 53) || (b < (double) ((PY_LONG_LONG)1 << 53))) {
                        if (size == -2)
                            b = -b;
                        break;
                    }
                }
                CYTHON_FALLTHROUGH;
            case -3:
            case 3:
                if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (2 * PyLong_SHIFT < 53))) {
                    b = (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) || (b < (double) ((PY_LONG_LONG)1 << 53))) {
                        if (size == -3)
                            b = -b;
                        break;
                    }
                }
                CYTHON_FALLTHROUGH;
            case -4:
            case 4:
                if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (3 * PyLong_SHIFT < 53))) {
                    b = (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) || (b < (double) ((PY_LONG_LONG)1 << 53))) {
                        if (size == -4)
                            b = -b;
                        break;
                    }
                }
                CYTHON_FALLTHROUGH;
            default:
        #else
        {
        #endif
            b = PyLong_AsDouble(op2);
            if (unlikely(b == -1.0 && PyErr_Occurred())) return NULL;
            
        }
    } else {
        return (inplace ? PyNumber_InPlaceSubtract : PyNumber_Subtract)(op1, op2);
    }
        
        PyFPE_START_PROTECT("subtract", return NULL)
        result = a - b;
        PyFPE_END_PROTECT(result)
        return PyFloat_FromDouble(result);
}
#endif

/* PyFloatBinop */
  #if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_PyFloat_AddObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check) {
    const double b = floatval;
    double a, result;
    (void)inplace;
    (void)zerodivision_check;
    if (likely(PyFloat_CheckExact(op1))) {
        a = PyFloat_AS_DOUBLE(op1);
        
    } else
    #if PY_MAJOR_VERSION < 3
    if (likely(PyInt_CheckExact(op1))) {
        a = (double) PyInt_AS_LONG(op1);
        
    } else
    #endif
    if (likely(PyLong_CheckExact(op1))) {
        #if CYTHON_USE_PYLONG_INTERNALS
        const digit* digits = ((PyLongObject*)op1)->ob_digit;
        const Py_ssize_t size = Py_SIZE(op1);
        switch (size) {
            case  0: a = 0.0; break;
            case -1: a = -(double) digits[0]; break;
            case  1: a = (double) digits[0]; break;
            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:
        #else
        {
        #endif
            a = PyLong_AsDouble(op1);
            if (unlikely(a == -1.0 && PyErr_Occurred())) return NULL;
            
        }
    } else {
        return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2);
    }
        
        PyFPE_START_PROTECT("add", return NULL)
        result = a + b;
        PyFPE_END_PROTECT(result)
        return PyFloat_FromDouble(result);
}
#endif

/* 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) {
#if CYTHON_USE_TYPE_SLOTS
    PyMappingMethods* mp;
#if PY_MAJOR_VERSION < 3
    PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence;
    if (likely(ms && ms->sq_slice)) {
        if (!has_cstart) {
            if (_py_start && (*_py_start != Py_None)) {
                cstart = __Pyx_PyIndex_AsSsize_t(*_py_start);
                if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
            } else
                cstart = 0;
        }
        if (!has_cstop) {
            if (_py_stop && (*_py_stop != Py_None)) {
                cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop);
                if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
            } else
                cstop = PY_SSIZE_T_MAX;
        }
        if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) {
            Py_ssize_t l = ms->sq_length(obj);
            if (likely(l >= 0)) {
                if (cstop < 0) {
                    cstop += l;
                    if (cstop < 0) cstop = 0;
                }
                if (cstart < 0) {
                    cstart += l;
                    if (cstart < 0) cstart = 0;
                }
            } else {
                if (!PyErr_ExceptionMatches(PyExc_OverflowError))
                    goto bad;
                PyErr_Clear();
            }
        }
        return ms->sq_slice(obj, cstart, cstop);
    }
#endif
    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 = PyInt_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 = PyInt_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;
    }
    PyErr_Format(PyExc_TypeError,
        "'%.200s' object is unsliceable", Py_TYPE(obj)->tp_name);
bad:
    return NULL;
}

/* UnicodeAsUCS4 */
    static CYTHON_INLINE Py_UCS4 __Pyx_PyUnicode_AsPy_UCS4(PyObject* x) {
   Py_ssize_t length;
   #if CYTHON_PEP393_ENABLED
   length = PyUnicode_GET_LENGTH(x);
   if (likely(length == 1)) {
       return PyUnicode_READ_CHAR(x, 0);
   }
   #else
   length = PyUnicode_GET_SIZE(x);
   if (likely(length == 1)) {
       return PyUnicode_AS_UNICODE(x)[0];
   }
   #if Py_UNICODE_SIZE == 2
   else if (PyUnicode_GET_SIZE(x) == 2) {
       Py_UCS4 high_val = PyUnicode_AS_UNICODE(x)[0];
       if (high_val >= 0xD800 && high_val <= 0xDBFF) {
           Py_UCS4 low_val = PyUnicode_AS_UNICODE(x)[1];
           if (low_val >= 0xDC00 && low_val <= 0xDFFF) {
               return 0x10000 + (((high_val & ((1<<10)-1)) << 10) | (low_val & ((1<<10)-1)));
           }
       }
   }
   #endif
   #endif
   PyErr_Format(PyExc_ValueError,
                "only single character unicode strings can be converted to Py_UCS4, "
                "got length %" CYTHON_FORMAT_SSIZE_T "d", length);
   return (Py_UCS4)-1;
}

/* object_ord */
    static long __Pyx__PyObject_Ord(PyObject* c) {
    Py_ssize_t size;
    if (PyBytes_Check(c)) {
        size = PyBytes_GET_SIZE(c);
        if (likely(size == 1)) {
            return (unsigned char) PyBytes_AS_STRING(c)[0];
        }
#if PY_MAJOR_VERSION < 3
    } else if (PyUnicode_Check(c)) {
        return (long)__Pyx_PyUnicode_AsPy_UCS4(c);
#endif
#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE))
    } else if (PyByteArray_Check(c)) {
        size = PyByteArray_GET_SIZE(c);
        if (likely(size == 1)) {
            return (unsigned char) PyByteArray_AS_STRING(c)[0];
        }
#endif
    } else {
        PyErr_Format(PyExc_TypeError,
            "ord() expected string of length 1, but %.200s found", c->ob_type->tp_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;
}

/* GetItemInt */
    static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
    PyObject *r;
    if (!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,
                                                              CYTHON_NCP_UNUSED int wraparound,
                                                              CYTHON_NCP_UNUSED int boundscheck) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    Py_ssize_t wrapped_i = i;
    if (wraparound & unlikely(i < 0)) {
        wrapped_i += PyList_GET_SIZE(o);
    }
    if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) {
        PyObject *r = PyList_GET_ITEM(o, wrapped_i);
        Py_INCREF(r);
        return r;
    }
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
#else
    return PySequence_GetItem(o, i);
#endif
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
                                                              CYTHON_NCP_UNUSED int wraparound,
                                                              CYTHON_NCP_UNUSED int boundscheck) {
#if 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)))) {
        PyObject *r = PyTuple_GET_ITEM(o, wrapped_i);
        Py_INCREF(r);
        return r;
    }
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
#else
    return PySequence_GetItem(o, i);
#endif
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,
                                                     CYTHON_NCP_UNUSED int wraparound,
                                                     CYTHON_NCP_UNUSED int boundscheck) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
    if (is_list || PyList_CheckExact(o)) {
        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
        if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) {
            PyObject *r = PyList_GET_ITEM(o, n);
            Py_INCREF(r);
            return r;
        }
    }
    else 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)))) {
            PyObject *r = PyTuple_GET_ITEM(o, n);
            Py_INCREF(r);
            return r;
        }
    } else {
        PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
        if (likely(m && m->sq_item)) {
            if (wraparound && unlikely(i < 0) && likely(m->sq_length)) {
                Py_ssize_t l = m->sq_length(o);
                if (likely(l >= 0)) {
                    i += l;
                } else {
                    if (!PyErr_ExceptionMatches(PyExc_OverflowError))
                        return NULL;
                    PyErr_Clear();
                }
            }
            return m->sq_item(o, i);
        }
    }
#else
    if (is_list || PySequence_Check(o)) {
        return PySequence_GetItem(o, i);
    }
#endif
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
}

/* GetAttr */
    static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {
#if CYTHON_USE_TYPE_SLOTS
#if PY_MAJOR_VERSION >= 3
    if (likely(PyUnicode_Check(n)))
#else
    if (likely(PyString_Check(n)))
#endif
        return __Pyx_PyObject_GetAttrStr(o, n);
#endif
    return PyObject_GetAttr(o, n);
}

/* GetAttr3 */
    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;
}
static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) {
    PyObject *r = __Pyx_GetAttr(o, n);
    return (likely(r)) ? r : __Pyx_GetAttr3Default(d);
}

/* ObjectGetItem */
    #if CYTHON_USE_TYPE_SLOTS
static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject* index) {
    PyObject *runerr;
    Py_ssize_t key_value;
    PySequenceMethods *m = Py_TYPE(obj)->tp_as_sequence;
    if (unlikely(!(m && m->sq_item))) {
        PyErr_Format(PyExc_TypeError, "'%.200s' object is not subscriptable", Py_TYPE(obj)->tp_name);
        return NULL;
    }
    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);
    }
    if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) {
        PyErr_Clear();
        PyErr_Format(PyExc_IndexError, "cannot fit '%.200s' into an index-sized integer", Py_TYPE(index)->tp_name);
    }
    return NULL;
}
static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key) {
    PyMappingMethods *m = Py_TYPE(obj)->tp_as_mapping;
    if (likely(m && m->mp_subscript)) {
        return m->mp_subscript(obj, key);
    }
    return __Pyx_PyObject_GetIndex(obj, key);
}
#endif

/* SetItemInt */
    static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v) {
    int r;
    if (!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,
                                               CYTHON_NCP_UNUSED int wraparound, CYTHON_NCP_UNUSED int boundscheck) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
    if (is_list || PyList_CheckExact(o)) {
        Py_ssize_t n = (!wraparound) ? i : ((likely(i >= 0)) ? i : i + PyList_GET_SIZE(o));
        if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o)))) {
            PyObject* old = PyList_GET_ITEM(o, n);
            Py_INCREF(v);
            PyList_SET_ITEM(o, n, v);
            Py_DECREF(old);
            return 1;
        }
    } else {
        PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
        if (likely(m && m->sq_ass_item)) {
            if (wraparound && unlikely(i < 0) && likely(m->sq_length)) {
                Py_ssize_t l = m->sq_length(o);
                if (likely(l >= 0)) {
                    i += l;
                } else {
                    if (!PyErr_ExceptionMatches(PyExc_OverflowError))
                        return -1;
                    PyErr_Clear();
                }
            }
            return m->sq_ass_item(o, i, v);
        }
    }
#else
#if CYTHON_COMPILING_IN_PYPY
    if (is_list || (PySequence_Check(o) && !PyDict_Check(o)))
#else
    if (is_list || PySequence_Check(o))
#endif
    {
        return PySequence_SetItem(o, i, v);
    }
#endif
    return __Pyx_SetItemInt_Generic(o, PyInt_FromSsize_t(i), v);
}

/* PyObjectGetMethod */
    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
    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 PY_MAJOR_VERSION >= 3
        #ifdef __Pyx_CyFunction_USED
        if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr)))
        #else
        if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type)))
        #endif
#else
        #ifdef __Pyx_CyFunction_USED
        if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr)))
        #else
        if (likely(PyFunction_Check(descr)))
        #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 (descr != NULL) {
        *method = descr;
        return 0;
    }
    PyErr_Format(PyExc_AttributeError,
#if PY_MAJOR_VERSION >= 3
                 "'%.50s' object has no attribute '%U'",
                 tp->tp_name, name);
#else
                 "'%.50s' object has no attribute '%.400s'",
                 tp->tp_name, PyString_AS_STRING(name));
#endif
    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;
}

/* PyObjectCallMethod0 */
    static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) {
    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;
}

/* RaiseNoneIterError */
    static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
}

/* UnpackTupleError */
    static void __Pyx_UnpackTupleError(PyObject *t, Py_ssize_t index) {
    if (t == Py_None) {
      __Pyx_RaiseNoneNotIterableError();
    } else if (PyTuple_GET_SIZE(t) < index) {
      __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(t));
    } else {
      __Pyx_RaiseTooManyValuesError(index);
    }
}

/* UnpackTuple2 */
    static CYTHON_INLINE int __Pyx_unpack_tuple2_exact(
        PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2, int decref_tuple) {
    PyObject *value1 = NULL, *value2 = NULL;
#if CYTHON_COMPILING_IN_PYPY
    value1 = PySequence_ITEM(tuple, 0);  if (unlikely(!value1)) goto bad;
    value2 = 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_COMPILING_IN_PYPY
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 = Py_TYPE(iter)->tp_iternext;
    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 */
    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;
#elif PY_MAJOR_VERSION >= 3
        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);
}
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_COMPILING_IN_PYPY
    if (source_is_dict) {
        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);
            PyTuple_SET_ITEM(tuple, 0, key);
            PyTuple_SET_ITEM(tuple, 1, value);
            *pitem = tuple;
        } else {
            if (pkey) {
                Py_INCREF(key);
                *pkey = key;
            }
            if (pvalue) {
                Py_INCREF(value);
                *pvalue = value;
            }
        }
        return 1;
    } else if (PyTuple_CheckExact(iter_obj)) {
        Py_ssize_t pos = *ppos;
        if (unlikely(pos >= PyTuple_GET_SIZE(iter_obj))) return 0;
        *ppos = pos + 1;
        next_item = PyTuple_GET_ITEM(iter_obj, pos);
        Py_INCREF(next_item);
    } else if (PyList_CheckExact(iter_obj)) {
        Py_ssize_t pos = *ppos;
        if (unlikely(pos >= PyList_GET_SIZE(iter_obj))) return 0;
        *ppos = pos + 1;
        next_item = PyList_GET_ITEM(iter_obj, pos);
        Py_INCREF(next_item);
    } 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;
}

/* pyobject_as_double */
    static double __Pyx__PyObject_AsDouble(PyObject* obj) {
    PyObject* float_value;
#if !CYTHON_USE_TYPE_SLOTS
    float_value = PyNumber_Float(obj);  if ((0)) goto bad;
#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))) {
            PyErr_Format(PyExc_TypeError,
                "__float__ returned non-float (type %.200s)",
                Py_TYPE(float_value)->tp_name);
            Py_DECREF(float_value);
            goto bad;
        }
    } else if (PyUnicode_CheckExact(obj) || PyBytes_CheckExact(obj)) {
#if PY_MAJOR_VERSION >= 3
        float_value = PyFloat_FromString(obj);
#else
        float_value = PyFloat_FromString(obj, 0);
#endif
    } else {
        PyObject* args = PyTuple_New(1);
        if (unlikely(!args)) goto bad;
        PyTuple_SET_ITEM(args, 0, obj);
        float_value = PyObject_Call((PyObject*)&PyFloat_Type, args, 0);
        PyTuple_SET_ITEM(args, 0, 0);
        Py_DECREF(args);
    }
#endif
    if (likely(float_value)) {
        double value = PyFloat_AS_DOUBLE(float_value);
        Py_DECREF(float_value);
        return value;
    }
bad:
    return (double)-1;
}

/* SliceObject */
    static CYTHON_INLINE int __Pyx_PyObject_SetSlice(PyObject* obj, PyObject* value,
        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) {
#if CYTHON_USE_TYPE_SLOTS
    PyMappingMethods* mp;
#if PY_MAJOR_VERSION < 3
    PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence;
    if (likely(ms && ms->sq_ass_slice)) {
        if (!has_cstart) {
            if (_py_start && (*_py_start != Py_None)) {
                cstart = __Pyx_PyIndex_AsSsize_t(*_py_start);
                if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
            } else
                cstart = 0;
        }
        if (!has_cstop) {
            if (_py_stop && (*_py_stop != Py_None)) {
                cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop);
                if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
            } else
                cstop = PY_SSIZE_T_MAX;
        }
        if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) {
            Py_ssize_t l = ms->sq_length(obj);
            if (likely(l >= 0)) {
                if (cstop < 0) {
                    cstop += l;
                    if (cstop < 0) cstop = 0;
                }
                if (cstart < 0) {
                    cstart += l;
                    if (cstart < 0) cstart = 0;
                }
            } else {
                if (!PyErr_ExceptionMatches(PyExc_OverflowError))
                    goto bad;
                PyErr_Clear();
            }
        }
        return ms->sq_ass_slice(obj, cstart, cstop, value);
    }
#endif
    mp = Py_TYPE(obj)->tp_as_mapping;
    if (likely(mp && mp->mp_ass_subscript))
#endif
    {
        int 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 = PyInt_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 = PyInt_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_ass_subscript(obj, py_slice, value);
#else
        result = value ? PyObject_SetItem(obj, py_slice, value) : PyObject_DelItem(obj, py_slice);
#endif
        if (!_py_slice) {
            Py_DECREF(py_slice);
        }
        return result;
    }
    PyErr_Format(PyExc_TypeError,
        "'%.200s' object does not support slice %.10s",
        Py_TYPE(obj)->tp_name, value ? "assignment" : "deletion");
bad:
    return -1;
}

/* 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);
#if PY_MAJOR_VERSION < 3
    if (likely(tp->tp_setattr))
        return tp->tp_setattr(obj, PyString_AS_STRING(attr_name), value);
#endif
    return PyObject_SetAttr(obj, attr_name, value);
}
#endif

/* PyFloatBinop */
    #if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_PyFloat_TrueDivideObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check) {
    const double b = floatval;
    double a, result;
    (void)inplace;
    (void)zerodivision_check;
    if (likely(PyFloat_CheckExact(op1))) {
        a = PyFloat_AS_DOUBLE(op1);
        
    } else
    #if PY_MAJOR_VERSION < 3
    if (likely(PyInt_CheckExact(op1))) {
        a = (double) PyInt_AS_LONG(op1);
        
    } else
    #endif
    if (likely(PyLong_CheckExact(op1))) {
        #if CYTHON_USE_PYLONG_INTERNALS
        const digit* digits = ((PyLongObject*)op1)->ob_digit;
        const Py_ssize_t size = Py_SIZE(op1);
        switch (size) {
            case  0: a = 0.0; break;
            case -1: a = -(double) digits[0]; break;
            case  1: a = (double) digits[0]; break;
            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:
        #else
        {
        #endif
            a = PyLong_AsDouble(op1);
            if (unlikely(a == -1.0 && PyErr_Occurred())) return NULL;
            
        }
    } else {
        return (inplace ? PyNumber_InPlaceTrueDivide : PyNumber_TrueDivide)(op1, op2);
    }
        
        PyFPE_START_PROTECT("divide", return NULL)
        result = a / b;
        PyFPE_END_PROTECT(result)
        return PyFloat_FromDouble(result);
}
#endif

/* PyIntBinop */
      #if !CYTHON_COMPILING_IN_PYPY
#if PY_MAJOR_VERSION < 3 || CYTHON_USE_PYLONG_INTERNALS
#define __Pyx_PyInt_TrueDivideObjC_ZeroDivisionError(operand)\
    if (unlikely(zerodivision_check && ((operand) == 0))) {\
        PyErr_SetString(PyExc_ZeroDivisionError, "integer division by zero");\
        return NULL;\
    }
#endif
static PyObject* __Pyx_PyInt_TrueDivideObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) {
    (void)inplace;
    (void)zerodivision_check;
    #if PY_MAJOR_VERSION < 3
    if (likely(PyInt_CheckExact(op1))) {
        const long b = intval;
        long a = PyInt_AS_LONG(op1);
            __Pyx_PyInt_TrueDivideObjC_ZeroDivisionError(b)
            if (8 * sizeof(long) <= 53 || likely(labs(a) <= ((PY_LONG_LONG)1 << 53))) {
                return PyFloat_FromDouble((double)a / (double)b);
            }
            return PyInt_Type.tp_as_number->nb_true_divide(op1, op2);
    }
    #endif
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(PyLong_CheckExact(op1))) {
        const long b = intval;
        long a, x;
        const digit* digits = ((PyLongObject*)op1)->ob_digit;
        const Py_ssize_t size = Py_SIZE(op1);
        if (likely(__Pyx_sst_abs(size) <= 1)) {
            a = likely(size) ? digits[0] : 0;
            if (size == -1) a = -a;
        } else {
            switch (size) {
                case -2:
                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT && 1 * PyLong_SHIFT < 53) {
                        a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        break;
                    }
                    CYTHON_FALLTHROUGH;
                case 2:
                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT && 1 * PyLong_SHIFT < 53) {
                        a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        break;
                    }
                    CYTHON_FALLTHROUGH;
                case -3:
                    if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT && 2 * PyLong_SHIFT < 53) {
                        a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        break;
                    }
                    CYTHON_FALLTHROUGH;
                case 3:
                    if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT && 2 * PyLong_SHIFT < 53) {
                        a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        break;
                    }
                    CYTHON_FALLTHROUGH;
                case -4:
                    if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT && 3 * PyLong_SHIFT < 53) {
                        a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        break;
                    }
                    CYTHON_FALLTHROUGH;
                case 4:
                    if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT && 3 * PyLong_SHIFT < 53) {
                        a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        break;
                    }
                    CYTHON_FALLTHROUGH;
                default: return PyLong_Type.tp_as_number->nb_true_divide(op1, op2);
            }
        }
                __Pyx_PyInt_TrueDivideObjC_ZeroDivisionError(b)
                if ((8 * sizeof(long) <= 53 || likely(labs(a) <= ((PY_LONG_LONG)1 << 53)))
                        || __Pyx_sst_abs(size) <= 52 / PyLong_SHIFT) {
                    return PyFloat_FromDouble((double)a / (double)b);
                }
                return PyLong_Type.tp_as_number->nb_true_divide(op1, op2);
            return PyLong_FromLong(x);
        
    }
    #endif
    if (PyFloat_CheckExact(op1)) {
        const long b = intval;
        double a = PyFloat_AS_DOUBLE(op1);
            double result;
            if (unlikely(zerodivision_check && b == 0)) {
                PyErr_SetString(PyExc_ZeroDivisionError, "float division by zero");
                return NULL;
            }
            PyFPE_START_PROTECT("divide", return NULL)
            result = ((double)a) / (double)b;
            PyFPE_END_PROTECT(result)
            return PyFloat_FromDouble(result);
    }
    return (inplace ? PyNumber_InPlaceTrueDivide : PyNumber_TrueDivide)(op1, op2);
}
#endif

/* HasAttr */
      static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) {
    PyObject *r;
    if (unlikely(!__Pyx_PyBaseString_Check(n))) {
        PyErr_SetString(PyExc_TypeError,
                        "hasattr(): attribute name must be string");
        return -1;
    }
    r = __Pyx_GetAttr(o, n);
    if (unlikely(!r)) {
        PyErr_Clear();
        return 0;
    } else {
        Py_DECREF(r);
        return 1;
    }
}

/* CallNextTpTraverse */
      static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse) {
    PyTypeObject* type = Py_TYPE(obj);
    while (type && type->tp_traverse != current_tp_traverse)
        type = type->tp_base;
    while (type && type->tp_traverse == current_tp_traverse)
        type = type->tp_base;
    if (type && type->tp_traverse)
        return type->tp_traverse(obj, v, a);
    return 0;
}

/* CallNextTpClear */
      static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_clear) {
    PyTypeObject* type = Py_TYPE(obj);
    while (type && type->tp_clear != current_tp_clear)
        type = type->tp_base;
    while (type && type->tp_clear == current_tp_clear)
        type = type->tp_base;
    if (type && type->tp_clear)
        type->tp_clear(obj);
}

/* PyObject_GenericGetAttrNoDict */
      #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) {
    PyErr_Format(PyExc_AttributeError,
#if PY_MAJOR_VERSION >= 3
                 "'%.50s' object has no attribute '%U'",
                 tp->tp_name, attr_name);
#else
                 "'%.50s' object has no attribute '%.400s'",
                 tp->tp_name, PyString_AS_STRING(attr_name));
#endif
    return NULL;
}
static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) {
    PyObject *descr;
    PyTypeObject *tp = Py_TYPE(obj);
    if (unlikely(!PyString_Check(attr_name))) {
        return PyObject_GenericGetAttr(obj, attr_name);
    }
    assert(!tp->tp_dictoffset);
    descr = _PyType_Lookup(tp, attr_name);
    if (unlikely(!descr)) {
        return __Pyx_RaiseGenericGetAttributeError(tp, attr_name);
    }
    Py_INCREF(descr);
    #if PY_MAJOR_VERSION < 3
    if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS)))
    #endif
    {
        descrgetfunc f = Py_TYPE(descr)->tp_descr_get;
        if (unlikely(f)) {
            PyObject *res = f(descr, obj, (PyObject *)tp);
            Py_DECREF(descr);
            return res;
        }
    }
    return descr;
}
#endif

/* PyObject_GenericGetAttr */
      #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name) {
    if (unlikely(Py_TYPE(obj)->tp_dictoffset)) {
        return PyObject_GenericGetAttr(obj, attr_name);
    }
    return __Pyx_PyObject_GenericGetAttrNoDict(obj, attr_name);
}
#endif

/* SetupReduce */
      static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) {
  int ret;
  PyObject *name_attr;
  name_attr = __Pyx_PyObject_GetAttrStr(meth, __pyx_n_s_name);
  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_reduce_ex = NULL;
    PyObject *reduce = NULL;
    PyObject *reduce_ex = NULL;
    PyObject *reduce_cython = NULL;
    PyObject *setstate = NULL;
    PyObject *setstate_cython = NULL;
#if CYTHON_USE_PYTYPE_LOOKUP
    if (_PyType_Lookup((PyTypeObject*)type_obj, __pyx_n_s_getstate)) goto GOOD;
#else
    if (PyObject_HasAttr(type_obj, __pyx_n_s_getstate)) goto GOOD;
#endif
#if CYTHON_USE_PYTYPE_LOOKUP
    object_reduce_ex = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto BAD;
#else
    object_reduce_ex = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto BAD;
#endif
    reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_ex); if (unlikely(!reduce_ex)) goto BAD;
    if (reduce_ex == object_reduce_ex) {
#if CYTHON_USE_PYTYPE_LOOKUP
        object_reduce = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto BAD;
#else
        object_reduce = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto BAD;
#endif
        reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce); if (unlikely(!reduce)) goto BAD;
        if (reduce == object_reduce || __Pyx_setup_reduce_is_named(reduce, __pyx_n_s_reduce_cython)) {
            reduce_cython = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_cython); if (unlikely(!reduce_cython)) goto BAD;
            ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce, reduce_cython); if (unlikely(ret < 0)) goto BAD;
            ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce_cython); if (unlikely(ret < 0)) goto BAD;
            setstate = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate);
            if (!setstate) PyErr_Clear();
            if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_n_s_setstate_cython)) {
                setstate_cython = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate_cython); if (unlikely(!setstate_cython)) goto BAD;
                ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate, setstate_cython); if (unlikely(ret < 0)) goto BAD;
                ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate_cython); if (unlikely(ret < 0)) goto BAD;
            }
            PyType_Modified((PyTypeObject*)type_obj);
        }
    }
    goto GOOD;
BAD:
    if (!PyErr_Occurred())
        PyErr_Format(PyExc_RuntimeError, "Unable to initialize pickling for %s", ((PyTypeObject*)type_obj)->tp_name);
    ret = -1;
GOOD:
#if !CYTHON_USE_PYTYPE_LOOKUP
    Py_XDECREF(object_reduce);
    Py_XDECREF(object_reduce_ex);
#endif
    Py_XDECREF(reduce);
    Py_XDECREF(reduce_ex);
    Py_XDECREF(reduce_cython);
    Py_XDECREF(setstate);
    Py_XDECREF(setstate_cython);
    return ret;
}

/* SetVTable */
      static int __Pyx_SetVtable(PyObject *dict, void *vtable) {
#if PY_VERSION_HEX >= 0x02070000
    PyObject *ob = PyCapsule_New(vtable, 0, 0);
#else
    PyObject *ob = PyCObject_FromVoidPtr(vtable, 0);
#endif
    if (!ob)
        goto bad;
    if (PyDict_SetItem(dict, __pyx_n_s_pyx_vtable, ob) < 0)
        goto bad;
    Py_DECREF(ob);
    return 0;
bad:
    Py_XDECREF(ob);
    return -1;
}

/* ClassMethod */
      static PyObject* __Pyx_Method_ClassMethod(PyObject *method) {
#if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM <= 0x05080000
    if (PyObject_TypeCheck(method, &PyWrapperDescr_Type)) {
        return PyClassMethod_New(method);
    }
#else
#if CYTHON_COMPILING_IN_PYSTON || CYTHON_COMPILING_IN_PYPY
    if (PyMethodDescr_Check(method))
#else
    static PyTypeObject *methoddescr_type = NULL;
    if (methoddescr_type == NULL) {
       PyObject *meth = PyObject_GetAttrString((PyObject*)&PyList_Type, "append");
       if (!meth) return NULL;
       methoddescr_type = Py_TYPE(meth);
       Py_DECREF(meth);
    }
    if (__Pyx_TypeCheck(method, methoddescr_type))
#endif
    {
        PyMethodDescrObject *descr = (PyMethodDescrObject *)method;
        #if PY_VERSION_HEX < 0x03020000
        PyTypeObject *d_type = descr->d_type;
        #else
        PyTypeObject *d_type = descr->d_common.d_type;
        #endif
        return PyDescr_NewClassMethod(d_type, descr->d_method);
    }
#endif
    else if (PyMethod_Check(method)) {
        return PyClassMethod_New(PyMethod_GET_FUNCTION(method));
    }
    else if (PyCFunction_Check(method)) {
        return PyClassMethod_New(method);
    }
#ifdef __Pyx_CyFunction_USED
    else if (__Pyx_CyFunction_Check(method)) {
        return PyClassMethod_New(method);
    }
#endif
    PyErr_SetString(PyExc_TypeError,
                   "Class-level classmethod() can only be called on "
                   "a method_descriptor or instance method.");
    return NULL;
}

/* GetNameInClass */
      static PyObject *__Pyx_GetGlobalNameAfterAttributeLookup(PyObject *name) {
    PyObject *result;
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    if (unlikely(!__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
        return NULL;
    __Pyx_PyErr_Clear();
    __Pyx_GetModuleGlobalNameUncached(result, name);
    return result;
}
static PyObject *__Pyx__GetNameInClass(PyObject *nmspace, PyObject *name) {
    PyObject *result;
    result = __Pyx_PyObject_GetAttrStr(nmspace, name);
    if (!result) {
        result = __Pyx_GetGlobalNameAfterAttributeLookup(name);
    }
    return result;
}

/* CalculateMetaclass */
      static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) {
    Py_ssize_t i, nbases = PyTuple_GET_SIZE(bases);
    for (i=0; i < nbases; i++) {
        PyTypeObject *tmptype;
        PyObject *tmp = PyTuple_GET_ITEM(bases, i);
        tmptype = Py_TYPE(tmp);
#if PY_MAJOR_VERSION < 3
        if (tmptype == &PyClass_Type)
            continue;
#endif
        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) {
#if PY_MAJOR_VERSION < 3
        metaclass = &PyClass_Type;
#else
        metaclass = &PyType_Type;
#endif
    }
    Py_INCREF((PyObject*) metaclass);
    return (PyObject*) metaclass;
}

/* 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_GetAttrStr(metaclass, __pyx_n_s_prepare);
        if (prep) {
            PyObject *pargs = PyTuple_Pack(2, name, bases);
            if (unlikely(!pargs)) {
                Py_DECREF(prep);
                return NULL;
            }
            ns = PyObject_Call(prep, pargs, mkw);
            Py_DECREF(prep);
            Py_DECREF(pargs);
        } else {
            if (unlikely(!PyErr_ExceptionMatches(PyExc_AttributeError)))
                return NULL;
            PyErr_Clear();
            ns = PyDict_New();
        }
    } else {
        ns = PyDict_New();
    }
    if (unlikely(!ns))
        return NULL;
    if (unlikely(PyObject_SetItem(ns, __pyx_n_s_module, modname) < 0)) goto bad;
    if (unlikely(PyObject_SetItem(ns, __pyx_n_s_qualname, qualname) < 0)) goto bad;
    if (unlikely(doc && PyObject_SetItem(ns, __pyx_n_s_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, *margs;
    PyObject *owned_metaclass = NULL;
    if (allow_py2_metaclass) {
        owned_metaclass = PyObject_GetItem(dict, __pyx_n_s_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;
    }
    margs = PyTuple_Pack(3, name, bases, dict);
    if (unlikely(!margs)) {
        result = NULL;
    } else {
        result = PyObject_Call(metaclass, margs, mkw);
        Py_DECREF(margs);
    }
    Py_XDECREF(owned_metaclass);
    return result;
}

/* FusedFunction */
      static PyObject *
__pyx_FusedFunction_New(PyTypeObject *type, PyMethodDef *ml, int flags,
                        PyObject *qualname, PyObject *self,
                        PyObject *module, PyObject *globals,
                        PyObject *code)
{
    __pyx_FusedFunctionObject *fusedfunc =
        (__pyx_FusedFunctionObject *) __Pyx_CyFunction_New(type, ml, flags, qualname,
                                                           self, module, globals, code);
    if (!fusedfunc)
        return NULL;
    fusedfunc->__signatures__ = NULL;
    fusedfunc->type = NULL;
    fusedfunc->self = NULL;
    return (PyObject *) fusedfunc;
}
static void
__pyx_FusedFunction_dealloc(__pyx_FusedFunctionObject *self)
{
    PyObject_GC_UnTrack(self);
    Py_CLEAR(self->self);
    Py_CLEAR(self->type);
    Py_CLEAR(self->__signatures__);
    __Pyx__CyFunction_dealloc((__pyx_CyFunctionObject *) self);
}
static int
__pyx_FusedFunction_traverse(__pyx_FusedFunctionObject *self,
                             visitproc visit,
                             void *arg)
{
    Py_VISIT(self->self);
    Py_VISIT(self->type);
    Py_VISIT(self->__signatures__);
    return __Pyx_CyFunction_traverse((__pyx_CyFunctionObject *) self, visit, arg);
}
static int
__pyx_FusedFunction_clear(__pyx_FusedFunctionObject *self)
{
    Py_CLEAR(self->self);
    Py_CLEAR(self->type);
    Py_CLEAR(self->__signatures__);
    return __Pyx_CyFunction_clear((__pyx_CyFunctionObject *) self);
}
static PyObject *
__pyx_FusedFunction_descr_get(PyObject *self, PyObject *obj, PyObject *type)
{
    __pyx_FusedFunctionObject *func, *meth;
    func = (__pyx_FusedFunctionObject *) self;
    if (func->self || func->func.flags & __Pyx_CYFUNCTION_STATICMETHOD) {
        Py_INCREF(self);
        return self;
    }
    if (obj == Py_None)
        obj = NULL;
    meth = (__pyx_FusedFunctionObject *) __pyx_FusedFunction_NewEx(
                    ((PyCFunctionObject *) func)->m_ml,
                    ((__pyx_CyFunctionObject *) func)->flags,
                    ((__pyx_CyFunctionObject *) func)->func_qualname,
                    ((__pyx_CyFunctionObject *) func)->func_closure,
                    ((PyCFunctionObject *) func)->m_module,
                    ((__pyx_CyFunctionObject *) func)->func_globals,
                    ((__pyx_CyFunctionObject *) func)->func_code);
    if (!meth)
        return NULL;
    Py_XINCREF(func->func.func_classobj);
    meth->func.func_classobj = func->func.func_classobj;
    Py_XINCREF(func->__signatures__);
    meth->__signatures__ = func->__signatures__;
    Py_XINCREF(type);
    meth->type = type;
    Py_XINCREF(func->func.defaults_tuple);
    meth->func.defaults_tuple = func->func.defaults_tuple;
    if (func->func.flags & __Pyx_CYFUNCTION_CLASSMETHOD)
        obj = type;
    Py_XINCREF(obj);
    meth->self = obj;
    return (PyObject *) meth;
}
static PyObject *
_obj_to_str(PyObject *obj)
{
    if (PyType_Check(obj))
        return PyObject_GetAttr(obj, __pyx_n_s_name);
    else
        return PyObject_Str(obj);
}
static PyObject *
__pyx_FusedFunction_getitem(__pyx_FusedFunctionObject *self, PyObject *idx)
{
    PyObject *signature = NULL;
    PyObject *unbound_result_func;
    PyObject *result_func = NULL;
    if (self->__signatures__ == NULL) {
        PyErr_SetString(PyExc_TypeError, "Function is not fused");
        return NULL;
    }
    if (PyTuple_Check(idx)) {
        PyObject *list = PyList_New(0);
        Py_ssize_t n = PyTuple_GET_SIZE(idx);
        PyObject *string = NULL;
        PyObject *sep = NULL;
        int i;
        if (!list)
            return NULL;
        for (i = 0; i < n; i++) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            PyObject *item = PyTuple_GET_ITEM(idx, i);
#else
            PyObject *item = PySequence_ITEM(idx, i);
#endif
            string = _obj_to_str(item);
#if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
            Py_DECREF(item);
#endif
            if (!string || PyList_Append(list, string) < 0)
                goto __pyx_err;
            Py_DECREF(string);
        }
        sep = PyUnicode_FromString("|");
        if (sep)
            signature = PyUnicode_Join(sep, list);
__pyx_err:
;
        Py_DECREF(list);
        Py_XDECREF(sep);
    } else {
        signature = _obj_to_str(idx);
    }
    if (!signature)
        return NULL;
    unbound_result_func = PyObject_GetItem(self->__signatures__, signature);
    if (unbound_result_func) {
        if (self->self || self->type) {
            __pyx_FusedFunctionObject *unbound = (__pyx_FusedFunctionObject *) unbound_result_func;
            Py_CLEAR(unbound->func.func_classobj);
            Py_XINCREF(self->func.func_classobj);
            unbound->func.func_classobj = self->func.func_classobj;
            result_func = __pyx_FusedFunction_descr_get(unbound_result_func,
                                                        self->self, self->type);
        } else {
            result_func = unbound_result_func;
            Py_INCREF(result_func);
        }
    }
    Py_DECREF(signature);
    Py_XDECREF(unbound_result_func);
    return result_func;
}
static PyObject *
__pyx_FusedFunction_callfunction(PyObject *func, PyObject *args, PyObject *kw)
{
     __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func;
    int static_specialized = (cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD &&
                              !((__pyx_FusedFunctionObject *) func)->__signatures__);
    if (cyfunc->flags & __Pyx_CYFUNCTION_CCLASS && !static_specialized) {
        return __Pyx_CyFunction_CallAsMethod(func, args, kw);
    } else {
        return __Pyx_CyFunction_Call(func, args, kw);
    }
}
static PyObject *
__pyx_FusedFunction_call(PyObject *func, PyObject *args, PyObject *kw)
{
    __pyx_FusedFunctionObject *binding_func = (__pyx_FusedFunctionObject *) func;
    Py_ssize_t argc = PyTuple_GET_SIZE(args);
    PyObject *new_args = NULL;
    __pyx_FusedFunctionObject *new_func = NULL;
    PyObject *result = NULL;
    PyObject *self = NULL;
    int is_staticmethod = binding_func->func.flags & __Pyx_CYFUNCTION_STATICMETHOD;
    int is_classmethod = binding_func->func.flags & __Pyx_CYFUNCTION_CLASSMETHOD;
    if (binding_func->self) {
        Py_ssize_t i;
        new_args = PyTuple_New(argc + 1);
        if (!new_args)
            return NULL;
        self = binding_func->self;
#if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
        Py_INCREF(self);
#endif
        Py_INCREF(self);
        PyTuple_SET_ITEM(new_args, 0, self);
        for (i = 0; i < argc; i++) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            PyObject *item = PyTuple_GET_ITEM(args, i);
            Py_INCREF(item);
#else
            PyObject *item = PySequence_ITEM(args, i);  if (unlikely(!item)) goto bad;
#endif
            PyTuple_SET_ITEM(new_args, i + 1, item);
        }
        args = new_args;
    } else if (binding_func->type) {
        if (argc < 1) {
            PyErr_SetString(PyExc_TypeError, "Need at least one argument, 0 given.");
            return NULL;
        }
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        self = PyTuple_GET_ITEM(args, 0);
#else
        self = PySequence_ITEM(args, 0);  if (unlikely(!self)) return NULL;
#endif
    }
    if (self && !is_classmethod && !is_staticmethod) {
        int is_instance = PyObject_IsInstance(self, binding_func->type);
        if (unlikely(!is_instance)) {
            PyErr_Format(PyExc_TypeError,
                         "First argument should be of type %.200s, got %.200s.",
                         ((PyTypeObject *) binding_func->type)->tp_name,
                         self->ob_type->tp_name);
            goto bad;
        } else if (unlikely(is_instance == -1)) {
            goto bad;
        }
    }
#if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
    Py_XDECREF(self);
    self = NULL;
#endif
    if (binding_func->__signatures__) {
        PyObject *tup;
        if (is_staticmethod && binding_func->func.flags & __Pyx_CYFUNCTION_CCLASS) {
            tup = PyTuple_Pack(3, args,
                               kw == NULL ? Py_None : kw,
                               binding_func->func.defaults_tuple);
            if (unlikely(!tup)) goto bad;
            new_func = (__pyx_FusedFunctionObject *) __Pyx_CyFunction_CallMethod(
                func, binding_func->__signatures__, tup, NULL);
        } else {
            tup = PyTuple_Pack(4, binding_func->__signatures__, args,
                               kw == NULL ? Py_None : kw,
                               binding_func->func.defaults_tuple);
            if (unlikely(!tup)) goto bad;
            new_func = (__pyx_FusedFunctionObject *) __pyx_FusedFunction_callfunction(func, tup, NULL);
        }
        Py_DECREF(tup);
        if (unlikely(!new_func))
            goto bad;
        Py_XINCREF(binding_func->func.func_classobj);
        Py_CLEAR(new_func->func.func_classobj);
        new_func->func.func_classobj = binding_func->func.func_classobj;
        func = (PyObject *) new_func;
    }
    result = __pyx_FusedFunction_callfunction(func, args, kw);
bad:
#if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
    Py_XDECREF(self);
#endif
    Py_XDECREF(new_args);
    Py_XDECREF((PyObject *) new_func);
    return result;
}
static PyMemberDef __pyx_FusedFunction_members[] = {
    {(char *) "__signatures__",
     T_OBJECT,
     offsetof(__pyx_FusedFunctionObject, __signatures__),
     READONLY,
     0},
    {0, 0, 0, 0, 0},
};
static PyMappingMethods __pyx_FusedFunction_mapping_methods = {
    0,
    (binaryfunc) __pyx_FusedFunction_getitem,
    0,
};
static PyTypeObject __pyx_FusedFunctionType_type = {
    PyVarObject_HEAD_INIT(0, 0)
    "fused_cython_function",
    sizeof(__pyx_FusedFunctionObject),
    0,
    (destructor) __pyx_FusedFunction_dealloc,
    0,
    0,
    0,
#if PY_MAJOR_VERSION < 3
    0,
#else
    0,
#endif
    0,
    0,
    0,
    &__pyx_FusedFunction_mapping_methods,
    0,
    (ternaryfunc) __pyx_FusedFunction_call,
    0,
    0,
    0,
    0,
    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE,
    0,
    (traverseproc) __pyx_FusedFunction_traverse,
    (inquiry) __pyx_FusedFunction_clear,
    0,
    0,
    0,
    0,
    0,
    __pyx_FusedFunction_members,
    __pyx_CyFunction_getsets,
    &__pyx_CyFunctionType_type,
    0,
    __pyx_FusedFunction_descr_get,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
#if PY_VERSION_HEX >= 0x030400a1
    0,
#endif
#if PY_VERSION_HEX >= 0x030800b1
    0,
#endif
};
static int __pyx_FusedFunction_init(void) {
    __pyx_FusedFunctionType = __Pyx_FetchCommonType(&__pyx_FusedFunctionType_type);
    if (__pyx_FusedFunctionType == NULL) {
        return -1;
    }
    return 0;
}

/* CLineInTraceback */
      #ifndef CYTHON_CLINE_IN_TRACEBACK
static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) {
    PyObject *use_cline;
    PyObject *ptype, *pvalue, *ptraceback;
#if CYTHON_COMPILING_IN_CPYTHON
    PyObject **cython_runtime_dict;
#endif
    if (unlikely(!__pyx_cython_runtime)) {
        return c_line;
    }
    __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
#if CYTHON_COMPILING_IN_CPYTHON
    cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime);
    if (likely(cython_runtime_dict)) {
        __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
            use_cline, *cython_runtime_dict,
            __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback))
    } else
#endif
    {
      PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback);
      if (use_cline_obj) {
        use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True;
        Py_DECREF(use_cline_obj);
      } else {
        PyErr_Clear();
        use_cline = NULL;
      }
    }
    if (!use_cline) {
        c_line = 0;
        PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False);
    }
    else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) {
        c_line = 0;
    }
    __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
    return c_line;
}
#endif

/* CodeObjectCache */
      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 PyCodeObject *__pyx_find_code_object(int code_line) {
    PyCodeObject* code_object;
    int pos;
    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
        return NULL;
    }
    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
        return NULL;
    }
    code_object = __pyx_code_cache.entries[pos].code_object;
    Py_INCREF(code_object);
    return code_object;
}
static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
    int pos, i;
    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
    if (unlikely(!code_line)) {
        return;
    }
    if (unlikely(!entries)) {
        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
        if (likely(entries)) {
            __pyx_code_cache.entries = entries;
            __pyx_code_cache.max_count = 64;
            __pyx_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(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
        PyCodeObject* tmp = entries[pos].code_object;
        entries[pos].code_object = code_object;
        Py_DECREF(tmp);
        return;
    }
    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
        int new_max = __pyx_code_cache.max_count + 64;
        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
            __pyx_code_cache.entries, (size_t)new_max*sizeof(__Pyx_CodeObjectCacheEntry));
        if (unlikely(!entries)) {
            return;
        }
        __pyx_code_cache.entries = entries;
        __pyx_code_cache.max_count = new_max;
    }
    for (i=__pyx_code_cache.count; i>pos; i--) {
        entries[i] = entries[i-1];
    }
    entries[pos].code_line = code_line;
    entries[pos].code_object = code_object;
    __pyx_code_cache.count++;
    Py_INCREF(code_object);
}

/* AddTraceback */
      #include "compile.h"
#include "frameobject.h"
#include "traceback.h"
static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
            const char *funcname, int c_line,
            int py_line, const char *filename) {
    PyCodeObject *py_code = 0;
    PyObject *py_srcfile = 0;
    PyObject *py_funcname = 0;
    #if PY_MAJOR_VERSION < 3
    py_srcfile = PyString_FromString(filename);
    #else
    py_srcfile = PyUnicode_FromString(filename);
    #endif
    if (!py_srcfile) goto bad;
    if (c_line) {
        #if PY_MAJOR_VERSION < 3
        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
        #else
        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
        #endif
    }
    else {
        #if PY_MAJOR_VERSION < 3
        py_funcname = PyString_FromString(funcname);
        #else
        py_funcname = PyUnicode_FromString(funcname);
        #endif
    }
    if (!py_funcname) goto bad;
    py_code = __Pyx_PyCode_New(
        0,
        0,
        0,
        0,
        0,
        __pyx_empty_bytes, /*PyObject *code,*/
        __pyx_empty_tuple, /*PyObject *consts,*/
        __pyx_empty_tuple, /*PyObject *names,*/
        __pyx_empty_tuple, /*PyObject *varnames,*/
        __pyx_empty_tuple, /*PyObject *freevars,*/
        __pyx_empty_tuple, /*PyObject *cellvars,*/
        py_srcfile,   /*PyObject *filename,*/
        py_funcname,  /*PyObject *name,*/
        py_line,
        __pyx_empty_bytes  /*PyObject *lnotab*/
    );
    Py_DECREF(py_srcfile);
    Py_DECREF(py_funcname);
    return py_code;
bad:
    Py_XDECREF(py_srcfile);
    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;
    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) {
        py_code = __Pyx_CreateCodeObjectForTraceback(
            funcname, c_line, py_line, filename);
        if (!py_code) goto bad;
        __pyx_insert_code_object(c_line ? -c_line : py_line, py_code);
    }
    py_frame = PyFrame_New(
        tstate,            /*PyThreadState *tstate,*/
        py_code,           /*PyCodeObject *code,*/
        __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);
}

/* CIntToPy */
      static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint64_t(uint64_t value) {
    const uint64_t neg_one = (uint64_t) ((uint64_t) 0 - (uint64_t) 1), const_zero = (uint64_t) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(uint64_t) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(uint64_t) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(uint64_t) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(uint64_t) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(uint64_t) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(uint64_t),
                                     little, !is_unsigned);
    }
}

/* 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;\
    }

/* CIntToPy */
      static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NetworKit_3a__3a_GraphReader_3a__3a_MultipleEdgesHandling(enum NetworKit::GraphReader::MultipleEdgesHandling value) {
    const enum NetworKit::GraphReader::MultipleEdgesHandling neg_one = (enum NetworKit::GraphReader::MultipleEdgesHandling) ((enum NetworKit::GraphReader::MultipleEdgesHandling) 0 - (enum NetworKit::GraphReader::MultipleEdgesHandling) 1), const_zero = (enum NetworKit::GraphReader::MultipleEdgesHandling) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum NetworKit::GraphReader::MultipleEdgesHandling) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum NetworKit::GraphReader::MultipleEdgesHandling) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum NetworKit::GraphReader::MultipleEdgesHandling) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum NetworKit::GraphReader::MultipleEdgesHandling) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum NetworKit::GraphReader::MultipleEdgesHandling) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(enum NetworKit::GraphReader::MultipleEdgesHandling),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
      static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NetworKit_3a__3a_DiameterAlgo(enum NetworKit::DiameterAlgo value) {
    const enum NetworKit::DiameterAlgo neg_one = (enum NetworKit::DiameterAlgo) ((enum NetworKit::DiameterAlgo) 0 - (enum NetworKit::DiameterAlgo) 1), const_zero = (enum NetworKit::DiameterAlgo) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum NetworKit::DiameterAlgo) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum NetworKit::DiameterAlgo) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum NetworKit::DiameterAlgo) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum NetworKit::DiameterAlgo) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum NetworKit::DiameterAlgo) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(enum NetworKit::DiameterAlgo),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
      static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NetworKit_3a__3a_ClosenessVariant(enum NetworKit::ClosenessVariant value) {
    const enum NetworKit::ClosenessVariant neg_one = (enum NetworKit::ClosenessVariant) ((enum NetworKit::ClosenessVariant) 0 - (enum NetworKit::ClosenessVariant) 1), const_zero = (enum NetworKit::ClosenessVariant) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum NetworKit::ClosenessVariant) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum NetworKit::ClosenessVariant) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum NetworKit::ClosenessVariant) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum NetworKit::ClosenessVariant) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum NetworKit::ClosenessVariant) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(enum NetworKit::ClosenessVariant),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
      static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
    const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(int) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(int) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } 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 PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(int),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
      static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
    const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(long) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(long) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } 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 PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(long),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
      static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(enum NetworKit::GraphEvent::Type value) {
    const enum NetworKit::GraphEvent::Type neg_one = (enum NetworKit::GraphEvent::Type) ((enum NetworKit::GraphEvent::Type) 0 - (enum NetworKit::GraphEvent::Type) 1), const_zero = (enum NetworKit::GraphEvent::Type) 0;
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum NetworKit::GraphEvent::Type) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum NetworKit::GraphEvent::Type) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum NetworKit::GraphEvent::Type) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum NetworKit::GraphEvent::Type) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum NetworKit::GraphEvent::Type) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(enum NetworKit::GraphEvent::Type),
                                     little, !is_unsigned);
    }
}

/* CIntFromPy */
      static CYTHON_INLINE uint64_t __Pyx_PyInt_As_uint64_t(PyObject *x) {
    const uint64_t neg_one = (uint64_t) ((uint64_t) 0 - (uint64_t) 1), const_zero = (uint64_t) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(uint64_t) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(uint64_t, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (uint64_t) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (uint64_t) 0;
                case  1: __PYX_VERIFY_RETURN_INT(uint64_t, digit, digits[0])
                case 2:
                    if (8 * sizeof(uint64_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint64_t) >= 2 * PyLong_SHIFT) {
                            return (uint64_t) (((((uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(uint64_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint64_t) >= 3 * PyLong_SHIFT) {
                            return (uint64_t) (((((((uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(uint64_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint64_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(uint64_t) >= 4 * PyLong_SHIFT) {
                            return (uint64_t) (((((((((uint64_t)digits[3]) << PyLong_SHIFT) | (uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 (uint64_t) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(uint64_t) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint64_t, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(uint64_t) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint64_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (uint64_t) 0;
                case -1: __PYX_VERIFY_RETURN_INT(uint64_t, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(uint64_t,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(uint64_t) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint64_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint64_t) - 1 > 2 * PyLong_SHIFT) {
                            return (uint64_t) (((uint64_t)-1)*(((((uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(uint64_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint64_t) - 1 > 2 * PyLong_SHIFT) {
                            return (uint64_t) ((((((uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(uint64_t) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint64_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint64_t) - 1 > 3 * PyLong_SHIFT) {
                            return (uint64_t) (((uint64_t)-1)*(((((((uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(uint64_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint64_t) - 1 > 3 * PyLong_SHIFT) {
                            return (uint64_t) ((((((((uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(uint64_t) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint64_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(uint64_t) - 1 > 4 * PyLong_SHIFT) {
                            return (uint64_t) (((uint64_t)-1)*(((((((((uint64_t)digits[3]) << PyLong_SHIFT) | (uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(uint64_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint64_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(uint64_t) - 1 > 4 * PyLong_SHIFT) {
                            return (uint64_t) ((((((((((uint64_t)digits[3]) << PyLong_SHIFT) | (uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(uint64_t) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint64_t, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(uint64_t) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint64_t, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            uint64_t val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (uint64_t) -1;
        }
    } else {
        uint64_t val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (uint64_t) -1;
        val = __Pyx_PyInt_As_uint64_t(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to uint64_t");
    return (uint64_t) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to uint64_t");
    return (uint64_t) -1;
}

/* CIntFromPy */
      static CYTHON_INLINE uint8_t __Pyx_PyInt_As_uint8_t(PyObject *x) {
    const uint8_t neg_one = (uint8_t) ((uint8_t) 0 - (uint8_t) 1), const_zero = (uint8_t) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(uint8_t) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(uint8_t, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (uint8_t) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (uint8_t) 0;
                case  1: __PYX_VERIFY_RETURN_INT(uint8_t, digit, digits[0])
                case 2:
                    if (8 * sizeof(uint8_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint8_t) >= 2 * PyLong_SHIFT) {
                            return (uint8_t) (((((uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(uint8_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint8_t) >= 3 * PyLong_SHIFT) {
                            return (uint8_t) (((((((uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(uint8_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint8_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(uint8_t) >= 4 * PyLong_SHIFT) {
                            return (uint8_t) (((((((((uint8_t)digits[3]) << PyLong_SHIFT) | (uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 (uint8_t) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(uint8_t) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint8_t, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(uint8_t) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint8_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (uint8_t) 0;
                case -1: __PYX_VERIFY_RETURN_INT(uint8_t, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(uint8_t,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(uint8_t) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint8_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint8_t) - 1 > 2 * PyLong_SHIFT) {
                            return (uint8_t) (((uint8_t)-1)*(((((uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(uint8_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint8_t) - 1 > 2 * PyLong_SHIFT) {
                            return (uint8_t) ((((((uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(uint8_t) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint8_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint8_t) - 1 > 3 * PyLong_SHIFT) {
                            return (uint8_t) (((uint8_t)-1)*(((((((uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(uint8_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(uint8_t) - 1 > 3 * PyLong_SHIFT) {
                            return (uint8_t) ((((((((uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(uint8_t) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint8_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(uint8_t) - 1 > 4 * PyLong_SHIFT) {
                            return (uint8_t) (((uint8_t)-1)*(((((((((uint8_t)digits[3]) << PyLong_SHIFT) | (uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(uint8_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(uint8_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(uint8_t) - 1 > 4 * PyLong_SHIFT) {
                            return (uint8_t) ((((((((((uint8_t)digits[3]) << PyLong_SHIFT) | (uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(uint8_t) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint8_t, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(uint8_t) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(uint8_t, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            uint8_t val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (uint8_t) -1;
        }
    } else {
        uint8_t val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (uint8_t) -1;
        val = __Pyx_PyInt_As_uint8_t(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to uint8_t");
    return (uint8_t) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to uint8_t");
    return (uint8_t) -1;
}

/* CIntFromPy */
      static CYTHON_INLINE enum NetworKit::ApproxCloseness::CLOSENESS_TYPE __Pyx_PyInt_As_enum__NetworKit_3a__3a_ApproxCloseness_3a__3a_CLOSENESS_TYPE(PyObject *x) {
    const enum NetworKit::ApproxCloseness::CLOSENESS_TYPE neg_one = (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) ((enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) 0 - (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) 1), const_zero = (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) >= 2 * PyLong_SHIFT) {
                            return (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) (((((enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[1]) << PyLong_SHIFT) | (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) >= 3 * PyLong_SHIFT) {
                            return (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) (((((((enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[2]) << PyLong_SHIFT) | (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[1]) << PyLong_SHIFT) | (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE, 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(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) >= 4 * PyLong_SHIFT) {
                            return (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) (((((((((enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[3]) << PyLong_SHIFT) | (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[2]) << PyLong_SHIFT) | (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[1]) << PyLong_SHIFT) | (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) - 1 > 2 * PyLong_SHIFT) {
                            return (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) (((enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)-1)*(((((enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[1]) << PyLong_SHIFT) | (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) - 1 > 2 * PyLong_SHIFT) {
                            return (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) ((((((enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[1]) << PyLong_SHIFT) | (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) - 1 > 3 * PyLong_SHIFT) {
                            return (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) (((enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)-1)*(((((((enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[2]) << PyLong_SHIFT) | (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[1]) << PyLong_SHIFT) | (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) - 1 > 3 * PyLong_SHIFT) {
                            return (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) ((((((((enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[2]) << PyLong_SHIFT) | (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[1]) << PyLong_SHIFT) | (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE, 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(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) - 1 > 4 * PyLong_SHIFT) {
                            return (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) (((enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)-1)*(((((((((enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[3]) << PyLong_SHIFT) | (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[2]) << PyLong_SHIFT) | (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[1]) << PyLong_SHIFT) | (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE, 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(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) - 1 > 4 * PyLong_SHIFT) {
                            return (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) ((((((((((enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[3]) << PyLong_SHIFT) | (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[2]) << PyLong_SHIFT) | (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[1]) << PyLong_SHIFT) | (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::ApproxCloseness::CLOSENESS_TYPE, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum NetworKit::ApproxCloseness::CLOSENESS_TYPE val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) -1;
        }
    } else {
        enum NetworKit::ApproxCloseness::CLOSENESS_TYPE val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) -1;
        val = __Pyx_PyInt_As_enum__NetworKit_3a__3a_ApproxCloseness_3a__3a_CLOSENESS_TYPE(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum NetworKit::ApproxCloseness::CLOSENESS_TYPE");
    return (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum NetworKit::ApproxCloseness::CLOSENESS_TYPE");
    return (enum NetworKit::ApproxCloseness::CLOSENESS_TYPE) -1;
}

/* CIntFromPy */
      static CYTHON_INLINE enum NetworKit::GraphEvent::Type __Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(PyObject *x) {
    const enum NetworKit::GraphEvent::Type neg_one = (enum NetworKit::GraphEvent::Type) ((enum NetworKit::GraphEvent::Type) 0 - (enum NetworKit::GraphEvent::Type) 1), const_zero = (enum NetworKit::GraphEvent::Type) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(enum NetworKit::GraphEvent::Type) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum NetworKit::GraphEvent::Type, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum NetworKit::GraphEvent::Type) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum NetworKit::GraphEvent::Type) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum NetworKit::GraphEvent::Type, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum NetworKit::GraphEvent::Type) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::GraphEvent::Type, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::GraphEvent::Type) >= 2 * PyLong_SHIFT) {
                            return (enum NetworKit::GraphEvent::Type) (((((enum NetworKit::GraphEvent::Type)digits[1]) << PyLong_SHIFT) | (enum NetworKit::GraphEvent::Type)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum NetworKit::GraphEvent::Type) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::GraphEvent::Type, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::GraphEvent::Type) >= 3 * PyLong_SHIFT) {
                            return (enum NetworKit::GraphEvent::Type) (((((((enum NetworKit::GraphEvent::Type)digits[2]) << PyLong_SHIFT) | (enum NetworKit::GraphEvent::Type)digits[1]) << PyLong_SHIFT) | (enum NetworKit::GraphEvent::Type)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum NetworKit::GraphEvent::Type) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::GraphEvent::Type, 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(enum NetworKit::GraphEvent::Type) >= 4 * PyLong_SHIFT) {
                            return (enum NetworKit::GraphEvent::Type) (((((((((enum NetworKit::GraphEvent::Type)digits[3]) << PyLong_SHIFT) | (enum NetworKit::GraphEvent::Type)digits[2]) << PyLong_SHIFT) | (enum NetworKit::GraphEvent::Type)digits[1]) << PyLong_SHIFT) | (enum NetworKit::GraphEvent::Type)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 (enum NetworKit::GraphEvent::Type) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum NetworKit::GraphEvent::Type) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::GraphEvent::Type, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum NetworKit::GraphEvent::Type) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::GraphEvent::Type, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum NetworKit::GraphEvent::Type) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum NetworKit::GraphEvent::Type, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum NetworKit::GraphEvent::Type,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum NetworKit::GraphEvent::Type) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::GraphEvent::Type, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::GraphEvent::Type) - 1 > 2 * PyLong_SHIFT) {
                            return (enum NetworKit::GraphEvent::Type) (((enum NetworKit::GraphEvent::Type)-1)*(((((enum NetworKit::GraphEvent::Type)digits[1]) << PyLong_SHIFT) | (enum NetworKit::GraphEvent::Type)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum NetworKit::GraphEvent::Type) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::GraphEvent::Type, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::GraphEvent::Type) - 1 > 2 * PyLong_SHIFT) {
                            return (enum NetworKit::GraphEvent::Type) ((((((enum NetworKit::GraphEvent::Type)digits[1]) << PyLong_SHIFT) | (enum NetworKit::GraphEvent::Type)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum NetworKit::GraphEvent::Type) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::GraphEvent::Type, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::GraphEvent::Type) - 1 > 3 * PyLong_SHIFT) {
                            return (enum NetworKit::GraphEvent::Type) (((enum NetworKit::GraphEvent::Type)-1)*(((((((enum NetworKit::GraphEvent::Type)digits[2]) << PyLong_SHIFT) | (enum NetworKit::GraphEvent::Type)digits[1]) << PyLong_SHIFT) | (enum NetworKit::GraphEvent::Type)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum NetworKit::GraphEvent::Type) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::GraphEvent::Type, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::GraphEvent::Type) - 1 > 3 * PyLong_SHIFT) {
                            return (enum NetworKit::GraphEvent::Type) ((((((((enum NetworKit::GraphEvent::Type)digits[2]) << PyLong_SHIFT) | (enum NetworKit::GraphEvent::Type)digits[1]) << PyLong_SHIFT) | (enum NetworKit::GraphEvent::Type)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum NetworKit::GraphEvent::Type) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::GraphEvent::Type, 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(enum NetworKit::GraphEvent::Type) - 1 > 4 * PyLong_SHIFT) {
                            return (enum NetworKit::GraphEvent::Type) (((enum NetworKit::GraphEvent::Type)-1)*(((((((((enum NetworKit::GraphEvent::Type)digits[3]) << PyLong_SHIFT) | (enum NetworKit::GraphEvent::Type)digits[2]) << PyLong_SHIFT) | (enum NetworKit::GraphEvent::Type)digits[1]) << PyLong_SHIFT) | (enum NetworKit::GraphEvent::Type)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum NetworKit::GraphEvent::Type) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::GraphEvent::Type, 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(enum NetworKit::GraphEvent::Type) - 1 > 4 * PyLong_SHIFT) {
                            return (enum NetworKit::GraphEvent::Type) ((((((((((enum NetworKit::GraphEvent::Type)digits[3]) << PyLong_SHIFT) | (enum NetworKit::GraphEvent::Type)digits[2]) << PyLong_SHIFT) | (enum NetworKit::GraphEvent::Type)digits[1]) << PyLong_SHIFT) | (enum NetworKit::GraphEvent::Type)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum NetworKit::GraphEvent::Type) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::GraphEvent::Type, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum NetworKit::GraphEvent::Type) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::GraphEvent::Type, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum NetworKit::GraphEvent::Type val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum NetworKit::GraphEvent::Type) -1;
        }
    } else {
        enum NetworKit::GraphEvent::Type val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum NetworKit::GraphEvent::Type) -1;
        val = __Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphEvent_3a__3a_Type(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum NetworKit::GraphEvent::Type");
    return (enum NetworKit::GraphEvent::Type) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum NetworKit::GraphEvent::Type");
    return (enum NetworKit::GraphEvent::Type) -1;
}

/* CIntFromPy */
      static CYTHON_INLINE enum NetworKit::MaxentStress::LinearSolverType __Pyx_PyInt_As_enum__NetworKit_3a__3a_MaxentStress_3a__3a_LinearSolverType(PyObject *x) {
    const enum NetworKit::MaxentStress::LinearSolverType neg_one = (enum NetworKit::MaxentStress::LinearSolverType) ((enum NetworKit::MaxentStress::LinearSolverType) 0 - (enum NetworKit::MaxentStress::LinearSolverType) 1), const_zero = (enum NetworKit::MaxentStress::LinearSolverType) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(enum NetworKit::MaxentStress::LinearSolverType) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum NetworKit::MaxentStress::LinearSolverType, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum NetworKit::MaxentStress::LinearSolverType) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum NetworKit::MaxentStress::LinearSolverType) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum NetworKit::MaxentStress::LinearSolverType, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum NetworKit::MaxentStress::LinearSolverType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::MaxentStress::LinearSolverType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::MaxentStress::LinearSolverType) >= 2 * PyLong_SHIFT) {
                            return (enum NetworKit::MaxentStress::LinearSolverType) (((((enum NetworKit::MaxentStress::LinearSolverType)digits[1]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::LinearSolverType)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum NetworKit::MaxentStress::LinearSolverType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::MaxentStress::LinearSolverType, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::MaxentStress::LinearSolverType) >= 3 * PyLong_SHIFT) {
                            return (enum NetworKit::MaxentStress::LinearSolverType) (((((((enum NetworKit::MaxentStress::LinearSolverType)digits[2]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::LinearSolverType)digits[1]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::LinearSolverType)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum NetworKit::MaxentStress::LinearSolverType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::MaxentStress::LinearSolverType, 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(enum NetworKit::MaxentStress::LinearSolverType) >= 4 * PyLong_SHIFT) {
                            return (enum NetworKit::MaxentStress::LinearSolverType) (((((((((enum NetworKit::MaxentStress::LinearSolverType)digits[3]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::LinearSolverType)digits[2]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::LinearSolverType)digits[1]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::LinearSolverType)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 (enum NetworKit::MaxentStress::LinearSolverType) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum NetworKit::MaxentStress::LinearSolverType) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::MaxentStress::LinearSolverType, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum NetworKit::MaxentStress::LinearSolverType) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::MaxentStress::LinearSolverType, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum NetworKit::MaxentStress::LinearSolverType) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum NetworKit::MaxentStress::LinearSolverType, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum NetworKit::MaxentStress::LinearSolverType,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum NetworKit::MaxentStress::LinearSolverType) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::MaxentStress::LinearSolverType, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::MaxentStress::LinearSolverType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum NetworKit::MaxentStress::LinearSolverType) (((enum NetworKit::MaxentStress::LinearSolverType)-1)*(((((enum NetworKit::MaxentStress::LinearSolverType)digits[1]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::LinearSolverType)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum NetworKit::MaxentStress::LinearSolverType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::MaxentStress::LinearSolverType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::MaxentStress::LinearSolverType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum NetworKit::MaxentStress::LinearSolverType) ((((((enum NetworKit::MaxentStress::LinearSolverType)digits[1]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::LinearSolverType)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum NetworKit::MaxentStress::LinearSolverType) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::MaxentStress::LinearSolverType, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::MaxentStress::LinearSolverType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum NetworKit::MaxentStress::LinearSolverType) (((enum NetworKit::MaxentStress::LinearSolverType)-1)*(((((((enum NetworKit::MaxentStress::LinearSolverType)digits[2]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::LinearSolverType)digits[1]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::LinearSolverType)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum NetworKit::MaxentStress::LinearSolverType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::MaxentStress::LinearSolverType, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::MaxentStress::LinearSolverType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum NetworKit::MaxentStress::LinearSolverType) ((((((((enum NetworKit::MaxentStress::LinearSolverType)digits[2]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::LinearSolverType)digits[1]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::LinearSolverType)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum NetworKit::MaxentStress::LinearSolverType) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::MaxentStress::LinearSolverType, 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(enum NetworKit::MaxentStress::LinearSolverType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum NetworKit::MaxentStress::LinearSolverType) (((enum NetworKit::MaxentStress::LinearSolverType)-1)*(((((((((enum NetworKit::MaxentStress::LinearSolverType)digits[3]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::LinearSolverType)digits[2]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::LinearSolverType)digits[1]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::LinearSolverType)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum NetworKit::MaxentStress::LinearSolverType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::MaxentStress::LinearSolverType, 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(enum NetworKit::MaxentStress::LinearSolverType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum NetworKit::MaxentStress::LinearSolverType) ((((((((((enum NetworKit::MaxentStress::LinearSolverType)digits[3]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::LinearSolverType)digits[2]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::LinearSolverType)digits[1]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::LinearSolverType)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum NetworKit::MaxentStress::LinearSolverType) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::MaxentStress::LinearSolverType, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum NetworKit::MaxentStress::LinearSolverType) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::MaxentStress::LinearSolverType, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum NetworKit::MaxentStress::LinearSolverType val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum NetworKit::MaxentStress::LinearSolverType) -1;
        }
    } else {
        enum NetworKit::MaxentStress::LinearSolverType val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum NetworKit::MaxentStress::LinearSolverType) -1;
        val = __Pyx_PyInt_As_enum__NetworKit_3a__3a_MaxentStress_3a__3a_LinearSolverType(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum NetworKit::MaxentStress::LinearSolverType");
    return (enum NetworKit::MaxentStress::LinearSolverType) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum NetworKit::MaxentStress::LinearSolverType");
    return (enum NetworKit::MaxentStress::LinearSolverType) -1;
}

/* CIntFromPy */
      static CYTHON_INLINE enum NetworKit::MaxentStress::GraphDistance __Pyx_PyInt_As_enum__NetworKit_3a__3a_MaxentStress_3a__3a_GraphDistance(PyObject *x) {
    const enum NetworKit::MaxentStress::GraphDistance neg_one = (enum NetworKit::MaxentStress::GraphDistance) ((enum NetworKit::MaxentStress::GraphDistance) 0 - (enum NetworKit::MaxentStress::GraphDistance) 1), const_zero = (enum NetworKit::MaxentStress::GraphDistance) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(enum NetworKit::MaxentStress::GraphDistance) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum NetworKit::MaxentStress::GraphDistance, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum NetworKit::MaxentStress::GraphDistance) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum NetworKit::MaxentStress::GraphDistance) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum NetworKit::MaxentStress::GraphDistance, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum NetworKit::MaxentStress::GraphDistance) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::MaxentStress::GraphDistance, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::MaxentStress::GraphDistance) >= 2 * PyLong_SHIFT) {
                            return (enum NetworKit::MaxentStress::GraphDistance) (((((enum NetworKit::MaxentStress::GraphDistance)digits[1]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::GraphDistance)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum NetworKit::MaxentStress::GraphDistance) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::MaxentStress::GraphDistance, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::MaxentStress::GraphDistance) >= 3 * PyLong_SHIFT) {
                            return (enum NetworKit::MaxentStress::GraphDistance) (((((((enum NetworKit::MaxentStress::GraphDistance)digits[2]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::GraphDistance)digits[1]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::GraphDistance)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum NetworKit::MaxentStress::GraphDistance) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::MaxentStress::GraphDistance, 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(enum NetworKit::MaxentStress::GraphDistance) >= 4 * PyLong_SHIFT) {
                            return (enum NetworKit::MaxentStress::GraphDistance) (((((((((enum NetworKit::MaxentStress::GraphDistance)digits[3]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::GraphDistance)digits[2]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::GraphDistance)digits[1]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::GraphDistance)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 (enum NetworKit::MaxentStress::GraphDistance) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum NetworKit::MaxentStress::GraphDistance) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::MaxentStress::GraphDistance, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum NetworKit::MaxentStress::GraphDistance) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::MaxentStress::GraphDistance, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum NetworKit::MaxentStress::GraphDistance) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum NetworKit::MaxentStress::GraphDistance, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum NetworKit::MaxentStress::GraphDistance,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum NetworKit::MaxentStress::GraphDistance) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::MaxentStress::GraphDistance, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::MaxentStress::GraphDistance) - 1 > 2 * PyLong_SHIFT) {
                            return (enum NetworKit::MaxentStress::GraphDistance) (((enum NetworKit::MaxentStress::GraphDistance)-1)*(((((enum NetworKit::MaxentStress::GraphDistance)digits[1]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::GraphDistance)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum NetworKit::MaxentStress::GraphDistance) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::MaxentStress::GraphDistance, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::MaxentStress::GraphDistance) - 1 > 2 * PyLong_SHIFT) {
                            return (enum NetworKit::MaxentStress::GraphDistance) ((((((enum NetworKit::MaxentStress::GraphDistance)digits[1]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::GraphDistance)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum NetworKit::MaxentStress::GraphDistance) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::MaxentStress::GraphDistance, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::MaxentStress::GraphDistance) - 1 > 3 * PyLong_SHIFT) {
                            return (enum NetworKit::MaxentStress::GraphDistance) (((enum NetworKit::MaxentStress::GraphDistance)-1)*(((((((enum NetworKit::MaxentStress::GraphDistance)digits[2]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::GraphDistance)digits[1]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::GraphDistance)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum NetworKit::MaxentStress::GraphDistance) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::MaxentStress::GraphDistance, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::MaxentStress::GraphDistance) - 1 > 3 * PyLong_SHIFT) {
                            return (enum NetworKit::MaxentStress::GraphDistance) ((((((((enum NetworKit::MaxentStress::GraphDistance)digits[2]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::GraphDistance)digits[1]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::GraphDistance)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum NetworKit::MaxentStress::GraphDistance) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::MaxentStress::GraphDistance, 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(enum NetworKit::MaxentStress::GraphDistance) - 1 > 4 * PyLong_SHIFT) {
                            return (enum NetworKit::MaxentStress::GraphDistance) (((enum NetworKit::MaxentStress::GraphDistance)-1)*(((((((((enum NetworKit::MaxentStress::GraphDistance)digits[3]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::GraphDistance)digits[2]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::GraphDistance)digits[1]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::GraphDistance)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum NetworKit::MaxentStress::GraphDistance) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::MaxentStress::GraphDistance, 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(enum NetworKit::MaxentStress::GraphDistance) - 1 > 4 * PyLong_SHIFT) {
                            return (enum NetworKit::MaxentStress::GraphDistance) ((((((((((enum NetworKit::MaxentStress::GraphDistance)digits[3]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::GraphDistance)digits[2]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::GraphDistance)digits[1]) << PyLong_SHIFT) | (enum NetworKit::MaxentStress::GraphDistance)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum NetworKit::MaxentStress::GraphDistance) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::MaxentStress::GraphDistance, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum NetworKit::MaxentStress::GraphDistance) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::MaxentStress::GraphDistance, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum NetworKit::MaxentStress::GraphDistance val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum NetworKit::MaxentStress::GraphDistance) -1;
        }
    } else {
        enum NetworKit::MaxentStress::GraphDistance val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum NetworKit::MaxentStress::GraphDistance) -1;
        val = __Pyx_PyInt_As_enum__NetworKit_3a__3a_MaxentStress_3a__3a_GraphDistance(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum NetworKit::MaxentStress::GraphDistance");
    return (enum NetworKit::MaxentStress::GraphDistance) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum NetworKit::MaxentStress::GraphDistance");
    return (enum NetworKit::MaxentStress::GraphDistance) -1;
}

/* CIntFromPy */
      static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
    const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(long) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (long) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (long) 0;
                case  1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0])
                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
            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))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (long) 0;
                case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(long,  digit, +digits[0])
                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))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            long val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (long) -1;
        }
    } else {
        long val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (long) -1;
        val = __Pyx_PyInt_As_long(tmp);
        Py_DECREF(tmp);
        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;
}

/* CIntFromPy */
      static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
    const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(int) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (int) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (int) 0;
                case  1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0])
                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
            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))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (int) 0;
                case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(int,  digit, +digits[0])
                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))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            int val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (int) -1;
        }
    } else {
        int val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (int) -1;
        val = __Pyx_PyInt_As_int(tmp);
        Py_DECREF(tmp);
        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 size_t __Pyx_PyInt_As_size_t(PyObject *x) {
    const size_t neg_one = (size_t) ((size_t) 0 - (size_t) 1), const_zero = (size_t) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(size_t) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(size_t, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (size_t) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (size_t) 0;
                case  1: __PYX_VERIFY_RETURN_INT(size_t, digit, digits[0])
                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
            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))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(size_t) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (size_t) 0;
                case -1: __PYX_VERIFY_RETURN_INT(size_t, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(size_t,  digit, +digits[0])
                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))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(size_t) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(size_t, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            size_t val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (size_t) -1;
        }
    } else {
        size_t val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (size_t) -1;
        val = __Pyx_PyInt_As_size_t(tmp);
        Py_DECREF(tmp);
        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 char __Pyx_PyInt_As_char(PyObject *x) {
    const char neg_one = (char) ((char) 0 - (char) 1), const_zero = (char) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(char) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(char, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (char) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (char) 0;
                case  1: __PYX_VERIFY_RETURN_INT(char, digit, digits[0])
                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
            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))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(char) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(char, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (char) 0;
                case -1: __PYX_VERIFY_RETURN_INT(char, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(char,  digit, +digits[0])
                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))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(char) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(char, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            char val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (char) -1;
        }
    } else {
        char val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (char) -1;
        val = __Pyx_PyInt_As_char(tmp);
        Py_DECREF(tmp);
        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 enum NetworKit::GraphReader::MultipleEdgesHandling __Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphReader_3a__3a_MultipleEdgesHandling(PyObject *x) {
    const enum NetworKit::GraphReader::MultipleEdgesHandling neg_one = (enum NetworKit::GraphReader::MultipleEdgesHandling) ((enum NetworKit::GraphReader::MultipleEdgesHandling) 0 - (enum NetworKit::GraphReader::MultipleEdgesHandling) 1), const_zero = (enum NetworKit::GraphReader::MultipleEdgesHandling) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(enum NetworKit::GraphReader::MultipleEdgesHandling) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum NetworKit::GraphReader::MultipleEdgesHandling, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum NetworKit::GraphReader::MultipleEdgesHandling) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum NetworKit::GraphReader::MultipleEdgesHandling) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum NetworKit::GraphReader::MultipleEdgesHandling, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum NetworKit::GraphReader::MultipleEdgesHandling) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::GraphReader::MultipleEdgesHandling, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::GraphReader::MultipleEdgesHandling) >= 2 * PyLong_SHIFT) {
                            return (enum NetworKit::GraphReader::MultipleEdgesHandling) (((((enum NetworKit::GraphReader::MultipleEdgesHandling)digits[1]) << PyLong_SHIFT) | (enum NetworKit::GraphReader::MultipleEdgesHandling)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum NetworKit::GraphReader::MultipleEdgesHandling) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::GraphReader::MultipleEdgesHandling, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::GraphReader::MultipleEdgesHandling) >= 3 * PyLong_SHIFT) {
                            return (enum NetworKit::GraphReader::MultipleEdgesHandling) (((((((enum NetworKit::GraphReader::MultipleEdgesHandling)digits[2]) << PyLong_SHIFT) | (enum NetworKit::GraphReader::MultipleEdgesHandling)digits[1]) << PyLong_SHIFT) | (enum NetworKit::GraphReader::MultipleEdgesHandling)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum NetworKit::GraphReader::MultipleEdgesHandling) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::GraphReader::MultipleEdgesHandling, 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(enum NetworKit::GraphReader::MultipleEdgesHandling) >= 4 * PyLong_SHIFT) {
                            return (enum NetworKit::GraphReader::MultipleEdgesHandling) (((((((((enum NetworKit::GraphReader::MultipleEdgesHandling)digits[3]) << PyLong_SHIFT) | (enum NetworKit::GraphReader::MultipleEdgesHandling)digits[2]) << PyLong_SHIFT) | (enum NetworKit::GraphReader::MultipleEdgesHandling)digits[1]) << PyLong_SHIFT) | (enum NetworKit::GraphReader::MultipleEdgesHandling)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 (enum NetworKit::GraphReader::MultipleEdgesHandling) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum NetworKit::GraphReader::MultipleEdgesHandling) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::GraphReader::MultipleEdgesHandling, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum NetworKit::GraphReader::MultipleEdgesHandling) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::GraphReader::MultipleEdgesHandling, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum NetworKit::GraphReader::MultipleEdgesHandling) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum NetworKit::GraphReader::MultipleEdgesHandling, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum NetworKit::GraphReader::MultipleEdgesHandling,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum NetworKit::GraphReader::MultipleEdgesHandling) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::GraphReader::MultipleEdgesHandling, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::GraphReader::MultipleEdgesHandling) - 1 > 2 * PyLong_SHIFT) {
                            return (enum NetworKit::GraphReader::MultipleEdgesHandling) (((enum NetworKit::GraphReader::MultipleEdgesHandling)-1)*(((((enum NetworKit::GraphReader::MultipleEdgesHandling)digits[1]) << PyLong_SHIFT) | (enum NetworKit::GraphReader::MultipleEdgesHandling)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum NetworKit::GraphReader::MultipleEdgesHandling) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::GraphReader::MultipleEdgesHandling, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::GraphReader::MultipleEdgesHandling) - 1 > 2 * PyLong_SHIFT) {
                            return (enum NetworKit::GraphReader::MultipleEdgesHandling) ((((((enum NetworKit::GraphReader::MultipleEdgesHandling)digits[1]) << PyLong_SHIFT) | (enum NetworKit::GraphReader::MultipleEdgesHandling)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum NetworKit::GraphReader::MultipleEdgesHandling) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::GraphReader::MultipleEdgesHandling, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::GraphReader::MultipleEdgesHandling) - 1 > 3 * PyLong_SHIFT) {
                            return (enum NetworKit::GraphReader::MultipleEdgesHandling) (((enum NetworKit::GraphReader::MultipleEdgesHandling)-1)*(((((((enum NetworKit::GraphReader::MultipleEdgesHandling)digits[2]) << PyLong_SHIFT) | (enum NetworKit::GraphReader::MultipleEdgesHandling)digits[1]) << PyLong_SHIFT) | (enum NetworKit::GraphReader::MultipleEdgesHandling)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum NetworKit::GraphReader::MultipleEdgesHandling) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::GraphReader::MultipleEdgesHandling, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::GraphReader::MultipleEdgesHandling) - 1 > 3 * PyLong_SHIFT) {
                            return (enum NetworKit::GraphReader::MultipleEdgesHandling) ((((((((enum NetworKit::GraphReader::MultipleEdgesHandling)digits[2]) << PyLong_SHIFT) | (enum NetworKit::GraphReader::MultipleEdgesHandling)digits[1]) << PyLong_SHIFT) | (enum NetworKit::GraphReader::MultipleEdgesHandling)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum NetworKit::GraphReader::MultipleEdgesHandling) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::GraphReader::MultipleEdgesHandling, 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(enum NetworKit::GraphReader::MultipleEdgesHandling) - 1 > 4 * PyLong_SHIFT) {
                            return (enum NetworKit::GraphReader::MultipleEdgesHandling) (((enum NetworKit::GraphReader::MultipleEdgesHandling)-1)*(((((((((enum NetworKit::GraphReader::MultipleEdgesHandling)digits[3]) << PyLong_SHIFT) | (enum NetworKit::GraphReader::MultipleEdgesHandling)digits[2]) << PyLong_SHIFT) | (enum NetworKit::GraphReader::MultipleEdgesHandling)digits[1]) << PyLong_SHIFT) | (enum NetworKit::GraphReader::MultipleEdgesHandling)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum NetworKit::GraphReader::MultipleEdgesHandling) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::GraphReader::MultipleEdgesHandling, 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(enum NetworKit::GraphReader::MultipleEdgesHandling) - 1 > 4 * PyLong_SHIFT) {
                            return (enum NetworKit::GraphReader::MultipleEdgesHandling) ((((((((((enum NetworKit::GraphReader::MultipleEdgesHandling)digits[3]) << PyLong_SHIFT) | (enum NetworKit::GraphReader::MultipleEdgesHandling)digits[2]) << PyLong_SHIFT) | (enum NetworKit::GraphReader::MultipleEdgesHandling)digits[1]) << PyLong_SHIFT) | (enum NetworKit::GraphReader::MultipleEdgesHandling)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum NetworKit::GraphReader::MultipleEdgesHandling) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::GraphReader::MultipleEdgesHandling, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum NetworKit::GraphReader::MultipleEdgesHandling) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::GraphReader::MultipleEdgesHandling, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum NetworKit::GraphReader::MultipleEdgesHandling val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum NetworKit::GraphReader::MultipleEdgesHandling) -1;
        }
    } else {
        enum NetworKit::GraphReader::MultipleEdgesHandling val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum NetworKit::GraphReader::MultipleEdgesHandling) -1;
        val = __Pyx_PyInt_As_enum__NetworKit_3a__3a_GraphReader_3a__3a_MultipleEdgesHandling(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum NetworKit::GraphReader::MultipleEdgesHandling");
    return (enum NetworKit::GraphReader::MultipleEdgesHandling) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum NetworKit::GraphReader::MultipleEdgesHandling");
    return (enum NetworKit::GraphReader::MultipleEdgesHandling) -1;
}

/* CIntFromPy */
      static CYTHON_INLINE enum NetworKit::DiameterAlgo __Pyx_PyInt_As_enum__NetworKit_3a__3a_DiameterAlgo(PyObject *x) {
    const enum NetworKit::DiameterAlgo neg_one = (enum NetworKit::DiameterAlgo) ((enum NetworKit::DiameterAlgo) 0 - (enum NetworKit::DiameterAlgo) 1), const_zero = (enum NetworKit::DiameterAlgo) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(enum NetworKit::DiameterAlgo) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum NetworKit::DiameterAlgo, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum NetworKit::DiameterAlgo) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum NetworKit::DiameterAlgo) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum NetworKit::DiameterAlgo, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum NetworKit::DiameterAlgo) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::DiameterAlgo, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::DiameterAlgo) >= 2 * PyLong_SHIFT) {
                            return (enum NetworKit::DiameterAlgo) (((((enum NetworKit::DiameterAlgo)digits[1]) << PyLong_SHIFT) | (enum NetworKit::DiameterAlgo)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum NetworKit::DiameterAlgo) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::DiameterAlgo, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::DiameterAlgo) >= 3 * PyLong_SHIFT) {
                            return (enum NetworKit::DiameterAlgo) (((((((enum NetworKit::DiameterAlgo)digits[2]) << PyLong_SHIFT) | (enum NetworKit::DiameterAlgo)digits[1]) << PyLong_SHIFT) | (enum NetworKit::DiameterAlgo)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum NetworKit::DiameterAlgo) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::DiameterAlgo, 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(enum NetworKit::DiameterAlgo) >= 4 * PyLong_SHIFT) {
                            return (enum NetworKit::DiameterAlgo) (((((((((enum NetworKit::DiameterAlgo)digits[3]) << PyLong_SHIFT) | (enum NetworKit::DiameterAlgo)digits[2]) << PyLong_SHIFT) | (enum NetworKit::DiameterAlgo)digits[1]) << PyLong_SHIFT) | (enum NetworKit::DiameterAlgo)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 (enum NetworKit::DiameterAlgo) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum NetworKit::DiameterAlgo) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::DiameterAlgo, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum NetworKit::DiameterAlgo) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::DiameterAlgo, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum NetworKit::DiameterAlgo) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum NetworKit::DiameterAlgo, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum NetworKit::DiameterAlgo,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum NetworKit::DiameterAlgo) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::DiameterAlgo, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::DiameterAlgo) - 1 > 2 * PyLong_SHIFT) {
                            return (enum NetworKit::DiameterAlgo) (((enum NetworKit::DiameterAlgo)-1)*(((((enum NetworKit::DiameterAlgo)digits[1]) << PyLong_SHIFT) | (enum NetworKit::DiameterAlgo)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum NetworKit::DiameterAlgo) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::DiameterAlgo, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::DiameterAlgo) - 1 > 2 * PyLong_SHIFT) {
                            return (enum NetworKit::DiameterAlgo) ((((((enum NetworKit::DiameterAlgo)digits[1]) << PyLong_SHIFT) | (enum NetworKit::DiameterAlgo)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum NetworKit::DiameterAlgo) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::DiameterAlgo, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::DiameterAlgo) - 1 > 3 * PyLong_SHIFT) {
                            return (enum NetworKit::DiameterAlgo) (((enum NetworKit::DiameterAlgo)-1)*(((((((enum NetworKit::DiameterAlgo)digits[2]) << PyLong_SHIFT) | (enum NetworKit::DiameterAlgo)digits[1]) << PyLong_SHIFT) | (enum NetworKit::DiameterAlgo)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum NetworKit::DiameterAlgo) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::DiameterAlgo, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::DiameterAlgo) - 1 > 3 * PyLong_SHIFT) {
                            return (enum NetworKit::DiameterAlgo) ((((((((enum NetworKit::DiameterAlgo)digits[2]) << PyLong_SHIFT) | (enum NetworKit::DiameterAlgo)digits[1]) << PyLong_SHIFT) | (enum NetworKit::DiameterAlgo)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum NetworKit::DiameterAlgo) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::DiameterAlgo, 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(enum NetworKit::DiameterAlgo) - 1 > 4 * PyLong_SHIFT) {
                            return (enum NetworKit::DiameterAlgo) (((enum NetworKit::DiameterAlgo)-1)*(((((((((enum NetworKit::DiameterAlgo)digits[3]) << PyLong_SHIFT) | (enum NetworKit::DiameterAlgo)digits[2]) << PyLong_SHIFT) | (enum NetworKit::DiameterAlgo)digits[1]) << PyLong_SHIFT) | (enum NetworKit::DiameterAlgo)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum NetworKit::DiameterAlgo) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::DiameterAlgo, 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(enum NetworKit::DiameterAlgo) - 1 > 4 * PyLong_SHIFT) {
                            return (enum NetworKit::DiameterAlgo) ((((((((((enum NetworKit::DiameterAlgo)digits[3]) << PyLong_SHIFT) | (enum NetworKit::DiameterAlgo)digits[2]) << PyLong_SHIFT) | (enum NetworKit::DiameterAlgo)digits[1]) << PyLong_SHIFT) | (enum NetworKit::DiameterAlgo)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum NetworKit::DiameterAlgo) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::DiameterAlgo, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum NetworKit::DiameterAlgo) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::DiameterAlgo, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum NetworKit::DiameterAlgo val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum NetworKit::DiameterAlgo) -1;
        }
    } else {
        enum NetworKit::DiameterAlgo val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum NetworKit::DiameterAlgo) -1;
        val = __Pyx_PyInt_As_enum__NetworKit_3a__3a_DiameterAlgo(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum NetworKit::DiameterAlgo");
    return (enum NetworKit::DiameterAlgo) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum NetworKit::DiameterAlgo");
    return (enum NetworKit::DiameterAlgo) -1;
}

/* CIntFromPy */
      static CYTHON_INLINE enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy __Pyx_PyInt_As_enum__NetworKit_3a__3a_NeighborhoodFunctionHeuristic_3a__3a_SelectionStrategy(PyObject *x) {
    const enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy neg_one = (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) ((enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) 0 - (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) 1), const_zero = (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) >= 2 * PyLong_SHIFT) {
                            return (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) (((((enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[1]) << PyLong_SHIFT) | (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) >= 3 * PyLong_SHIFT) {
                            return (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) (((((((enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[2]) << PyLong_SHIFT) | (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[1]) << PyLong_SHIFT) | (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy, 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(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) >= 4 * PyLong_SHIFT) {
                            return (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) (((((((((enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[3]) << PyLong_SHIFT) | (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[2]) << PyLong_SHIFT) | (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[1]) << PyLong_SHIFT) | (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) - 1 > 2 * PyLong_SHIFT) {
                            return (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) (((enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)-1)*(((((enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[1]) << PyLong_SHIFT) | (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) - 1 > 2 * PyLong_SHIFT) {
                            return (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) ((((((enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[1]) << PyLong_SHIFT) | (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) - 1 > 3 * PyLong_SHIFT) {
                            return (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) (((enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)-1)*(((((((enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[2]) << PyLong_SHIFT) | (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[1]) << PyLong_SHIFT) | (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) - 1 > 3 * PyLong_SHIFT) {
                            return (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) ((((((((enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[2]) << PyLong_SHIFT) | (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[1]) << PyLong_SHIFT) | (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy, 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(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) - 1 > 4 * PyLong_SHIFT) {
                            return (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) (((enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)-1)*(((((((((enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[3]) << PyLong_SHIFT) | (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[2]) << PyLong_SHIFT) | (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[1]) << PyLong_SHIFT) | (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy, 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(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) - 1 > 4 * PyLong_SHIFT) {
                            return (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) ((((((((((enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[3]) << PyLong_SHIFT) | (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[2]) << PyLong_SHIFT) | (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[1]) << PyLong_SHIFT) | (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) -1;
        }
    } else {
        enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) -1;
        val = __Pyx_PyInt_As_enum__NetworKit_3a__3a_NeighborhoodFunctionHeuristic_3a__3a_SelectionStrategy(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy");
    return (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy");
    return (enum NetworKit::NeighborhoodFunctionHeuristic::SelectionStrategy) -1;
}

/* CIntFromPy */
      static CYTHON_INLINE enum NetworKit::ClosenessVariant __Pyx_PyInt_As_enum__NetworKit_3a__3a_ClosenessVariant(PyObject *x) {
    const enum NetworKit::ClosenessVariant neg_one = (enum NetworKit::ClosenessVariant) ((enum NetworKit::ClosenessVariant) 0 - (enum NetworKit::ClosenessVariant) 1), const_zero = (enum NetworKit::ClosenessVariant) 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(enum NetworKit::ClosenessVariant) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum NetworKit::ClosenessVariant, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum NetworKit::ClosenessVariant) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum NetworKit::ClosenessVariant) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum NetworKit::ClosenessVariant, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum NetworKit::ClosenessVariant) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::ClosenessVariant, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::ClosenessVariant) >= 2 * PyLong_SHIFT) {
                            return (enum NetworKit::ClosenessVariant) (((((enum NetworKit::ClosenessVariant)digits[1]) << PyLong_SHIFT) | (enum NetworKit::ClosenessVariant)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum NetworKit::ClosenessVariant) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::ClosenessVariant, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::ClosenessVariant) >= 3 * PyLong_SHIFT) {
                            return (enum NetworKit::ClosenessVariant) (((((((enum NetworKit::ClosenessVariant)digits[2]) << PyLong_SHIFT) | (enum NetworKit::ClosenessVariant)digits[1]) << PyLong_SHIFT) | (enum NetworKit::ClosenessVariant)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum NetworKit::ClosenessVariant) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::ClosenessVariant, 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(enum NetworKit::ClosenessVariant) >= 4 * PyLong_SHIFT) {
                            return (enum NetworKit::ClosenessVariant) (((((((((enum NetworKit::ClosenessVariant)digits[3]) << PyLong_SHIFT) | (enum NetworKit::ClosenessVariant)digits[2]) << PyLong_SHIFT) | (enum NetworKit::ClosenessVariant)digits[1]) << PyLong_SHIFT) | (enum NetworKit::ClosenessVariant)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            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 (enum NetworKit::ClosenessVariant) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum NetworKit::ClosenessVariant) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::ClosenessVariant, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum NetworKit::ClosenessVariant) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::ClosenessVariant, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum NetworKit::ClosenessVariant) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum NetworKit::ClosenessVariant, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum NetworKit::ClosenessVariant,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum NetworKit::ClosenessVariant) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::ClosenessVariant, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::ClosenessVariant) - 1 > 2 * PyLong_SHIFT) {
                            return (enum NetworKit::ClosenessVariant) (((enum NetworKit::ClosenessVariant)-1)*(((((enum NetworKit::ClosenessVariant)digits[1]) << PyLong_SHIFT) | (enum NetworKit::ClosenessVariant)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum NetworKit::ClosenessVariant) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::ClosenessVariant, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::ClosenessVariant) - 1 > 2 * PyLong_SHIFT) {
                            return (enum NetworKit::ClosenessVariant) ((((((enum NetworKit::ClosenessVariant)digits[1]) << PyLong_SHIFT) | (enum NetworKit::ClosenessVariant)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum NetworKit::ClosenessVariant) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::ClosenessVariant, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::ClosenessVariant) - 1 > 3 * PyLong_SHIFT) {
                            return (enum NetworKit::ClosenessVariant) (((enum NetworKit::ClosenessVariant)-1)*(((((((enum NetworKit::ClosenessVariant)digits[2]) << PyLong_SHIFT) | (enum NetworKit::ClosenessVariant)digits[1]) << PyLong_SHIFT) | (enum NetworKit::ClosenessVariant)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum NetworKit::ClosenessVariant) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::ClosenessVariant, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum NetworKit::ClosenessVariant) - 1 > 3 * PyLong_SHIFT) {
                            return (enum NetworKit::ClosenessVariant) ((((((((enum NetworKit::ClosenessVariant)digits[2]) << PyLong_SHIFT) | (enum NetworKit::ClosenessVariant)digits[1]) << PyLong_SHIFT) | (enum NetworKit::ClosenessVariant)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum NetworKit::ClosenessVariant) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::ClosenessVariant, 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(enum NetworKit::ClosenessVariant) - 1 > 4 * PyLong_SHIFT) {
                            return (enum NetworKit::ClosenessVariant) (((enum NetworKit::ClosenessVariant)-1)*(((((((((enum NetworKit::ClosenessVariant)digits[3]) << PyLong_SHIFT) | (enum NetworKit::ClosenessVariant)digits[2]) << PyLong_SHIFT) | (enum NetworKit::ClosenessVariant)digits[1]) << PyLong_SHIFT) | (enum NetworKit::ClosenessVariant)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum NetworKit::ClosenessVariant) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum NetworKit::ClosenessVariant, 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(enum NetworKit::ClosenessVariant) - 1 > 4 * PyLong_SHIFT) {
                            return (enum NetworKit::ClosenessVariant) ((((((((((enum NetworKit::ClosenessVariant)digits[3]) << PyLong_SHIFT) | (enum NetworKit::ClosenessVariant)digits[2]) << PyLong_SHIFT) | (enum NetworKit::ClosenessVariant)digits[1]) << PyLong_SHIFT) | (enum NetworKit::ClosenessVariant)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum NetworKit::ClosenessVariant) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::ClosenessVariant, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum NetworKit::ClosenessVariant) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum NetworKit::ClosenessVariant, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum NetworKit::ClosenessVariant val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum NetworKit::ClosenessVariant) -1;
        }
    } else {
        enum NetworKit::ClosenessVariant val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum NetworKit::ClosenessVariant) -1;
        val = __Pyx_PyInt_As_enum__NetworKit_3a__3a_ClosenessVariant(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum NetworKit::ClosenessVariant");
    return (enum NetworKit::ClosenessVariant) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum NetworKit::ClosenessVariant");
    return (enum NetworKit::ClosenessVariant) -1;
}

/* ImportNumPyArray */
      static PyObject* __Pyx__ImportNumPyArray(void) {
    PyObject *numpy_module, *ndarray_object = NULL;
    numpy_module = __Pyx_Import(__pyx_n_s_numpy, NULL, 0);
    if (likely(numpy_module)) {
        ndarray_object = PyObject_GetAttrString(numpy_module, "ndarray");
        Py_DECREF(numpy_module);
    }
    if (unlikely(!ndarray_object)) {
        PyErr_Clear();
    }
    if (unlikely(!ndarray_object || !PyObject_TypeCheck(ndarray_object, &PyType_Type))) {
        Py_XDECREF(ndarray_object);
        Py_INCREF(Py_None);
        ndarray_object = Py_None;
    }
    return ndarray_object;
}
static CYTHON_INLINE PyObject* __Pyx_ImportNumPyArrayTypeIfAvailable(void) {
    if (unlikely(!__pyx_numpy_ndarray)) {
        __pyx_numpy_ndarray = __Pyx__ImportNumPyArray();
    }
    Py_INCREF(__pyx_numpy_ndarray);
    return __pyx_numpy_ndarray;
}

/* FastTypeChecks */
      #if CYTHON_COMPILING_IN_CPYTHON
static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {
    while (a) {
        a = a->tp_base;
        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);
}
#if PY_MAJOR_VERSION == 2
static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) {
    PyObject *exception, *value, *tb;
    int res;
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ErrFetch(&exception, &value, &tb);
    res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0;
    if (unlikely(res == -1)) {
        PyErr_WriteUnraisable(err);
        res = 0;
    }
    if (!res) {
        res = PyObject_IsSubclass(err, exc_type2);
        if (unlikely(res == -1)) {
            PyErr_WriteUnraisable(err);
            res = 0;
        }
    }
    __Pyx_ErrRestore(exception, value, tb);
    return res;
}
#else
static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) {
    int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0;
    if (!res) {
        res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2);
    }
    return res;
}
#endif
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);
#if PY_MAJOR_VERSION >= 3
    for (i=0; i<n; i++) {
        if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
    }
#endif
    for (i=0; i<n; i++) {
        PyObject *t = PyTuple_GET_ITEM(tuple, i);
        #if PY_MAJOR_VERSION < 3
        if (likely(exc_type == t)) return 1;
        #endif
        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

/* PyObjectCallMethod1 */
      static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) {
    PyObject *result = __Pyx_PyObject_CallOneArg(method, arg);
    Py_DECREF(method);
    return result;
}
static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) {
    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);
}

/* CoroutineBase */
      #include <structmember.h>
#include <frameobject.h>
#define __Pyx_Coroutine_Undelegate(gen) Py_CLEAR((gen)->yieldfrom)
static int __Pyx_PyGen__FetchStopIterationValue(CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject **pvalue) {
    PyObject *et, *ev, *tb;
    PyObject *value = NULL;
    __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;
        }
#if PY_VERSION_HEX >= 0x030300A0
        else if (Py_TYPE(ev) == (PyTypeObject*)PyExc_StopIteration) {
            value = ((PyStopIterationObject *)ev)->value;
            Py_INCREF(value);
            Py_DECREF(ev);
        }
#endif
        else if (unlikely(PyTuple_Check(ev))) {
            if (PyTuple_GET_SIZE(ev) >= 1) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                value = PyTuple_GET_ITEM(ev, 0);
                Py_INCREF(value);
#else
                value = PySequence_ITEM(ev, 0);
#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 PY_VERSION_HEX >= 0x030300A0
    value = ((PyStopIterationObject *)ev)->value;
    Py_INCREF(value);
    Py_DECREF(ev);
#else
    {
        PyObject* args = __Pyx_PyObject_GetAttrStr(ev, __pyx_n_s_args);
        Py_DECREF(ev);
        if (likely(args)) {
            value = PySequence_GetItem(args, 0);
            Py_DECREF(args);
        }
        if (unlikely(!value)) {
            __Pyx_ErrRestore(NULL, NULL, NULL);
            Py_INCREF(Py_None);
            value = Py_None;
        }
    }
#endif
    *pvalue = value;
    return 0;
}
static CYTHON_INLINE
void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *exc_state) {
    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);
}
#define __Pyx_Coroutine_AlreadyRunningError(gen)  (__Pyx__Coroutine_AlreadyRunningError(gen), (PyObject*)NULL)
static void __Pyx__Coroutine_AlreadyRunningError(CYTHON_UNUSED __pyx_CoroutineObject *gen) {
    const char *msg;
    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);
}
#define __Pyx_Coroutine_NotStartedError(gen)  (__Pyx__Coroutine_NotStartedError(gen), (PyObject*)NULL)
static void __Pyx__Coroutine_NotStartedError(CYTHON_UNUSED PyObject *gen) {
    const char *msg;
    if ((0)) {
    #ifdef __Pyx_Coroutine_USED
    } else if (__Pyx_Coroutine_Check(gen)) {
        msg = "can't send non-None value to a just-started coroutine";
    #endif
    #ifdef __Pyx_AsyncGen_USED
    } else if (__Pyx_AsyncGen_CheckExact(gen)) {
        msg = "can't send non-None value to a just-started async generator";
    #endif
    } else {
        msg = "can't send non-None value to a just-started generator";
    }
    PyErr_SetString(PyExc_TypeError, msg);
}
#define __Pyx_Coroutine_AlreadyTerminatedError(gen, value, closing)  (__Pyx__Coroutine_AlreadyTerminatedError(gen, value, closing), (PyObject*)NULL)
static void __Pyx__Coroutine_AlreadyTerminatedError(CYTHON_UNUSED PyObject *gen, PyObject *value, CYTHON_UNUSED int 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(__Pyx_PyExc_StopAsyncIteration);
        else
        #endif
        PyErr_SetNone(PyExc_StopIteration);
    }
}
static
PyObject *__Pyx_Coroutine_SendEx(__pyx_CoroutineObject *self, PyObject *value, int closing) {
    __Pyx_PyThreadState_declare
    PyThreadState *tstate;
    __Pyx_ExcInfoStruct *exc_state;
    PyObject *retval;
    assert(!self->is_running);
    if (unlikely(self->resume_label == 0)) {
        if (unlikely(value && value != Py_None)) {
            return __Pyx_Coroutine_NotStartedError((PyObject*)self);
        }
    }
    if (unlikely(self->resume_label == -1)) {
        return __Pyx_Coroutine_AlreadyTerminatedError((PyObject*)self, value, closing);
    }
#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_type) {
        #if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_PYSTON
        #else
        if (exc_state->exc_traceback) {
            PyTracebackObject *tb = (PyTracebackObject *) exc_state->exc_traceback;
            PyFrameObject *f = tb->tb_frame;
            Py_XINCREF(tstate->frame);
            assert(f->f_back == NULL);
            f->f_back = tstate->frame;
        }
        #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
    self->is_running = 1;
    retval = self->body((PyObject *) self, tstate, value);
    self->is_running = 0;
#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
    return retval;
}
static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state) {
    PyObject *exc_tb = exc_state->exc_traceback;
    if (likely(exc_tb)) {
#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_PYSTON
#else
        PyTracebackObject *tb = (PyTracebackObject *) exc_tb;
        PyFrameObject *f = tb->tb_frame;
        Py_CLEAR(f->f_back);
#endif
    }
}
static CYTHON_INLINE
PyObject *__Pyx_Coroutine_MethodReturn(CYTHON_UNUSED PyObject* gen, PyObject *retval) {
    if (unlikely(!retval)) {
        __Pyx_PyThreadState_declare
        __Pyx_PyThreadState_assign
        if (!__Pyx_PyErr_Occurred()) {
            PyObject *exc = PyExc_StopIteration;
            #ifdef __Pyx_AsyncGen_USED
            if (__Pyx_AsyncGen_CheckExact(gen))
                exc = __Pyx_PyExc_StopAsyncIteration;
            #endif
            __Pyx_PyErr_SetNone(exc);
        }
    }
    return retval;
}
static CYTHON_INLINE
PyObject *__Pyx_Coroutine_FinishDelegation(__pyx_CoroutineObject *gen) {
    PyObject *ret;
    PyObject *val = NULL;
    __Pyx_Coroutine_Undelegate(gen);
    __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, &val);
    ret = __Pyx_Coroutine_SendEx(gen, val, 0);
    Py_XDECREF(val);
    return ret;
}
static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value) {
    PyObject *retval;
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self;
    PyObject *yf = gen->yieldfrom;
    if (unlikely(gen->is_running))
        return __Pyx_Coroutine_AlreadyRunningError(gen);
    if (yf) {
        PyObject *ret;
        gen->is_running = 1;
        #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 && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3)
        if (PyGen_CheckExact(yf)) {
            ret = _PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value);
        } else
        #endif
        #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03050000 && defined(PyCoro_CheckExact) && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3)
        if (PyCoro_CheckExact(yf)) {
            ret = _PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value);
        } else
        #endif
        {
            if (value == Py_None)
                ret = Py_TYPE(yf)->tp_iternext(yf);
            else
                ret = __Pyx_PyObject_CallMethod1(yf, __pyx_n_s_send, value);
        }
        gen->is_running = 0;
        if (likely(ret)) {
            return ret;
        }
        retval = __Pyx_Coroutine_FinishDelegation(gen);
    } else {
        retval = __Pyx_Coroutine_SendEx(gen, value, 0);
    }
    return __Pyx_Coroutine_MethodReturn(self, retval);
}
static int __Pyx_Coroutine_CloseIter(__pyx_CoroutineObject *gen, PyObject *yf) {
    PyObject *retval = NULL;
    int err = 0;
    #ifdef __Pyx_Generator_USED
    if (__Pyx_Generator_CheckExact(yf)) {
        retval = __Pyx_Coroutine_Close(yf);
        if (!retval)
            return -1;
    } else
    #endif
    #ifdef __Pyx_Coroutine_USED
    if (__Pyx_Coroutine_Check(yf)) {
        retval = __Pyx_Coroutine_Close(yf);
        if (!retval)
            return -1;
    } else
    if (__Pyx_CoroutineAwait_CheckExact(yf)) {
        retval = __Pyx_CoroutineAwait_Close((__pyx_CoroutineAwaitObject*)yf, NULL);
        if (!retval)
            return -1;
    } else
    #endif
    #ifdef __Pyx_AsyncGen_USED
    if (__pyx_PyAsyncGenASend_CheckExact(yf)) {
        retval = __Pyx_async_gen_asend_close(yf, NULL);
    } else
    if (__pyx_PyAsyncGenAThrow_CheckExact(yf)) {
        retval = __Pyx_async_gen_athrow_close(yf, NULL);
    } else
    #endif
    {
        PyObject *meth;
        gen->is_running = 1;
        meth = __Pyx_PyObject_GetAttrStr(yf, __pyx_n_s_close);
        if (unlikely(!meth)) {
            if (!PyErr_ExceptionMatches(PyExc_AttributeError)) {
                PyErr_WriteUnraisable(yf);
            }
            PyErr_Clear();
        } else {
            retval = PyObject_CallFunction(meth, NULL);
            Py_DECREF(meth);
            if (!retval)
                err = -1;
        }
        gen->is_running = 0;
    }
    Py_XDECREF(retval);
    return err;
}
static PyObject *__Pyx_Generator_Next(PyObject *self) {
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self;
    PyObject *yf = gen->yieldfrom;
    if (unlikely(gen->is_running))
        return __Pyx_Coroutine_AlreadyRunningError(gen);
    if (yf) {
        PyObject *ret;
        gen->is_running = 1;
        #ifdef __Pyx_Generator_USED
        if (__Pyx_Generator_CheckExact(yf)) {
            ret = __Pyx_Generator_Next(yf);
        } else
        #endif
        #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3)
        if (PyGen_CheckExact(yf)) {
            ret = _PyGen_Send((PyGenObject*)yf, NULL);
        } else
        #endif
        #ifdef __Pyx_Coroutine_USED
        if (__Pyx_Coroutine_Check(yf)) {
            ret = __Pyx_Coroutine_Send(yf, Py_None);
        } else
        #endif
            ret = Py_TYPE(yf)->tp_iternext(yf);
        gen->is_running = 0;
        if (likely(ret)) {
            return ret;
        }
        return __Pyx_Coroutine_FinishDelegation(gen);
    }
    return __Pyx_Coroutine_SendEx(gen, Py_None, 0);
}
static PyObject *__Pyx_Coroutine_Close_Method(PyObject *self, CYTHON_UNUSED PyObject *arg) {
    return __Pyx_Coroutine_Close(self);
}
static PyObject *__Pyx_Coroutine_Close(PyObject *self) {
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
    PyObject *retval, *raised_exception;
    PyObject *yf = gen->yieldfrom;
    int err = 0;
    if (unlikely(gen->is_running))
        return __Pyx_Coroutine_AlreadyRunningError(gen);
    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);
    retval = __Pyx_Coroutine_SendEx(gen, NULL, 1);
    if (unlikely(retval)) {
        const char *msg;
        Py_DECREF(retval);
        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)) {
#if PY_VERSION_HEX < 0x03060000
            msg = "async generator ignored GeneratorExit - might require Python 3.6+ finalisation (PEP 525)";
#else
            msg = "async generator ignored GeneratorExit";
#endif
        #endif
        } else {
            msg = "generator ignored GeneratorExit";
        }
        PyErr_SetString(PyExc_RuntimeError, msg);
        return NULL;
    }
    raised_exception = PyErr_Occurred();
    if (likely(!raised_exception || __Pyx_PyErr_GivenExceptionMatches2(raised_exception, PyExc_GeneratorExit, PyExc_StopIteration))) {
        if (raised_exception) PyErr_Clear();
        Py_INCREF(Py_None);
        return Py_None;
    }
    return NULL;
}
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 = gen->yieldfrom;
    if (unlikely(gen->is_running))
        return __Pyx_Coroutine_AlreadyRunningError(gen);
    if (yf) {
        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)
                return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0));
            goto throw_here;
        }
        gen->is_running = 1;
        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_GetAttrStr(yf, __pyx_n_s_throw);
            if (unlikely(!meth)) {
                Py_DECREF(yf);
                if (!PyErr_ExceptionMatches(PyExc_AttributeError)) {
                    gen->is_running = 0;
                    return NULL;
                }
                PyErr_Clear();
                __Pyx_Coroutine_Undelegate(gen);
                gen->is_running = 0;
                goto throw_here;
            }
            if (likely(args)) {
                ret = PyObject_CallObject(meth, args);
            } else {
                ret = PyObject_CallFunctionObjArgs(meth, typ, val, tb, NULL);
            }
            Py_DECREF(meth);
        }
        gen->is_running = 0;
        Py_DECREF(yf);
        if (!ret) {
            ret = __Pyx_Coroutine_FinishDelegation(gen);
        }
        return __Pyx_Coroutine_MethodReturn(self, ret);
    }
throw_here:
    __Pyx_Raise(typ, val, tb, NULL);
    return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0));
}
static PyObject *__Pyx_Coroutine_Throw(PyObject *self, PyObject *args) {
    PyObject *typ;
    PyObject *val = NULL;
    PyObject *tb = NULL;
    if (!PyArg_UnpackTuple(args, (char *)"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) {
    Py_VISIT(exc_state->exc_type);
    Py_VISIT(exc_state->exc_value);
    Py_VISIT(exc_state->exc_traceback);
    return 0;
}
static int __Pyx_Coroutine_traverse(__pyx_CoroutineObject *gen, visitproc visit, void *arg) {
    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);
    Py_CLEAR(gen->yieldfrom);
    __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_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 (gen->gi_weakreflist != NULL)
        PyObject_ClearWeakRefs(self);
    if (gen->resume_label >= 0) {
        PyObject_GC_Track(self);
#if PY_VERSION_HEX >= 0x030400a1 && CYTHON_USE_TP_FINALIZE
        if (PyObject_CallFinalizerFromDealloc(self))
#else
        Py_TYPE(gen)->tp_del(self);
        if (self->ob_refcnt > 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);
    PyObject_GC_Del(gen);
}
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;
    }
#if !CYTHON_USE_TP_FINALIZE
    assert(self->ob_refcnt == 0);
    self->ob_refcnt = 1;
#endif
    __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 PY_MAJOR_VERSION >= 3  || defined(PyErr_WarnFormat)
        if (unlikely(PyErr_WarnFormat(PyExc_RuntimeWarning, 1, "coroutine '%.50S' was never awaited", gen->gi_qualname) < 0))
            PyErr_WriteUnraisable(self);
#else
        {PyObject *msg;
        char *cmsg;
        #if CYTHON_COMPILING_IN_PYPY
        msg = NULL;
        cmsg = (char*) "coroutine was never awaited";
        #else
        char *cname;
        PyObject *qualname;
        qualname = gen->gi_qualname;
        cname = PyString_AS_STRING(qualname);
        msg = PyString_FromFormat("coroutine '%.50s' was never awaited", cname);
        if (unlikely(!msg)) {
            PyErr_Clear();
            cmsg = (char*) "coroutine was never awaited";
        } else {
            cmsg = PyString_AS_STRING(msg);
        }
        #endif
        if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, cmsg, 1) < 0))
            PyErr_WriteUnraisable(self);
        Py_XDECREF(msg);}
#endif
        PyObject_GC_Track(self);
        }
#endif
    } else {
        PyObject *res = __Pyx_Coroutine_Close(self);
        if (unlikely(!res)) {
            if (PyErr_Occurred())
                PyErr_WriteUnraisable(self);
        } else {
            Py_DECREF(res);
        }
    }
    __Pyx_ErrRestore(error_type, error_value, error_traceback);
#if !CYTHON_USE_TP_FINALIZE
    assert(self->ob_refcnt > 0);
    if (--self->ob_refcnt == 0) {
        return;
    }
    {
        Py_ssize_t refcnt = self->ob_refcnt;
        _Py_NewReference(self);
        self->ob_refcnt = refcnt;
    }
#if CYTHON_COMPILING_IN_CPYTHON
    assert(PyType_IS_GC(self->ob_type) &&
           _Py_AS_GC(self)->gc.gc_refs != _PyGC_REFS_UNTRACKED);
    _Py_DEC_REFTOTAL;
#endif
#ifdef COUNT_ALLOCS
    --Py_TYPE(self)->tp_frees;
    --Py_TYPE(self)->tp_allocs;
#endif
#endif
}
static PyObject *
__Pyx_Coroutine_get_name(__pyx_CoroutineObject *self, CYTHON_UNUSED void *context)
{
    PyObject *name = self->gi_name;
    if (unlikely(!name)) name = Py_None;
    Py_INCREF(name);
    return name;
}
static int
__Pyx_Coroutine_set_name(__pyx_CoroutineObject *self, PyObject *value, CYTHON_UNUSED void *context)
{
    PyObject *tmp;
#if PY_MAJOR_VERSION >= 3
    if (unlikely(value == NULL || !PyUnicode_Check(value)))
#else
    if (unlikely(value == NULL || !PyString_Check(value)))
#endif
    {
        PyErr_SetString(PyExc_TypeError,
                        "__name__ must be set to a string object");
        return -1;
    }
    tmp = self->gi_name;
    Py_INCREF(value);
    self->gi_name = value;
    Py_XDECREF(tmp);
    return 0;
}
static PyObject *
__Pyx_Coroutine_get_qualname(__pyx_CoroutineObject *self, CYTHON_UNUSED void *context)
{
    PyObject *name = self->gi_qualname;
    if (unlikely(!name)) name = Py_None;
    Py_INCREF(name);
    return name;
}
static int
__Pyx_Coroutine_set_qualname(__pyx_CoroutineObject *self, PyObject *value, CYTHON_UNUSED void *context)
{
    PyObject *tmp;
#if PY_MAJOR_VERSION >= 3
    if (unlikely(value == NULL || !PyUnicode_Check(value)))
#else
    if (unlikely(value == NULL || !PyString_Check(value)))
#endif
    {
        PyErr_SetString(PyExc_TypeError,
                        "__qualname__ must be set to a string object");
        return -1;
    }
    tmp = self->gi_qualname;
    Py_INCREF(value);
    self->gi_qualname = value;
    Py_XDECREF(tmp);
    return 0;
}
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->gi_exc_state.exc_type = NULL;
    gen->gi_exc_state.exc_value = NULL;
    gen->gi_exc_state.exc_traceback = NULL;
#if CYTHON_USE_EXC_INFO_STACK
    gen->gi_exc_state.previous_item = NULL;
#endif
    gen->gi_weakreflist = NULL;
    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;
    PyObject_GC_Track(gen);
    return gen;
}

/* PatchModuleWithCoroutine */
      static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code) {
#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
    int result;
    PyObject *globals, *result_obj;
    globals = PyDict_New();  if (unlikely(!globals)) goto ignore;
    result = PyDict_SetItemString(globals, "_cython_coroutine_type",
    #ifdef __Pyx_Coroutine_USED
        (PyObject*)__pyx_CoroutineType);
    #else
        Py_None);
    #endif
    if (unlikely(result < 0)) goto ignore;
    result = PyDict_SetItemString(globals, "_cython_generator_type",
    #ifdef __Pyx_Generator_USED
        (PyObject*)__pyx_GeneratorType);
    #else
        Py_None);
    #endif
    if (unlikely(result < 0)) goto ignore;
    if (unlikely(PyDict_SetItemString(globals, "_module", module) < 0)) goto ignore;
    if (unlikely(PyDict_SetItemString(globals, "__builtins__", __pyx_b) < 0)) goto ignore;
    result_obj = PyRun_String(py_code, Py_file_input, globals, globals);
    if (unlikely(!result_obj)) goto ignore;
    Py_DECREF(result_obj);
    Py_DECREF(globals);
    return module;
ignore:
    Py_XDECREF(globals);
    PyErr_WriteUnraisable(module);
    if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, "Cython module failed to patch module with custom type", 1) < 0)) {
        Py_DECREF(module);
        module = NULL;
    }
#else
    py_code++;
#endif
    return module;
}

/* PatchGeneratorABC */
      #ifndef CYTHON_REGISTER_ABCS
#define CYTHON_REGISTER_ABCS 1
#endif
#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
static PyObject* __Pyx_patch_abc_module(PyObject *module);
static PyObject* __Pyx_patch_abc_module(PyObject *module) {
    module = __Pyx_Coroutine_patch_module(
        module, ""
"if _cython_generator_type is not None:\n"
"    try: Generator = _module.Generator\n"
"    except AttributeError: pass\n"
"    else: Generator.register(_cython_generator_type)\n"
"if _cython_coroutine_type is not None:\n"
"    try: Coroutine = _module.Coroutine\n"
"    except AttributeError: pass\n"
"    else: Coroutine.register(_cython_coroutine_type)\n"
    );
    return module;
}
#endif
static int __Pyx_patch_abc(void) {
#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
    static int abc_patched = 0;
    if (CYTHON_REGISTER_ABCS && !abc_patched) {
        PyObject *module;
        module = PyImport_ImportModule((PY_MAJOR_VERSION >= 3) ? "collections.abc" : "collections");
        if (!module) {
            PyErr_WriteUnraisable(NULL);
            if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning,
                    ((PY_MAJOR_VERSION >= 3) ?
                        "Cython module failed to register with collections.abc module" :
                        "Cython module failed to register with collections module"), 1) < 0)) {
                return -1;
            }
        } else {
            module = __Pyx_patch_abc_module(module);
            abc_patched = 1;
            if (unlikely(!module))
                return -1;
            Py_DECREF(module);
        }
        module = PyImport_ImportModule("backports_abc");
        if (module) {
            module = __Pyx_patch_abc_module(module);
            Py_XDECREF(module);
        }
        if (!module) {
            PyErr_Clear();
        }
    }
#else
    if ((0)) __Pyx_Coroutine_patch_module(NULL, NULL);
#endif
    return 0;
}

/* Generator */
      static PyMethodDef __pyx_Generator_methods[] = {
    {"send", (PyCFunction) __Pyx_Coroutine_Send, METH_O,
     (char*) PyDoc_STR("send(arg) -> send 'arg' into generator,\nreturn next yielded value or raise StopIteration.")},
    {"throw", (PyCFunction) __Pyx_Coroutine_Throw, METH_VARARGS,
     (char*) 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,
     (char*) PyDoc_STR("close() -> raise GeneratorExit inside generator.")},
    {0, 0, 0, 0}
};
static PyMemberDef __pyx_Generator_memberlist[] = {
    {(char *) "gi_running", T_BOOL, offsetof(__pyx_CoroutineObject, is_running), READONLY, NULL},
    {(char*) "gi_yieldfrom", T_OBJECT, offsetof(__pyx_CoroutineObject, yieldfrom), READONLY,
     (char*) PyDoc_STR("object being iterated by 'yield from', or None")},
    {(char*) "gi_code", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_code), READONLY, NULL},
    {0, 0, 0, 0, 0}
};
static PyGetSetDef __pyx_Generator_getsets[] = {
    {(char *) "__name__", (getter)__Pyx_Coroutine_get_name, (setter)__Pyx_Coroutine_set_name,
     (char*) PyDoc_STR("name of the generator"), 0},
    {(char *) "__qualname__", (getter)__Pyx_Coroutine_get_qualname, (setter)__Pyx_Coroutine_set_qualname,
     (char*) PyDoc_STR("qualified name of the generator"), 0},
    {0, 0, 0, 0, 0}
};
static PyTypeObject __pyx_GeneratorType_type = {
    PyVarObject_HEAD_INIT(0, 0)
    "generator",
    sizeof(__pyx_CoroutineObject),
    0,
    (destructor) __Pyx_Coroutine_dealloc,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE,
    0,
    (traverseproc) __Pyx_Coroutine_traverse,
    0,
    0,
    offsetof(__pyx_CoroutineObject, gi_weakreflist),
    0,
    (iternextfunc) __Pyx_Generator_Next,
    __pyx_Generator_methods,
    __pyx_Generator_memberlist,
    __pyx_Generator_getsets,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
#if CYTHON_USE_TP_FINALIZE
    0,
#else
    __Pyx_Coroutine_del,
#endif
    0,
#if CYTHON_USE_TP_FINALIZE
    __Pyx_Coroutine_del,
#elif PY_VERSION_HEX >= 0x030400a1
    0,
#endif
#if PY_VERSION_HEX >= 0x030800b1
    0,
#endif
};
static int __pyx_Generator_init(void) {
    __pyx_GeneratorType_type.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
    __pyx_GeneratorType_type.tp_iter = PyObject_SelfIter;
    __pyx_GeneratorType = __Pyx_FetchCommonType(&__pyx_GeneratorType_type);
    if (unlikely(!__pyx_GeneratorType)) {
        return -1;
    }
    return 0;
}

/* CheckBinaryVersion */
      static int __Pyx_check_binary_version(void) {
    char ctversion[4], rtversion[4];
    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
        char message[200];
        PyOS_snprintf(message, sizeof(message),
                      "compiletime version %s of module '%.100s' "
                      "does not match runtime version %s",
                      ctversion, __Pyx_MODULE_NAME, rtversion);
        return PyErr_WarnEx(NULL, message, 1);
    }
    return 0;
}

/* InitStrings */
      static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
    while (t->p) {
        #if PY_MAJOR_VERSION < 3
        if (t->is_unicode) {
            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
        } else if (t->intern) {
            *t->p = PyString_InternFromString(t->s);
        } else {
            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
        }
        #else
        if (t->is_unicode | t->is_str) {
            if (t->intern) {
                *t->p = PyUnicode_InternFromString(t->s);
            } else if (t->encoding) {
                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
            } else {
                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
            }
        } else {
            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
        }
        #endif
        if (!*t->p)
            return -1;
        if (PyObject_Hash(*t->p) == -1)
            return -1;
        ++t;
    }
    return 0;
}

static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
    return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str));
}
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_DEFAULT
#if !CYTHON_PEP393_ENABLED
static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
    char* defenc_c;
    PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL);
    if (!defenc) return NULL;
    defenc_c = PyBytes_AS_STRING(defenc);
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
    {
        char* end = defenc_c + PyBytes_GET_SIZE(defenc);
        char* c;
        for (c = defenc_c; c < end; c++) {
            if ((unsigned char) (*c) >= 128) {
                PyUnicode_AsASCIIString(o);
                return NULL;
            }
        }
    }
#endif
    *length = PyBytes_GET_SIZE(defenc);
    return defenc_c;
}
#else
static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
    if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL;
#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_DEFAULT
    if (
#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
            __Pyx_sys_getdefaultencoding_not_ascii &&
#endif
            PyUnicode_Check(o)) {
        return __Pyx_PyUnicode_AsStringAndSize(o, length);
    } else
#endif
#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE))
    if (PyByteArray_Check(o)) {
        *length = PyByteArray_GET_SIZE(o);
        return PyByteArray_AS_STRING(o);
    } else
#endif
    {
        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_IntOrLongWrongResultType(PyObject* result, const char* type_name) {
#if PY_MAJOR_VERSION >= 3
    if (PyLong_Check(result)) {
        if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1,
                "__int__ returned non-int (type %.200s).  "
                "The ability to return an instance of a strict subclass of int "
                "is deprecated, and may be removed in a future version of Python.",
                Py_TYPE(result)->tp_name)) {
            Py_DECREF(result);
            return NULL;
        }
        return result;
    }
#endif
    PyErr_Format(PyExc_TypeError,
                 "__%.4s__ returned non-%.4s (type %.200s)",
                 type_name, type_name, Py_TYPE(result)->tp_name);
    Py_DECREF(result);
    return NULL;
}
static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {
#if CYTHON_USE_TYPE_SLOTS
  PyNumberMethods *m;
#endif
  const char *name = NULL;
  PyObject *res = NULL;
#if PY_MAJOR_VERSION < 3
  if (likely(PyInt_Check(x) || PyLong_Check(x)))
#else
  if (likely(PyLong_Check(x)))
#endif
    return __Pyx_NewRef(x);
#if CYTHON_USE_TYPE_SLOTS
  m = Py_TYPE(x)->tp_as_number;
  #if PY_MAJOR_VERSION < 3
  if (m && m->nb_int) {
    name = "int";
    res = m->nb_int(x);
  }
  else if (m && m->nb_long) {
    name = "long";
    res = m->nb_long(x);
  }
  #else
  if (likely(m && m->nb_int)) {
    name = "int";
    res = m->nb_int(x);
  }
  #endif
#else
  if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) {
    res = PyNumber_Int(x);
  }
#endif
  if (likely(res)) {
#if PY_MAJOR_VERSION < 3
    if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) {
#else
    if (unlikely(!PyLong_CheckExact(res))) {
#endif
        return __Pyx_PyNumber_IntOrLongWrongResultType(res, name);
    }
  }
  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 PY_MAJOR_VERSION < 3
  if (likely(PyInt_CheckExact(b))) {
    if (sizeof(Py_ssize_t) >= sizeof(long))
        return PyInt_AS_LONG(b);
    else
        return PyInt_AsSsize_t(b);
  }
#endif
  if (likely(PyLong_CheckExact(b))) {
    #if CYTHON_USE_PYLONG_INTERNALS
    const digit* digits = ((PyLongObject*)b)->ob_digit;
    const Py_ssize_t size = Py_SIZE(b);
    if (likely(__Pyx_sst_abs(size) <= 1)) {
        ival = likely(size) ? digits[0] : 0;
        if (size == -1) ival = -ival;
        return ival;
    } else {
      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 = PyInt_AsSsize_t(x);
  Py_DECREF(x);
  return ival;
}
static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) {
  return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False);
}
static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
    return PyInt_FromSize_t(ival);
}


#endif /* Py_PYTHON_H */
